Beispiel #1
0
 def test_is_base_group_type(self):
     """
     Checks is_repo_group_type method
     """
     self.assertTrue(
         BaseGroupTypes.is_base_group_type(BaseGroupTypes.ADMINISTRATORS))
     self.assertTrue(
         BaseGroupTypes.is_base_group_type(BaseGroupTypes.CURATORS))
     self.assertTrue(
         BaseGroupTypes.is_base_group_type(BaseGroupTypes.AUTHORS))
     self.assertFalse(BaseGroupTypes.is_base_group_type('foo'))
Beispiel #2
0
def list_users_in_repo(repo, base_group_type=None):
    """
    List all the users in the repository groups.
    If the group type is specified, the list is limited to that group.

    Args:
        repo (learningresources.models.Repository): repository used to extract
            the right group to use
        base_group_type (unicode): group type from
            roles.permissions.BaseGroupTypes
    Returns:
        list (list of roles.user_models.UserGroup): list of users in one or
        all the repository groups
    """
    users_groups = []
    if base_group_type is not None:
        if not BaseGroupTypes.is_base_group_type(base_group_type):
            raise InvalidGroupType
        base_group_types = [base_group_type]
    else:
        base_group_types = BaseGroupTypes.all_base_groups()
    for base_group_type in base_group_types:
        group = Group.objects.get(
            name=GroupTypes.get_repo_groupname_by_base(
                base_group_type
            ).format(repo.slug)
        )
        users_groups += [
            UserGroup(user.username, base_group_type)
            for user in group.user_set.all()
        ]
    return users_groups
Beispiel #3
0
def list_users_in_repo(repo, base_group_type=None):
    """
    List all the users in the repository groups.
    If the group type is specified, the list is limited to that group.

    Args:
        repo (learningresources.models.Repository): repository used to extract
            the right group to use
        base_group_type (unicode): group type from
            roles.permissions.BaseGroupTypes
    Returns:
        list (list of roles.user_models.UserGroup): list of users in one or
        all the repository groups
    """
    users_groups = []
    if base_group_type is not None:
        if not BaseGroupTypes.is_base_group_type(base_group_type):
            raise InvalidGroupType
        base_group_types = [base_group_type]
    else:
        base_group_types = BaseGroupTypes.all_base_groups()
    for base_group_type in base_group_types:
        group = Group.objects.get(name=GroupTypes.get_repo_groupname_by_base(
            base_group_type).format(repo.slug))
        users_groups += [
            UserGroup(user.username, base_group_type)
            for user in group.user_set.all()
        ]
    return users_groups
Beispiel #4
0
 def test_is_base_group_type(self):
     """
     Checks is_repo_group_type method
     """
     self.assertTrue(
         BaseGroupTypes.is_base_group_type(
             BaseGroupTypes.ADMINISTRATORS
         )
     )
     self.assertTrue(
         BaseGroupTypes.is_base_group_type(
             BaseGroupTypes.CURATORS
         )
     )
     self.assertTrue(
         BaseGroupTypes.is_base_group_type(
             BaseGroupTypes.AUTHORS
         )
     )
     self.assertFalse(BaseGroupTypes.is_base_group_type('foo'))