for user_detail in user_details:
user_id = user_detail['user_id']
user_email = user_detail['email']
- print "hello_world"
- print user_id
# different significations of user_status
if user_detail['status'] == 0:
user_status = 'Disabled'
for user_detail in user_details:
user_id = user_detail['user_id']
user_email = user_detail['email']
-
+
account_query = Query().get('local:account').filter_by('user_id', '==', user_id).select('user_id','platform_id','auth_type','config')
account_details = execute_admin_query(request, account_query)
if 'add_'+platform_detail['platform'] in request.POST:
platform_id = platform_detail['platform_id']
user_params = {'platform_id': platform_id, 'user_id': user_id, 'auth_type': "reference", 'config': '{"reference_platform": "myslice"}'}
- manifold_add_account(request,user_params)
+ manifold_add_account(request, user_params)
messages.info(request, 'Reference Account is added to the selected platform successfully!')
return HttpResponseRedirect(redirect_url)
if 'delete_'+platform_detail['platform'] in request.POST:
platform_id = platform_detail['platform_id']
user_params = {'user_id':user_id}
- manifold_delete_account(request,platform_id,user_params)
+ manifold_delete_account(request, platform_id, user_id, user_params)
messages.info(request, 'Refeence Account is removed from the selected platform')
return HttpResponseRedirect(redirect_url)
messages.success(request, 'Sucess: First Name and Last Name Updated.')
return HttpResponseRedirect(redirect_url)
- #elif 'submit_pass' in request.POST:
- # edited_password = request.POST['password']
- #
- # 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)
-# # return HttpResponse('Success: Password Changed!!')
- # messages.success(request, 'Sucess: Password Updated.')
- # return HttpResponseRedirect("/portal/account/")
+ elif 'submit_auth' in request.POST:
+ edited_auth = request.POST['authority']
+
+ config={}
+ for user_config in user_details:
+ if user_config['config']:
+ config = json.loads(user_config['config'])
+ config['firstname'] = config.get('firstname', 'N/A')
+ config['lastname'] = config.get('lastname','N/A')
+ config['authority'] = edited_auth
+ updated_config = json.dumps(config)
+ user_params = {'config': updated_config}
+ else: # it's needed if the config is empty
+ user_config['config']= '{"firstname": "N/A", "lastname":"N/A", "authority":"' + edited_auth + '"}'
+ user_params = {'config': user_config['config']}
+ # updating config local:user in manifold
+ manifold_update_user(request, user_email, user_params)
+ # this will be depricated, we will show the success msg in same page
+ # Redirect to same page with success message
+ messages.success(request, 'Sucess: Authority Updated.')
+ return HttpResponseRedirect(redirect_url)
# XXX TODO: Factorize with portal/registrationview.py
updated_config = json.dumps(account_config)
# updating manifold
user_params = { 'config': keypair, 'auth_type':'managed'}
- manifold_update_account(request,user_params)
+ manifold_update_account(request, user_id, user_params)
# updating sfa
- public_key = public_key.replace('"', '');
- user_pub_key = {'keys': public_key}
- sfa_update_user(request, user_hrn, user_pub_key)
+ #public_key = public_key.replace('"', '');
+ #user_pub_key = {'keys': public_key}
+ #sfa_update_user(request, user_hrn, user_pub_key)
messages.success(request, 'Sucess: New Keypair Generated! Delegation of your credentials will be automatic.')
return HttpResponseRedirect(redirect_url)
else:
file_content = ''.join(file_content.split())
#update manifold local:account table
user_params = { 'config': file_content, 'auth_type':'user'}
- manifold_update_account(request,user_params)
+ manifold_update_account(request,user_id,user_params)
# updating sfa
- user_pub_key = {'keys': file_content}
- sfa_update_user(request, user_hrn, user_pub_key)
+ #user_pub_key = {'keys': file_content}
+ #sfa_update_user(request, user_hrn, user_pub_key)
messages.success(request, 'Publickey uploaded! Please delegate your credentials using SFA: http://trac.myslice.info/wiki/DelegatingCredentials')
- return HttpResponseRedirect("/portal/account/")
+ return HttpResponseRedirect(redirect_url)
else:
messages.error(request, 'RSA key error: Please upload a valid RSA public key [.txt or .pub].')
return HttpResponseRedirect(redirect_url)
messages.error(request, 'Account error: You need an account in myslice platform to perform this action')
return HttpResponseRedirect("/portal/account/")
- elif 'delete' in request.POST:
- for account_detail in account_details:
- for platform_detail in platform_details:
- if platform_detail['platform_id'] == account_detail['platform_id']:
- if 'myslice' in platform_detail['platform']:
- account_config = json.loads(account_detail['config'])
- if 'user_private_key' in account_config:
- for key in account_config.keys():
- if key == 'user_private_key':
- del account_config[key]
-
- updated_config = json.dumps(account_config)
- user_params = { 'config': updated_config, 'auth_type':'user'}
- manifold_update_account(request,user_params)
- messages.success(request, 'Private Key deleted. You need to delegate credentials manually once it expires.')
- messages.success(request, 'Once your credentials expire, Please delegate manually using SFA: http://trac.myslice.info/wiki/DelegatingCredentials')
- return HttpResponseRedirect("/portal/account/")
- else:
- messages.error(request, 'Delete error: Private key is not stored in the server')
- return HttpResponseRedirect(redirect_url)
-
- else:
- messages.error(request, 'Account error: You need an account in myslice platform to perform this action')
- return HttpResponseRedirect(redirect_url)
+# elif 'delete' in request.POST:
+# for account_detail in account_details:
+# for platform_detail in platform_details:
+# if platform_detail['platform_id'] == account_detail['platform_id']:
+# if 'myslice' in platform_detail['platform']:
+# account_config = json.loads(account_detail['config'])
+# if 'user_private_key' in account_config:
+# for key in account_config.keys():
+# if key == 'user_private_key':
+# del account_config[key]
+#
+# updated_config = json.dumps(account_config)
+# user_params = { 'config': updated_config, 'auth_type':'user'}
+# manifold_update_account(request,user_params)
+# messages.success(request, 'Private Key deleted. You need to delegate credentials manually once it expires.')
+# messages.success(request, 'Once your credentials expire, Please delegate manually using SFA: http://trac.myslice.info/wiki/DelegatingCredentials')
+# return HttpResponseRedirect("/portal/account/")
+# else:
+# messages.error(request, 'Delete error: Private key is not stored in the server')
+# return HttpResponseRedirect(redirect_url)
+#
+# else:
+# messages.error(request, 'Account error: You need an account in myslice platform to perform this action')
+# return HttpResponseRedirect(redirect_url)
#clear all creds
elif 'clear_cred' in request.POST:
user_priv_key = json.dumps(account_config.get('user_private_key','N/A'))
updated_config = '{"user_public_key":'+ user_pub_key + ', "user_private_key":'+ user_priv_key + ', "user_hrn":"'+ user_hrn + '"}'
user_params = { 'config': updated_config}
- manifold_update_account(request,user_params)
+ manifold_update_account(request, user_id,user_params)
messages.success(request, 'All Credentials cleared')
return HttpResponseRedirect("/portal/account/")
else: