X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fregistrationview.py;h=47fcd053cc60fa1a99305b41b3d0241411f0dc18;hb=2f8dc25ab8721030b0e60a5e281141f864f22a28;hp=a1deeada2532dce92837fc44155121a7d8310662;hpb=ea22db0e99695ec26e1481558af65e0a541572da;p=unfold.git
diff --git a/portal/registrationview.py b/portal/registrationview.py
index a1deeada..47fcd053 100644
--- a/portal/registrationview.py
+++ b/portal/registrationview.py
@@ -1,4 +1,5 @@
-import os.path, re
+import os.path
+import re
import json
from random import randint
from hashlib import md5
@@ -8,7 +9,6 @@ from django.template.loader import render_to_string
from django.shortcuts import render
from django.contrib.auth import get_user_model
-from django.contrib.sites.models import Site
from unfold.page import Page
from unfold.loginrequired import FreeAccessView
@@ -21,6 +21,7 @@ from portal.models import PendingUser
from portal.actions import create_pending_user
from myslice.theme import ThemeView
+from myslice.settings import logger
import activity.user
@@ -45,9 +46,12 @@ class RegistrationView (FreeAccessView, ThemeView):
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, key=lambda k: k['name'])
+ # Remove the root authority from the list
+ matching = [s for s in authorities if "." in s['authority_hrn']]
+ authorities = sorted(matching, key=lambda k: k['authority_hrn'])
+ authorities = sorted(matching, key=lambda k: k['name'])
- print "############ BREAKPOINT 1 #################"
+ logger.debug("############ BREAKPOINT 1 #################")
# Page rendering
page = Page(wsgi_request)
@@ -57,16 +61,18 @@ class RegistrationView (FreeAccessView, ThemeView):
page.add_css_files ( [ "css/onelab.css", "css/registration.css", "css/jquery.qtip.min.css", "css/jquery.ui.combobox.css" ] )
page.expose_js_metadata()
- print "############ BREAKPOINT 2 #################"
+ logger.debug("############ BREAKPOINT 2 #################")
if method == 'POST':
reg_form = {}
# The form has been submitted
- # get the domain url
- current_site = Site.objects.get_current()
- current_site = current_site.domain
-
- print "############ BREAKPOINT 3 #################"
+ if wsgi_request.is_secure():
+ current_site = 'https://'
+ else:
+ current_site = 'http://'
+ current_site += wsgi_request.META['HTTP_HOST']
+
+ logger.debug("############ BREAKPOINT 3 #################")
post_email = wsgi_request.POST.get('email','').lower()
salt = randint(1,100000)
email_hash = md5(str(salt)+post_email).hexdigest()
@@ -80,16 +86,16 @@ class RegistrationView (FreeAccessView, ThemeView):
'current_site' : current_site,
'email_hash' : email_hash,
'pi' : '',
- 'validation_link': 'http://' + current_site + '/portal/email_activation/'+ email_hash
+ 'validation_link': current_site + '/portal/email_activation/'+ email_hash
}
- print "############ BREAKPOINT 4 #################"
+ logger.debug("############ BREAKPOINT 4 #################")
auth = wsgi_request.POST.get('org_name', None)
- if auth is None:
+ if auth is None or auth == "":
errors.append('Organization required: please select one or request its addition')
else:
- print "############ BREAKPOINT 5 #################"
+ logger.debug("############ BREAKPOINT 5 #################")
# Construct user_hrn from email (XXX Should use common code)
split_email = user_request['email'].split("@")[0]
@@ -138,7 +144,7 @@ class RegistrationView (FreeAccessView, ThemeView):
# 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.')
+ errors.append('Contact support or try with another email.')
# XXX TODO: Factorize with portal/accountview.py
# XXX TODO: Factorize with portal/registrationview.py
@@ -179,7 +185,7 @@ class RegistrationView (FreeAccessView, ThemeView):
return render(wsgi_request, self.template, {'theme': self.theme})
else:
- print "############ BREAKPOINT A #################"
+ logger.debug("############ BREAKPOINT A #################")
user_request = {}
## this is coming from onelab website onelab.eu
reg_form = {
@@ -189,7 +195,7 @@ class RegistrationView (FreeAccessView, ThemeView):
}
# log user activity
activity.user.signup(self.request)
- print "############ BREAKPOINT B #################"
+ logger.debug("############ BREAKPOINT B #################")
template_env = {
#'topmenu_items': topmenu_items_live('Register', page),
@@ -200,5 +206,5 @@ class RegistrationView (FreeAccessView, ThemeView):
template_env.update(user_request)
template_env.update(reg_form)
template_env.update(page.prelude_env ())
- print "############ BREAKPOINT C #################"
+ logger.debug("############ BREAKPOINT C #################")
return render(wsgi_request, self.template,template_env)