X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fregistrationview.py;h=61e56e4b531e605857b1a270451a76e68392aaa3;hb=16a4bf955a76fee81209cd60458745040ed3c711;hp=47ae6c9bfce38aa7821a429128fa3f5e882fc2a4;hpb=ac575fb40a8a128cdac22bdc0b868012011c5e66;p=unfold.git diff --git a/portal/registrationview.py b/portal/registrationview.py index 47ae6c9b..61e56e4b 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 @@ -44,11 +45,14 @@ class RegistrationView (FreeAccessView, ThemeView): # REGISTRY ONLY TO BE REMOVED WITH MANIFOLD-V2 authorities_query = Query.get('authority').select('name', 'authority_hrn') authorities = execute_admin_query(wsgi_request, authorities_query) + logger.info("RegistrationView authorities = {}".format(authorities)) if authorities is not None: - authorities = sorted(authorities, key=lambda k: k['authority_hrn']) - 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) @@ -58,16 +62,19 @@ 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() @@ -81,16 +88,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] @@ -180,7 +187,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 = { @@ -190,7 +197,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), @@ -201,5 +208,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)