X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=portal%2Fhomeview.py;h=ec6012c87f5d2e2efd732acd8f6f0b0a7395fa80;hb=d1accda30ea287adde0500b5280ee360e1c357a3;hp=7efd42052160e704f6504f37c042f7127af4a468;hpb=b750078af620edc1c8cc7c0caf5a1851d63a1f12;p=myslice.git diff --git a/portal/homeview.py b/portal/homeview.py index 7efd4205..ec6012c8 100644 --- a/portal/homeview.py +++ b/portal/homeview.py @@ -16,7 +16,7 @@ from manifoldapi.manifoldapi import execute_query, execute_admin_quer # Edelberto - LDAP XXX from portal.models import PendingUser from django.contrib.auth.models import User #Pedro -from portal.actions import create_pending_user, create_user +from portal.actions import create_pending_user, create_user, create_user_in_ldap, clear_user_creds from registrationview import RegistrationView from random import randint from hashlib import md5 @@ -62,7 +62,7 @@ class HomeView (FreeAccessView, ThemeView): ## first you must open a connection to the server try: # Connect to NOC - l = ldap.initialize("ldap://200.130.15.186:389") + l = ldap.initialize("ldap://10.128.0.50:389") # Bind/authenticate with a root user to search all objects l.simple_bind_s("cn=Manager,dc=br,dc=fibre","fibre2013") @@ -79,7 +79,10 @@ class HomeView (FreeAccessView, ThemeView): searchFilter = "uid=" + username print searchFilter + in_ldap = 0 + try: + if username != "admin": ldap_result_id = l.search(baseDN, searchScope, searchFilter, retrieveAttributes) result_set = [] result_type, result_data = l.result(ldap_result_id, 0) @@ -125,7 +128,13 @@ class HomeView (FreeAccessView, ThemeView): print cn sn = result_set[0][0][1]['sn'][0] print sn - authority_hrn = 'fibre' + '.' + username.split('@')[1] + fname = sn.split(' ')[0] + lname = sn.split(' ')[1] + print fname + print lname + + #authority_hrn = 'fibre' + '.' + username.split('@')[1] + authority_hrn = 'fibre' print authority_hrn email = ldap_mail print ldap_mail @@ -133,7 +142,8 @@ class HomeView (FreeAccessView, ThemeView): print username password = password print password - user_hrn = 'fibre' + '.' + username.split('@')[1] + '.' + username + # user_hrn = 'fibre' + '.' + username.split('@')[1] + '.' + username + user_hrn = 'fibre' + '.' + username print user_hrn # Based on registrationview @@ -150,10 +160,8 @@ class HomeView (FreeAccessView, ThemeView): print email_hash user_request = { - #'first_name' : cn, - 'first_name' : sn, - 'last_name' : '', - #'organization' : username.split('@')[1], + 'first_name' : fname, + 'last_name' : lname, 'organization' : authority_hrn, 'authority_hrn' : authority_hrn, 'email' : ldap_mail, @@ -163,6 +171,7 @@ class HomeView (FreeAccessView, ThemeView): 'email_hash' : email_hash, 'pi' : '', 'user_hrn' : user_hrn, + 'reasons' : 'already exists in the LDAP', 'type' : 'user', 'validation_link': 'https://' + current_site + '/portal/email_activation/'+ email_hash } @@ -208,13 +217,14 @@ class HomeView (FreeAccessView, ThemeView): # XXX Verify if errors exist - After! #if not errors: - create_pending_user(request, user_request, user_detail) - - create_user(request, user_request) - - env['state'] = "User LDAP associated. Authenticate again." - return render_to_response(self.template, env, context_instance=RequestContext(request)) + create_user_in_ldap(request, user_request, user_detail) + #create_pending_user(request, user_request, user_detail) + #create_user(request, user_request) + + env['state'] = "LDAP associated. Please, login again." + return render_to_response(self.template, env, context_instance=RequestContext(request)) + else: env['state'] = "Access denied. Verify LDAP userEnable and password." @@ -232,7 +242,7 @@ class HomeView (FreeAccessView, ThemeView): print e #else: - if in_ldap and enabled and pwd: + if in_ldap and enabled and pwd or username=="admin": ################################################################################ ### XXX Edelberto LDAP auth end XXX