Ejemplo n.º 1
0
 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())
Ejemplo n.º 2
0
 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())
Ejemplo n.º 3
0
    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)
Ejemplo n.º 4
0
    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)