Modifying AddPerson.
authorSandrine Avakian <sandrine.avakian@inria.fr>
Wed, 28 Nov 2012 13:43:54 +0000 (14:43 +0100)
committerSandrine Avakian <sandrine.avakian@inria.fr>
Wed, 28 Nov 2012 13:43:54 +0000 (14:43 +0100)
sfa/senslab/LDAPapi.py
sfa/senslab/slabdriver.py
sfa/senslab/slabslices.py

index 0328dbc..e6a6253 100644 (file)
@@ -142,7 +142,10 @@ class LDAPapi :
         #No first name and last name 
         #check  email    
         else:
-            email = record['mail']
+            #For compatibility with other ldap func
+            if 'mail' in record and 'email' not in record:
+                record['email'] = record['mail']
+            email = record['email']
             email = email.split('@')[0].lower()
             lower_first_name = None
             lower_last_name = None
@@ -429,7 +432,7 @@ class LDAPapi :
                 return {'bool' : False, 'message' : error }
         
             self.conn.close()
-            return {'bool': True}  
+            return {'bool': True, 'uid':filter_by['uid']}  
         else: 
             return result
 
index 64b1ba8..61985b3 100644 (file)
@@ -1613,8 +1613,8 @@ class SlabDriver(Driver):
         
         """
         ret = self.ldap.LdapAddUser(record)
-        logger.warning("SLABDRIVER AddPerson return code %s \r\n ", ret)
-        return
+        logger.debug("SLABDRIVER AddPerson return code %s \r\n "%(ret))
+        return ret['uid']
     
     #TODO AddPersonToSite 04/07/2012 SA
     def AddPersonToSite (self, auth, person_id_or_email, \
index 3fe82b4..a919725 100644 (file)
@@ -474,10 +474,10 @@ class SlabSlices:
                 else:
                     #User not existing in LDAP
                     #TODO SA 21/08/12 raise smthg to add user or add it auto ?
-                    new_record = {}
-                    new_record['pkey'] = users[0]['keys'][0]
-                    new_record['mail'] = users[0]['email']
-                    self.driver.ldap.LdapAddUser(new_record)
+                    #new_record = {}
+                    #new_record['pkey'] = users[0]['keys'][0]
+                    #new_record['mail'] = users[0]['email']
+                  
                     logger.debug(" SLABSLICE.PY \tverify_person users \
                                 not in ldap ...NEW ACCOUNT NEEDED %s \r\n \t \
                                 ldap_reslt %s "  %(users, ldap_reslt))
@@ -526,19 +526,22 @@ class SlabSlices:
                 if k in added_user:
                     person[k] = added_user[k]
 
-            person['keys'] = added_user['keys'][0]
+            person['pkey'] = added_user['keys'][0]
+            person['mail'] = added_user['email']
+            person['email'] = added_user['email']
             person['key_ids'] =  added_user.get('key_ids', [])
                 
-
-
+            #person['person_id'] = self.driver.AddPerson(person)
+            person['uid'] = self.driver.AddPerson(person)
             
-            person['person_id'] = self.driver.AddPerson(person)
-            if peer:
-                person['peer_person_id'] = added_user['person_id']
+            #Update slice_Record with the id now known to LDAP
+            slice_record['reg-researcher'] = [self.root_auth + '.' + person['uid']]
+            #if peer:
+                #person['peer_person_id'] = added_user['person_id']
             added_persons.append(person)
            
             # enable the account 
-            self.driver.UpdatePerson(person['person_id'], {'enabled': True})
+            #self.driver.UpdatePerson(person['person_id'], {'enabled': True})
             
             # add person to site
             #self.driver.AddPersonToSite(added_user_id, login_base)