X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fregistrationview.py;h=76d712da2441f64e8104d08a25a095b9f75ff55a;hb=0300e4a519eb44fa1e2b769f1c871471ebfe0620;hp=cfde2f828df45ae9bb2a8403386d3bffbc680c39;hpb=29a9340139de5dc9537985c0fefa145b0b1c2afd;p=myslice.git diff --git a/portal/registrationview.py b/portal/registrationview.py index cfde2f82..76d712da 100644 --- a/portal/registrationview.py +++ b/portal/registrationview.py @@ -1,6 +1,5 @@ -from __future__ import print_function - -import os.path, re +import os.path +import re import json from random import randint from hashlib import md5 @@ -10,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 @@ -20,9 +18,10 @@ from manifoldapi.manifoldapi import execute_admin_query from manifold.core.query import Query from portal.models import PendingUser -from portal.actions import create_pending_user +from portal.actions import create_pending_user, getAuthorities from myslice.theme import ThemeView +from myslice.settings import logger import activity.user @@ -42,18 +41,20 @@ class RegistrationView (FreeAccessView, ThemeView): """ """ errors = [] - authority_hrn = None - # 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) - print("RegistrationView authorities = ", authorities) - if authorities is not None: - # 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']) + + authorities = getAuthorities(wsgi_request, admin = True) + + #authority_hrn = None + ## 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) + #if authorities is not None: + # # 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) @@ -63,16 +64,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() @@ -89,13 +92,13 @@ class RegistrationView (FreeAccessView, ThemeView): '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 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] @@ -185,7 +188,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 = { @@ -195,7 +198,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), @@ -206,5 +209,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)