@@ -36,7 +36,7 @@ def config_schema() -> Schema:
3636 },
3737 'user_management' : [{
3838 'directory_group' : Or (None , And (str , len )),
39- Optional ('sign_group' , default = None ): Or (None , And (str , len )),
39+ Optional ('sign_group' , default = None ): Or (None , list , And (str , len )),
4040 Optional ('group_admin' , default = False ): Or (bool , None ),
4141 Optional ('account_admin' , default = False ): Or (bool , None )
4242 }],
@@ -167,12 +167,13 @@ def load_directory_groups(self) -> Dict[str, AdobeGroup]:
167167 'groups' : [],
168168 }
169169
170- sign_group = mapping .get_string ('sign_group' , True )
171- if sign_group is not None :
172-
170+ sign_group = mapping .get_list ('sign_group' , True )
171+ if sign_group is None :
172+ continue
173+ for sg in sign_group :
173174 # AdobeGroup will return the same memory instance of a pre-existing group,
174175 # so we create it no matter what
175- group = AdobeGroup .create (sign_group )
176+ group = AdobeGroup .create (sg )
176177 if group is None :
177178 raise AssertionException ('Bad Sign group: "{}" in directory group: "{}"' .format (sign_group , dir_group ))
178179 if group .umapi_name is None :
@@ -210,18 +211,18 @@ def load_group_admin_mappings(self):
210211 group_config = self .main_config .get_list_config ('user_management' , True )
211212 for mapping in group_config .iter_dict_configs ():
212213 dir_group = mapping .get_string ('directory_group' )
213- sign_group = mapping .get_string ('sign_group' , True )
214+ sign_group = mapping .get_list ('sign_group' , True )
214215
215216 group_admin = mapping .get_bool ('group_admin' , True )
216- if sign_group is None :
217+ if sign_group is None or not len ( sign_group ) :
217218 # if there is no Sign group, add the directory group anyway
218219 # in case we're non-UMG, in which case the group admin status is
219220 # applied to the user's currently-assigned group
220221 if group_admin :
221222 group_admin_mappings [dir_group ] = set ()
222223 continue
223224
224- group = AdobeGroup .create (sign_group )
225+ group = AdobeGroup .create (sign_group [ 0 ] )
225226 if group is None :
226227 raise AssertionException ('Bad Sign group: "{}" in directory group: "{}"' .format (sign_group , dir_group ))
227228 if group .umapi_name is None :
0 commit comments