X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fregistrationview.py;h=7c2ab03a1b3b0130ff955af0de378cdc4ff53f08;hb=90f648f5b7dc61027598c5ad7dbbea05b6de381c;hp=c966b52ffb2fe69ee47e5a4020145fe062bd7ef8;hpb=6ec04646df726a21d776ceacba5fdf780bf9876e;p=unfold.git diff --git a/portal/registrationview.py b/portal/registrationview.py index c966b52f..7c2ab03a 100644 --- a/portal/registrationview.py +++ b/portal/registrationview.py @@ -13,17 +13,20 @@ from unfold.page import Page from unfold.loginrequired import FreeAccessView from ui.topmenu import topmenu_items_live -from manifold.manifoldapi import execute_admin_query +from manifoldapi.manifoldapi import execute_admin_query from manifold.core.query import Query from portal.models import PendingUser from portal.actions import authority_get_pi_emails, manifold_add_user,manifold_add_account +from theme import ThemeView + # since we inherit from FreeAccessView we cannot redefine 'dispatch' # so let's override 'get' and 'post' instead # -class RegistrationView (FreeAccessView): - +class RegistrationView (FreeAccessView, ThemeView): + template_name = 'registration_view.html' + def post (self, request): return self.get_or_post (request, 'POST') @@ -133,7 +136,7 @@ class RegistrationView (FreeAccessView): public_key = file_content public_key = ''.join(public_key.split()) else: - errors.append('Please upload a valid RSA public key [.txt or .pub].') + errors.append('Please upload a valid RSA public key.') #b = PendingUser(first_name=reg_fname, last_name=reg_lname, affiliation=reg_aff, # email=reg_email, password=request.POST['password'], keypair=keypair) @@ -149,13 +152,14 @@ class RegistrationView (FreeAccessView): email = reg_email, password = request.POST['password'], keypair = account_config, + pi = '', ) b.save() # saves the user to django auth_user table [needed for password reset] user = User.objects.create_user(reg_email, reg_email, request.POST['password']) #creating user to manifold local:user user_config = '{"firstname":"'+ reg_fname + '", "lastname":"'+ reg_lname + '", "authority":"'+ reg_auth + '"}' - user_params = {'email': reg_email, 'password': request.POST['password'], 'config': user_config} + user_params = {'email': reg_email, 'password': request.POST['password'], 'config': user_config, 'status': 1} manifold_add_user(request,user_params) #creating local:account in manifold user_id = user_detail['user_id']+1 # the user_id for the newly created user in local:user @@ -171,16 +175,14 @@ class RegistrationView (FreeAccessView): 'user_hrn' : user_hrn, 'public_key' : public_key, } + recipients = authority_get_pi_emails(request,reg_auth) - # We don't need to send this email to user. - # it's for the PI only - #if ctx['cc_myself']: - # recipients.append(ctx['email']) msg = render_to_string('user_request_email.txt', ctx) send_mail("Onelab New User request for %s submitted"%reg_email, msg, 'support@myslice.info', recipients) - return render(request, 'user_register_complete.html') + self.template_name = 'user_register_complete.html' + return render(request, self.template, {'theme': self.theme}) template_env = { 'topmenu_items': topmenu_items_live('Register', page), @@ -192,6 +194,7 @@ class RegistrationView (FreeAccessView): 'email': request.POST.get('email', ''), 'password': request.POST.get('password', ''), 'authorities': authorities, + 'theme': self.theme } template_env.update(page.prelude_env ()) - return render(request, 'registration_view.html',template_env) + return render(request, self.template,template_env)