@login_required
#my_acc form value processing
-def user_process(request):
- user_query = Query().get('local:user').select('user_id','email','password','config')
- user_details = execute_query(request, user_query)
+def user_process(request, **kwargs):
+
+ for key, value in kwargs.iteritems():
+ if key == "email":
+ selected_email=value
+ print "yasin"
+ print selected_email
+
+ user_query = Query().get('local:user').filter_by('email', '==', selected_email).select('user_id','email','password','config')
+ user_details = execute_admin_query(request, user_query)
+
+ # getting the user_id from the session
+ for user_detail in user_details:
+ user_id = user_detail['user_id']
- account_query = Query().get('local:account').select('user_id','platform_id','auth_type','config')
- account_details = execute_query(request, account_query)
+ 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)
platform_query = Query().get('local:platform').select('platform_id','platform')
- platform_details = execute_query(request, platform_query)
+ platform_details = execute_admin_query(request, platform_query)
# getting the user_id from the session
for user_detail in user_details:
user_id = user_detail['user_id']
+ user_email = user_detail['email']
+
+ redirect_url = "/portal/user/"+selected_email
for account_detail in account_details:
for platform_detail in platform_details:
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/")
+ return HttpResponseRedirect(redirect_url)
# Delete reference account from the platforms
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)
- messages.info(request, 'Reference Account is removed from the selected platform')
- return HttpResponseRedirect("/portal/account/")
+ messages.info(request, 'Refeence Account is removed from the selected platform')
+ return HttpResponseRedirect(redirect_url)
if platform_detail['platform_id'] == account_detail['platform_id']:
if 'myslice' in platform_detail['platform']:
user_config['config']= '{"firstname":"' + edited_first_name + '", "lastname":"'+ edited_last_name + '", "authority": "Unknown Authority"}'
user_params = {'config': user_config['config']}
# updating config local:user in manifold
- manifold_update_user(request, request.user.email,user_params)
+ 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: First Name and Last Name Updated.')
- return HttpResponseRedirect("/portal/account/")
+ 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_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/")
# XXX TODO: Factorize with portal/registrationview.py
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("/portal/account/")
+ return HttpResponseRedirect(redirect_url)
else:
messages.error(request, 'Account error: You need an account in myslice platform to perform this action')
- return HttpResponseRedirect("/portal/account/")
+ return HttpResponseRedirect(redirect_url)
elif 'upload_key' in request.POST:
for account_detail in account_details:
return HttpResponseRedirect("/portal/account/")
else:
messages.error(request, 'RSA key error: Please upload a valid RSA public key [.txt or .pub].')
- return HttpResponseRedirect("/portal/account/")
+ return HttpResponseRedirect(redirect_url)
else:
messages.error(request, 'Account error: You need an account in myslice platform to perform this action')
return HttpResponseRedirect("/portal/account/")
break
else:
messages.error(request, 'Account error: You need an account in myslice platform to perform this action')
- return HttpResponseRedirect("/portal/account/")
+ return HttpResponseRedirect(redirect_url)
elif 'dl_pkey' in request.POST:
for account_detail in account_details:
return response
else:
messages.error(request, 'Download error: Private key is not stored in the server')
- return HttpResponseRedirect("/portal/account/")
+ return HttpResponseRedirect(redirect_url)
else:
messages.error(request, 'Account error: You need an account in myslice platform to perform this action')
return HttpResponseRedirect("/portal/account/")
else:
messages.error(request, 'Delete error: Private key is not stored in the server')
- return HttpResponseRedirect("/portal/account/")
+ return HttpResponseRedirect(redirect_url)
else:
messages.error(request, 'Account error: You need an account in myslice platform to perform this action')
- return HttpResponseRedirect("/portal/account/")
+ return HttpResponseRedirect(redirect_url)
#clear all creds
elif 'clear_cred' in request.POST:
return HttpResponseRedirect("/portal/account/")
else:
messages.error(request, 'Delete error: Credentials are not stored in the server')
- return HttpResponseRedirect("/portal/account/")
+ return HttpResponseRedirect(redirect_url)
else:
messages.error(request, 'Account error: You need an account in myslice platform to perform this action')
- return HttpResponseRedirect("/portal/account/")
+ return HttpResponseRedirect(redirect_url)
# Download delegated_user_cred
return response
else:
messages.error(request, 'Download error: User credential is not stored in the server')
- return HttpResponseRedirect("/portal/account/")
+ return HttpResponseRedirect(redirect_url)
else:
messages.info(request, 'Under Construction. Please try again later!')
- return HttpResponseRedirect("/portal/account/")
+ return HttpResponseRedirect(redirect_url)
jQuery("#span_pass").hide();
jQuery("#edit_pass").show();
jQuery("#passval").show();
- jQuery("#span_aff").hide();
- jQuery("#edit_aff").show();
- jQuery("#affval").show();
+ jQuery("#span_auth").hide();
+ jQuery("#edit_auth").show();
+ jQuery("#authval").show();
jQuery("#span_email").hide();
jQuery("#edit_email").show();
jQuery("#emailval").show();
jQuery("#span_name").hide();
jQuery("#edit_name").show();
jQuery("#nameval").show();
- jQuery("#span_aff").hide();
- jQuery("#edit_aff").show();
- jQuery("#affval").show();
+ jQuery("#span_auth").hide();
+ jQuery("#edit_aauth").show();
+ jQuery("#authval").show();
jQuery("#span_email").hide();
jQuery("#edit_email").show();
jQuery("#emailval").show();
}
}
});
- //edit affiliation
- jQuery("#edit_aff").click(function(){
+ //edit authority
+ jQuery("#edit_auth").click(function(){
- jQuery("#span_aff").show();
- jQuery("#affval").hide();
- jQuery("#edit_aff").hide();
+ jQuery("#span_auth").show();
+ jQuery("#authval").hide();
+ jQuery("#edit_auth").hide();
// enforcing when one edit is clicked the rest will not work at same time
jQuery("#span_pass").hide();
jQuery("#edit_pass").show();
jQuery("#dl_file").show();
jQuery("#upload_file").show();
});
- jQuery("#cancel_aff_change").click(function(){
+ jQuery("#cancel_auth_change").click(function(){
- jQuery("#span_aff").hide();
- jQuery("#affval").show();
- jQuery("#edit_aff").show();
+ jQuery("#span_auth").hide();
+ jQuery("#authval").show();
+ jQuery("#edit_auth").show();
});
//edit email
- /* edit email will be done by PI if needed
+ //edit email will be done by PI if needed
jQuery("#edit_email").click(function(){
jQuery("#span_email").show();
jQuery("#span_pass").hide();
jQuery("#edit_pass").show();
jQuery("#passval").show();
- jQuery("#span_aff").hide();
- jQuery("#edit_aff").show();
- jQuery("#affval").show();
+ jQuery("#span_auth").hide();
+ jQuery("#edit_auth").show();
+ jQuery("#authval").show();
jQuery("#span_name").hide();
jQuery("#edit_name").show();
jQuery("#nameval").show();
jQuery("#span_email").hide();
jQuery("#emailval").show();
jQuery("#edit_email").show();
- }); */
+ });
//upload pub keys
jQuery("#upload_file").click(function(){
jQuery("#span_pass").hide();
jQuery("#edit_pass").show();
jQuery("#passval").show();
- jQuery("#span_aff").hide();
- jQuery("#edit_aff").show();
- jQuery("#affval").show();
+ jQuery("#span_auth").hide();
+ jQuery("#edit_auth").show();
+ jQuery("#authval").show();
jQuery("#span_email").hide();
jQuery("#edit_email").show();
jQuery("#emailval").show();
{% endif %}
-<form id="editForm" method="POST" action="account_process" enctype="multipart/form-data">
+<form id="editForm" method="POST" action="{{user_email}}/user_process" enctype="multipart/form-data">
<div id="middle" align="center">
<div class="well">
{% csrf_token %}
<div id="info">Platform: Myslice</div>
</td>
</tr>
- <tr class="even">
- <td class="key">Email</td>
- <td class="value">
- <span id="emailval" class="value" >{{ user_email }}</span>
- <button class="btn btn-default btn-xs" type="button" id="edit_email" title="To change your affiliation please contact the administrator">
- <span class="glyphicon glyphicon-edit"></span> Edit
- </button>
- </td>
- </tr>
+ <tr class="odd">
+ <td class="key">Email</td>
+ <td class="value">
+ <span id="emailval" class="value" >{{ user_email }} </span>
+ <span class="hide_this" id="span_email">
+ <button type="button" class="btn btn-default btn-xs" title="Cancel" id="cancel_email_change"> Cancel </button>
+ <div style='display:none;'><input type='hidden' name='emailform' /></div>
+ <input id="email" type="text" name="email" class="required" maxlength="200" value="{{user_email}}" />
+ <input type="submit" class="btn btn-default btn-xs" name="submit_email" value="Save"/>
+ </span>
+ <button class="btn btn-default btn-xs" type="button"title="email" id="edit_email">
+ <span class="glyphicon glyphicon-edit"></span> Edit
+ </button>
+ </td>
+ </tr>
<tr class="even">
<td class="key">Full Name</td>
<td class="value">
</button>
</td>
</tr>
- <tr class="odd">
- <td class="key">Authority</td>
- <td class="value">
- <span id="affval" class="value">{{ authority }}</span>
- <button class="btn btn-default btn-xs" type="button" id="edit_auth" title="To change your authority please contact the administrator">
- <span class="glyphicon glyphicon-edit"></span> Edit
- </button>
- </td>
- </tr>
+ <tr class="odd">
+ <td class="key">Authority</td>
+ <td class="value">
+ <span id="authval" class="value" >{{ authority }} </span>
+ <span class="hide_this" id="span_auth">
+ <button type="button" class="btn btn-default btn-xs" title="Cancel" id="cancel_auth_change"> Cancel </button>
+ <div style='display:none;'><input type='hidden' name='authform' /></div>
+ <input id="authority" type="text" name="authority" class="required" maxlength="200" value="{{authority}}" />
+ <input type="submit" class="btn btn-default btn-xs" name="submit_auth" value="Save"/>
+ </span>
+ <button class="btn btn-default btn-xs" type="button"title="auth" id="edit_auth">
+ <span class="glyphicon glyphicon-edit"></span> Edit
+ </button>
+ </td>
+ </tr>
<tr class="even">
<td class="key">Generate Keys</td>
<td>