コード例 #1
0
def sync_groups_permissions():
    """
    Synchronize latest permissions and applies them to all
    existing group repositories

    Args:
        None
    Returns:
        None
    """
    for repo in Repository.objects.all():
        # this needs to be idempotent
        roles_clear_repo_permissions(repo)
        roles_init_new_repo(repo)
コード例 #2
0
def add_creator_permission(sender, **kwargs):
    """
    Give the creator of a repository admin permissions
    over that repository.
    """
    from roles.api import assign_user_to_repo_group, roles_init_new_repo
    from roles.permissions import GroupTypes
    instance = kwargs.pop("instance", None)
    if not kwargs["created"]:
        return
    if not isinstance(instance, Repository):
        return
    roles_init_new_repo(instance)
    assign_user_to_repo_group(
        instance.created_by,
        instance,
        GroupTypes.REPO_ADMINISTRATOR,
    )