X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Faccountview.py;h=ffed13f96588d711cb68fca9775819e3944ac6ff;hb=8cd0d0762c9a12848bbbaa352e1eb0e5f5653743;hp=20fbe55aa9895be5c2816ca086d8f26e1593fdea;hpb=6df317a72253c8f590630a331a4576784959d3e9;p=unfold.git diff --git a/portal/accountview.py b/portal/accountview.py index 20fbe55a..ffed13f9 100644 --- a/portal/accountview.py +++ b/portal/accountview.py @@ -38,7 +38,8 @@ class AccountView(LoginRequiredAutoLogoutView, ThemeView): metadata = page.get_metadata() page.expose_js_metadata() - page.add_js_files ( [ "js/jquery.validate.js", "js/my_account.register.js", "js/my_account.edit_profile.js","js/jquery-ui.js" ] ) + page.add_js_files ( [ "js/jquery.validate.js", "js/my_account.register.js", + "js/my_account.edit_profile.js","js/jquery-ui.js" ] ) page.add_css_files ( [ "css/onelab.css", "css/account_view.css","css/plugin.css" ] ) # Execute a Query to delegate credentials if necessary @@ -178,8 +179,13 @@ class AccountView(LoginRequiredAutoLogoutView, ThemeView): pub_key_list.append(account_pub_key) user_status_list.append(user_status) # combining 5 lists into 1 [to render in the template] - principal_acc_list = [{'platform_name': t[0], 'account_type': t[1], 'delegation_type': t[2], 'usr_hrn':t[3], 'usr_pubkey':t[4], 'user_status':t[5],} - for t in zip(platform_name_list, account_type_list, delegation_type_list, usr_hrn_list, pub_key_list, user_status_list)] + principal_acc_list = [ + {'platform_name' : pn, 'account_type' : at, + 'delegation_type' : dt, 'usr_hrn' : uh, + 'usr_pubkey' : up, 'user_status' : us,} + for pn, at, dt, uh, up, us in zip(platform_name_list, account_type_list, delegation_type_list, + usr_hrn_list, pub_key_list, user_status_list) + ] # to hide private key row if it doesn't exist if 'myslice' in platform_detail['platform']: account_config = json.loads(account_detail['config']) @@ -195,25 +201,6 @@ class AccountView(LoginRequiredAutoLogoutView, ThemeView): platform_list = [{'platform_no_access': t[0]} for t in itertools.izip_longest(total_platform_list)] - - ## check user is pi or not - # platform_query = Query().get('local:platform').select('platform_id','platform','gateway_type','disabled') - # account_query = Query().get('local:account').select('user_id','platform_id','auth_type','config') - # platform_details = execute_query(self.request, platform_query) - # account_details = execute_query(self.request, account_query) - # for platform_detail in platform_details: - # for account_detail in account_details: - # if platform_detail['platform_id'] == account_detail['platform_id']: - # if 'config' in account_detail and account_detail['config'] is not '': - # account_config = json.loads(account_detail['config']) - # if 'myslice' in platform_detail['platform']: - # acc_auth_cred = account_config.get('delegated_authority_credentials','N/A') - # assigning values - if acc_auth_cred == {} or acc_auth_cred == 'N/A': - pi = "is_not_pi" - else: - pi = "is_pi" - # check if the user has creds or not if acc_user_cred == {} or acc_user_cred == 'N/A': user_cred = 'no_creds' @@ -229,7 +216,6 @@ class AccountView(LoginRequiredAutoLogoutView, ThemeView): context['ref_acc'] = ref_acc_list context['platform_list'] = platform_list context['my_users'] = my_users - context['pi'] = pi context['user_cred'] = user_cred context['my_slices'] = my_slices context['my_auths'] = my_auths @@ -251,6 +237,9 @@ class AccountView(LoginRequiredAutoLogoutView, ThemeView): context['theme'] = self.theme context['section'] = "User account" # context ['firstname'] = config['firstname'] + + context['request'] = self.request + prelude_env = page.prelude_env() context.update(prelude_env) return context @@ -286,15 +275,19 @@ def account_process(request): for account_detail in account_details: for platform_detail in platform_details: # Add reference account to the platforms - if 'add_'+platform_detail['platform'] in request.POST or request.POST['button_value'] == 'add_'+platform_detail['platform']: + if 'add_'+platform_detail['platform'] in request.POST\ + or request.POST['button_value'] == 'add_'+platform_detail['platform']: platform_id = platform_detail['platform_id'] - user_params = {'platform_id': platform_id, 'user_id': user_id, 'auth_type': "reference", 'config': '{"reference_platform": "myslice"}'} + user_params = {'platform_id': platform_id, 'user_id': user_id, + 'auth_type': "reference", + 'config': '{"reference_platform": "myslice"}'} manifold_add_account(request,user_params) messages.info(request, 'Reference Account is added to the selected platform successfully!') return HttpResponseRedirect("/portal/account/") # Delete reference account from the platforms - if 'delete_'+platform_detail['platform'] in request.POST or request.POST['button_value'] == 'delete_'+platform_detail['platform']: + if 'delete_'+platform_detail['platform'] in request.POST\ + or request.POST['button_value'] == 'delete_'+platform_detail['platform']: platform_id = platform_detail['platform_id'] user_params = {'user_id':user_id} manifold_delete_account(request,platform_id, user_id, user_params) @@ -356,7 +349,8 @@ def account_process(request): updated_config = json.dumps(config) user_params = {'config': updated_config} else: # it's needed if the config is empty - user_config['config']= '{"firstname":"' + edited_first_name + '", "lastname":"'+ edited_last_name + '", "authority": "Unknown Authority"}' + user_config['config'] = '{{"firstname":"{}", "lastname":"{}", "authority": "Unknown Authority"}}'\ + .format(edited_first_name, edited_last_name) user_params = {'config': user_config['config']} # updating config local:user in manifold manifold_update_user(request, request.user.email,user_params) @@ -371,10 +365,10 @@ def account_process(request): for user_pass in user_details: user_pass['password'] = edited_password #updating password in local:user - user_params = { 'password': user_pass['password']} - manifold_update_user(request,request.user.email,user_params) + user_params = { 'password' : user_pass['password']} + manifold_update_user(request, request.user.email, user_params) # return HttpResponse('Success: Password Changed!!') - messages.success(request, 'Sucess: Password Updated.') + messages.success(request, 'Success: Password Updated.') return HttpResponseRedirect("/portal/account/") # XXX TODO: Factorize with portal/registrationview.py @@ -494,7 +488,7 @@ def account_process(request): else: messages.error(request, 'Delete error: Private key is not stored in the server') return HttpResponseRedirect("/portal/account/") - + except Exception as e: messages.error(request, 'Account error: You need an account in myslice platform to perform this action') return HttpResponseRedirect("/portal/account/")