X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Faccountview.py;h=30e0b9a416e8078760ba8965aee1e78fe38ad5a9;hb=0c6e0197da94e834beb0d6b8e9b46011efa4e1a5;hp=5f7a3960fe9162a152e7c675594cc77fa50f65b7;hpb=6a8cd8d5f11411cdb4bf2510c9be5fd60d72cb50;p=myslice.git diff --git a/portal/accountview.py b/portal/accountview.py index 5f7a3960..30e0b9a4 100644 --- a/portal/accountview.py +++ b/portal/accountview.py @@ -1,14 +1,16 @@ from portal.templateviews import LoginRequiredAutoLogoutView # from manifold.core.query import Query -from manifold.manifoldapi import execute_query -from portal.actions import manifold_update_user +from manifold.manifoldapi import execute_query +from portal.actions import manifold_update_user, manifold_update_account # -from myslice.viewutils import topmenu_items, the_user +from myslice.viewutils import topmenu_items, the_user # -from django.http import HttpResponse -from django.contrib.auth.decorators import login_required -import json +from django.http import HttpResponse, HttpResponseRedirect +from django.contrib import messages +from django.contrib.auth.decorators import login_required +# +import json, os, re # requires login class AccountView(LoginRequiredAutoLogoutView): @@ -113,7 +115,10 @@ def account_process(request): #user_params = { 'config': updated_config} manifold_update_user(request,user_params) # this will be depricated, we will show the success msg in same page - return HttpResponse('Sucess: First Name and Last Name Updated!') +# return HttpResponse('Sucess: First Name and Last Name Updated!') + # Redirect to same page with success message + messages.success(request, 'Sucess: First Name and Last Name Updated.') + return HttpResponseRedirect("/portal/account/") elif 'submit_pass' in request.POST: edited_password = request.POST['password'] @@ -122,8 +127,10 @@ def account_process(request): #updating password in local:user user_params = { 'password': user_pass['password']} manifold_update_user(request,user_params) +# return HttpResponse('Success: Password Changed!!') + messages.success(request, 'Sucess: Password Updated.') + return HttpResponseRedirect("/portal/account/") - return HttpResponse('Success: Password Changed!!') elif 'generate' in request.POST: # Generate public and private keys using SFA Library from sfa.trust.certificate import Keypair @@ -138,9 +145,11 @@ def account_process(request): # keypair = re.sub("\n", "\\n", keypair) # #keypair = keypair.rstrip('\r\n') # keypair = ''.join(keypair.split()) - get_user.keypair = keypair - get_user.save() - return HttpResponse('Success: New Keypair Generated! %s' % keypair) + user_params = { 'config': keypair, 'auth_type':'managed'} + manifold_update_account(request,user_params) +# return HttpResponse('Success: New Keypair Generated!') + messages.success(request, 'Sucess: New Keypair Generated!') + return HttpResponseRedirect("/portal/account/") elif 'upload_key' in request.POST: up_file = request.FILES['pubkey'] @@ -150,15 +159,23 @@ def account_process(request): allowed_extension = ['.pub','.txt'] if file_extension in allowed_extension and re.search(r'ssh-rsa',file_content): file_content = '{"user_public_key":"'+ file_content +'"}' - file_content = re.sub("\r", "", file_content) - file_content = re.sub("\n", "\\n",file_content) + #file_content = re.sub("\r", "", file_content) + #file_content = re.sub("\n", "\\n",file_content) file_content = ''.join(file_content.split()) - get_user.keypair = file_content - get_user.save() - return HttpResponse('Success: Publickey uploaded! Old records overwritten') + # update manifold account table + user_params = { 'config': file_content, 'auth_type':'user'} + manifold_update_account(request,user_params) +# return HttpResponse('Success: Publickey uploaded! Please delegate your credentials using SFA: http://trac.myslice.info/wiki/DelegatingCredentials') + messages.success(request, 'Publickey uploaded! Please delegate your credentials using SFA: http://trac.myslice.info/wiki/DelegatingCredentials') + return HttpResponseRedirect("/portal/account/") + else: - return HttpResponse('Please upload a valid RSA public key [.txt or .pub].') - +# return HttpResponse('Please upload a valid RSA public key [.txt or .pub].') + messages.error(request, 'RSA key error: Please upload a valid RSA public key [.txt or .pub].') + return HttpResponseRedirect("/portal/account/") + else: - message = 'You submitted an empty form.' - return HttpResponse(message) + messages.info(request, 'Under Construction. Please try again later!') + return HttpResponseRedirect("/portal/account/") + +