import json
from random import randint
-from django.core.mail import send_mail
from django.views.generic import View
from django.template.loader import render_to_string
from django.shortcuts import render
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" ] )
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))
+ + '.' + split_email
# Validate input
UserModel = get_user_model()
errors.append('Email is pending for validation. Please provide a new email address.')
if UserModel._default_manager.filter(email__iexact = user_request['email']):
errors.append('This email is not usable. Please contact the administrator or try with another email.')
+ # Does the user exist in Manifold?
+ user_query = Query().get('local:user').select('user_id','email')
+ user_details = execute_admin_query(wsgi_request, user_query)
for user_detail in user_details:
if user_detail['email'] == user_request['email']:
errors.append('Email already registered in Manifold. Please provide a new email address.')
-
+ # Does the user exist in sfa? [query is very slow!!]
+ user_query = Query().get('user').select('user_hrn','user_email')
+ user_details_sfa = execute_admin_query(wsgi_request, user_query)
+ for user in user_details_sfa:
+ if user['user_email'] == user_request['email']:
+ errors.append('Email already registered in SFA registry. Please use another email.')
+ if user['user_hrn'] == user_request['user_hrn']:
+ # add random number if user_hrn already exists in the registry
+ user_request['user_hrn'] = user_request['authority_hrn'] \
+ + '.' + split_email + str(randint(1,1000000))
+
# XXX TODO: Factorize with portal/accountview.py
if 'generate' in wsgi_request.POST['question']:
user_request['auth_type'] = 'managed'