From: Thierry Parmentelat Date: Fri, 3 Feb 2012 10:56:31 +0000 (+0100) Subject: start to deal with plc roles X-Git-Tag: sfa-2.1-2~10 X-Git-Url: http://git.onelab.eu/?a=commitdiff_plain;h=306ee139a4dcb72463c222cc17afa1d20c9daa3a;p=sfa.git start to deal with plc roles --- diff --git a/sfa/plc/pldriver.py b/sfa/plc/pldriver.py index 2c84f987..b9db9b29 100644 --- a/sfa/plc/pldriver.py +++ b/sfa/plc/pldriver.py @@ -110,7 +110,15 @@ class PlDriver (Driver): self.shell.AddPersonToSite(pointer, login_base) # What roles should this user have? - self.shell.AddRoleToPerson('user', pointer) + roles=[] + if 'roles' in sfa_record: + # if specified in xml, but only low-level roles + roles = [ role for role in sfa_record['roles'] if role in ['user','tech'] ] + # at least user if no other cluse could be found + if not roles: + roles=['user'] + for role in roles: + self.shell.AddRoleToPerson(role, pointer) # Add the user's key if pub_key: self.shell.AddPersonKey(pointer, {'key_type' : 'ssh', 'key' : pub_key})