git://git.onelab.eu
/
sfa.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
96a0b3a
)
PlImporter: Set PL Admins as PI's of the top authority
author
Mohamed Larabi
<mohamed.larabi@inria.fr>
Wed, 29 Jan 2014 11:08:56 +0000
(12:08 +0100)
committer
Mohamed Larabi
<mohamed.larabi@inria.fr>
Wed, 29 Jan 2014 11:08:56 +0000
(12:08 +0100)
sfa/importer/plimporter.py
patch
|
blob
|
history
diff --git
a/sfa/importer/plimporter.py
b/sfa/importer/plimporter.py
index
1a296e1
..
3e2a082
100644
(file)
--- a/
sfa/importer/plimporter.py
+++ b/
sfa/importer/plimporter.py
@@
-192,6
+192,10
@@
class PlImporter:
# isolate special vini case in separate method
self.create_special_vini_record (interface_hrn)
# isolate special vini case in separate method
self.create_special_vini_record (interface_hrn)
+ # Get top authority record
+ top_auth_record=self.locate_by_type_hrn ('authority', root_auth)
+ admins = []
+
# start importing
for site in sites:
try:
# start importing
for site in sites:
try:
@@
-372,6
+376,11
@@
class PlImporter:
# PI is coded with role_id==20
if 20 in person['role_ids']:
site_pis.append (user_record)
# PI is coded with role_id==20
if 20 in person['role_ids']:
site_pis.append (user_record)
+
+ # PL Admins need to marked as PI of the top authority record
+ if 10 in person['role_ids'] and user_record not in top_auth_record.reg_pis:
+ admins.append(user_record)
+
except:
self.logger.log_exc("PlImporter: failed to import person %d %s"%(person['person_id'],person['email']))
except:
self.logger.log_exc("PlImporter: failed to import person %d %s"%(person['person_id'],person['email']))
@@
-419,6
+428,12
@@
class PlImporter:
global_dbsession.commit()
slice_record.stale=False
global_dbsession.commit()
slice_record.stale=False
+ # Set PL Admins as PI's of the top authority
+ if admins:
+ top_auth_record.reg_pis = list(set(admins))
+ global_dbsession.commit()
+ self.logger.info('PlImporter: set PL admins %s as PIs of %s'%(admins,top_auth_record.hrn))
+
### remove stale records
# special records must be preserved
system_hrns = [interface_hrn, root_auth, interface_hrn + '.slicemanager']
### remove stale records
# special records must be preserved
system_hrns = [interface_hrn, root_auth, interface_hrn + '.slicemanager']