X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fregistrationview.py;h=e55e30fd25b3d033845ee9e602bfdef6ff910515;hb=bff32abff469690c249af3b4f1cbb6905bd70e0d;hp=c24fda68091dd6a5b15d3bef76aafc18e40ed0ca;hpb=cb3a40dfdc1c79ca57458d1c18732334d58734fd;p=unfold.git diff --git a/portal/registrationview.py b/portal/registrationview.py index c24fda68..e55e30fd 100644 --- a/portal/registrationview.py +++ b/portal/registrationview.py @@ -106,17 +106,13 @@ class RegistrationView (FreeAccessView, ThemeView): errors.append('First name may contain only letters, numbers, spaces and @/./+/-/_ characters.') if (re.search(r'^[\w+\s.@+-]+$', user_request['last_name']) == None): errors.append('Last name may contain only letters, numbers, spaces and @/./+/-/_ characters.') - # checking in django_db !! - if PendingUser.objects.filter(email__iexact = user_request['email']): - 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.') + errors.append('Email already registered. Login with your existing account. Forgot your password?') + # Does the user exist in sfa? [query is very slow!!] #user_query = Query().get('user').select('user_hrn','user_email') # XXX Test based on the user_hrn is quick @@ -125,12 +121,24 @@ class RegistrationView (FreeAccessView, ThemeView): 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.') + errors.append('Email already registered in OneLab registry. Contact OneLab support or 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)) - + + # checking in django unfold db portal application pending users + # sqlite3 /var/unfold/unfold.sqlite3 + # select email from portal_pendinguser; + if PendingUser.objects.filter(email__iexact = user_request['email']): + errors.append('Account pending for validation. Please wait till your account is validated or contact OneLab support.') + + # checking in django_db !! + # sqlite3 /var/unfold/unfold.sqlite3 + # select email from auth_user; + if UserModel._default_manager.filter(email__iexact = user_request['email']): + errors.append('Contact OneLab support or try with another email.') + # XXX TODO: Factorize with portal/accountview.py # XXX TODO: Factorize with portal/registrationview.py # XXX TODO: Factorize with portal/joinview.py @@ -166,7 +174,7 @@ class RegistrationView (FreeAccessView, ThemeView): create_pending_user(wsgi_request, user_request, user_detail) self.template_name = 'user_register_complete.html' # log user activity - activity.user.register(self.request) + activity.user.registered(self.request) return render(wsgi_request, self.template, {'theme': self.theme}) else: