- authorities_query = Query.get('authority').\
- filter_by('authority_hrn', 'included', ['ple.inria', 'ple.upmc']).\
- select('name', 'authority_hrn')
- #authorities_query = Query.get('authority').select('authority_hrn')
- authorities = execute_query(request, authorities_query)
-
- 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):
+ authorities_query = Query.get('authority').select('name', 'authority_hrn')
+ authorities = execute_admin_query(wsgi_request, authorities_query)
+ if authorities is not None:
+ authorities = sorted(authorities)
+
+ # xxx tocheck - if authorities is empty, it's no use anyway
+ # (users won't be able to validate the form anyway)
+
+ # Who am I ?
+ user_query = Query().get('local:user').select('user_id','email')
+ user_details = execute_admin_query(wsgi_request, user_query)
+
+ # Page rendering
+ page = Page(wsgi_request)
+ page.add_js_files ( [ "js/jquery.validate.js", "js/my_account.register.js" ] )
+ page.add_css_files ( [ "css/onelab.css", "css/registration.css" ] )
+ page.add_css_files ( [ "http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" ] )
+
+ if method == 'POST':
+ # The form has been submitted
+
+ 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' : wsgi_request.POST.get('email', '').lower(),
+ 'password' : wsgi_request.POST.get('password', ''),
+ }
+
+ # 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 + str(randint(1,1000000))
+
+ # Validate input
+ UserModel = get_user_model()
+ if (re.search(r'^[\w+\s.@+-]+$', user_request['first_name']) == None):