From: Yasin Date: Thu, 5 Sep 2013 14:05:23 +0000 (+0200) Subject: account_process moved to accountview.py X-Git-Tag: myslice-0.2-1~12^2 X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=commitdiff_plain;h=49f0381d60a23cd5b0bf546e97b0b5652de81b14 account_process moved to accountview.py --- diff --git a/portal/accountview.py b/portal/accountview.py index aaa0a5f3..e57dfed3 100644 --- a/portal/accountview.py +++ b/portal/accountview.py @@ -2,9 +2,12 @@ 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 myslice.viewutils import topmenu_items, the_user # +from django.http import HttpResponse +from django.contrib.auth.decorators import login_required import json # requires login @@ -82,3 +85,77 @@ class AccountView(LoginRequiredAutoLogoutView): #context.update(page.prelude_env()) return context + +@login_required +#my_acc form value processing +def account_process(request): + user_query = Query().get('local:user').select('password','config') + user_details = execute_query(request, user_query) + + if 'submit_name' in request.POST: + edited_first_name = request.POST['fname'] + edited_last_name = request.POST['lname'] + + config={} + for user_config in user_details: + #email = user_detail['email'] + if user_config['config']: + config = json.loads(user_config['config']) + config['firstname'] = edited_first_name + config['lastname'] = edited_last_name + config['authority'] = config.get('authority','Unknown Authority') + updated_config = json.dumps(config) + + # updating config local:user in manifold + 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!') + 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,user_params) + + return HttpResponse('Success: Password Changed!!') + elif 'generate' in request.POST: + # Generate public and private keys using SFA Library + from sfa.trust.certificate import Keypair + k = Keypair(create=True) + public_key = k.get_pubkey_string() + private_key = k.as_pem() + private_key = ''.join(private_key.split()) + public_key = "ssh-rsa " + public_key + # Saving to DB + keypair = '{"user_public_key":"'+ public_key + '", "user_private_key":"'+ private_key + '"}' +# keypair = re.sub("\r", "", keypair) +# 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) + + elif 'upload_key' in request.POST: + up_file = request.FILES['pubkey'] + file_content = up_file.read() + file_name = up_file.name + file_extension = os.path.splitext(file_name)[1] + 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 = ''.join(file_content.split()) + get_user.keypair = file_content + get_user.save() + return HttpResponse('Success: Publickey uploaded! Old records overwritten') + else: + return HttpResponse('Please upload a valid RSA public key [.txt or .pub].') + + else: + message = 'You submitted an empty form.' + return HttpResponse(message) diff --git a/portal/urls.py b/portal/urls.py index 81016c77..35a3cf0e 100644 --- a/portal/urls.py +++ b/portal/urls.py @@ -24,7 +24,8 @@ from django.views.generic.base import TemplateView from django.conf.urls import patterns, include, url from portal.views import PresViewView, ValidatePendingView -from portal.views import account_process, slice_request, register_4m_f4f +from portal.views import slice_request, register_4m_f4f +from portal.accountview import account_process from portal.platformsview import PlatformsView from portal.platformview import PlatformView from portal.dashboardview import DashboardView diff --git a/portal/views.py b/portal/views.py index de2a9971..c536322e 100644 --- a/portal/views.py +++ b/portal/views.py @@ -47,80 +47,6 @@ from unfold.page import Page from myslice.viewutils import topmenu_items, the_user from django.http import HttpResponseRedirect, HttpResponse -#class for my_account -@login_required -#my_acc form value processing -def account_process(request): - user_query = Query().get('local:user').select('password','config') - user_details = execute_query(request, user_query) - - if 'submit_name' in request.POST: - edited_first_name = request.POST['fname'] - edited_last_name = request.POST['lname'] - - config={} - for user_config in user_details: - #email = user_detail['email'] - if user_config['config']: - config = json.loads(user_config['config']) - config['firstname'] = edited_first_name - config['lastname'] = edited_last_name - config['authority'] = config.get('authority','Unknown Authority') - updated_config = json.dumps(config) - - # updating config local:user in manifold - 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!') - 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,user_params) - - return HttpResponse('Success: Password Changed!!') - elif 'generate' in request.POST: - # Generate public and private keys using SFA Library - from sfa.trust.certificate import Keypair - k = Keypair(create=True) - public_key = k.get_pubkey_string() - private_key = k.as_pem() - private_key = ''.join(private_key.split()) - public_key = "ssh-rsa " + public_key - # Saving to DB - keypair = '{"user_public_key":"'+ public_key + '", "user_private_key":"'+ private_key + '"}' -# keypair = re.sub("\r", "", keypair) -# 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) - - elif 'upload_key' in request.POST: - up_file = request.FILES['pubkey'] - file_content = up_file.read() - file_name = up_file.name - file_extension = os.path.splitext(file_name)[1] - 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 = ''.join(file_content.split()) - get_user.keypair = file_content - get_user.save() - return HttpResponse('Success: Publickey uploaded! Old records overwritten') - else: - return HttpResponse('Please upload a valid RSA public key [.txt or .pub].') - - else: - message = 'You submitted an empty form.' - return HttpResponse(message) def register_4m_f4f(request): errors = []