def getUsers(self, next_action): allowed_group = getlist(next_action, 'owner_group', sep='|') if not allowed_group: allowed_group = self.owner_group users_dict = {} for name in self._get_users(allowed_group): u = GroupedSimpleUser() u.setUsername(name) u.setOptionValue(name) u.setOptionDisplay(name) users_dict.update({name: u}) return sorted(users_dict.values())
def getUsers(self, next_action): allowed_group = getlist(next_action, 'owner_group', sep='|') if not allowed_group: allowed_group = self.owner_group users_dict = {} for name in self._get_users(allowed_group): u = GroupedSimpleUser() u.setUsername(name) u.setOptionValue(name) u.setOptionDisplay(name) users_dict.update({name:u}) return sorted(users_dict.values())
def getUsers(self, next_action_obj): """ Top-level method to be called to get users. Cascade-calls specific methods as needed. """ # get workflow state params, if present -- the getlist method # provided by FlexibleAssignTo does some housekeeping for us allowedroles = getlist(next_action_obj, 'roles_allowed', keep_empty=False) if allowedroles is None: allowedroles = DEFAULT_ROLES # use a dictionary temporarily, to help ensure uniqueness by # username user_obj_dict = {} for k,v in DEMO_USER_STORE.items(): if [r for r in v['roles'].split(',') if r in allowedroles]: u = DemoSimpleUser() u.userlogin = k u.lastname = v['lname'] u.firstname = v['fname'] u.email = v['email'] # cleanUsername() also sets the username class attribute u.cleanUsername() user_obj_dict.update({u.getUsername():u}) user_objs = user_obj_dict.values() # SimpleUser *REQUIRES* that the following attributes are set: # - username (set via .setUsername()) # - option_value (set via .setOptionValue()) # - option_display (set via .setOptionDisplay()) # Not setting these attributes will cause assertion errors. for u in user_objs: u.setOptionValue("%s" % u.getUsername()) u.setOptionDisplay("*DEMO* - %s, %s (%s)" % (u.lastname, u.firstname, u.getUsername())) # sorted by last name (see DemoSimpleUser) return sorted(user_objs)
def getUsers(self, next_action_obj): """ Top-level method to be called to get users. Cascade-calls specific methods as needed. """ # get workflow state params, if present -- the getlist method # provided by FlexibleAssignTo does some housekeeping for us allowedroles = getlist(next_action_obj, 'roles_allowed', keep_empty=False) if allowedroles is None: allowedroles = DEFAULT_ROLES # use a dictionary temporarily, to help ensure uniqueness by # username user_obj_dict = {} for k, v in DEMO_USER_STORE.items(): if [r for r in v['roles'].split(',') if r in allowedroles]: u = DemoSimpleUser() u.userlogin = k u.lastname = v['lname'] u.firstname = v['fname'] u.email = v['email'] # cleanUsername() also sets the username class attribute u.cleanUsername() user_obj_dict.update({u.getUsername(): u}) user_objs = user_obj_dict.values() # SimpleUser *REQUIRES* that the following attributes are set: # - username (set via .setUsername()) # - option_value (set via .setOptionValue()) # - option_display (set via .setOptionDisplay()) # Not setting these attributes will cause assertion errors. for u in user_objs: u.setOptionValue("%s" % u.getUsername()) u.setOptionDisplay("*DEMO* - %s, %s (%s)" % (u.lastname, u.firstname, u.getUsername())) # sorted by last name (see DemoSimpleUser) return sorted(user_objs)