- onelab_enabled_query = Query.get('local:platform').filter_by('platform', '==', 'ple-onelab').filter_by('disabled', '==', 'False')
- #onelab_enabled = not not execute_admin_query(request, onelab_enabled_query)
- onelab_enabled = True
- if onelab_enabled:
- print "ONELAB ENABLED"
- authorities_query = authorities_query.filter_by('authority_hrn', 'included', ['ple.inria', 'ple.upmc', 'ple.ibbtple'])
- else:
- print "FIREXP ENABLED"
-
- authorities = execute_admin_query(request, authorities_query)
- # xxx tocheck - if authorities is empty, it's no use anyway
- # (users won't be able to validate the form anyway)
-
- page = Page(request)
- page.add_js_files ( [ "js/jquery.validate.js", "js/my_account.register.js" ] )
- page.add_css_files ( [ "css/onelab.css", "css/registration.css" ] )
-
- print 'registration view, method',request.method
-
- if request.method == 'POST':
- # We shall use a form here
-
- #get_email = PendingUser.objects.get(email)
- reg_fname = request.POST.get('firstname', '')
- reg_lname = request.POST.get('lastname', '')
- #reg_aff = request.POST.get('affiliation','')
- reg_auth = request.POST.get('authority_hrn', '')
- reg_email = request.POST.get('email','').lower()
-
- #POST value validation
- if (re.search(r'^[\w+\s.@+-]+$', reg_fname)==None):
+ # Page rendering
+ page = Page(wsgi_request)
+ page.add_js_files ( [ "js/jquery.validate.js", "js/my_account.register.js", "js/jquery.qtip.min.js" ] )
+ page.add_css_files ( [ "css/onelab.css", "css/registration.css", "css/jquery.qtip.min.css" ] )
+ page.add_css_files ( [ "https://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" ] )
+
+ if method == 'POST':
+ # The form has been submitted
+
+ # get the domain url
+ current_site = Site.objects.get_current()
+ current_site = current_site.domain
+
+ post_email = wsgi_request.POST.get('email','').lower()
+ salt = randint(1,100000)
+ email_hash = md5(str(salt)+post_email).hexdigest()
+ #email_hash = md5(post_email).digest().encode('base64')[:-1]
+ user_request = {
+ 'first_name' : wsgi_request.POST.get('firstname', ''),
+ 'last_name' : wsgi_request.POST.get('lastname', ''),
+ 'authority_hrn' : wsgi_request.POST.get('authority_hrn', ''),
+ 'email' : post_email,
+ 'password' : wsgi_request.POST.get('password', ''),
+ 'current_site' : current_site,
+ 'email_hash' : email_hash,
+ 'validation_link': 'http://' + current_site + '/portal/email_activation/'+ email_hash
+ }
+
+ # Construct user_hrn from email (XXX Should use common code)
+ split_email = user_request['email'].split("@")[0]
+ split_email = split_email.replace(".", "_")
+ user_request['user_hrn'] = user_request['authority_hrn'] \
+ + '.' + split_email
+
+ # Validate input
+ UserModel = get_user_model()
+ if (re.search(r'^[\w+\s.@+-]+$', user_request['first_name']) == None):