Beispiel #1
0
def test_log_user_groups_mixed(
    user_a,
    user_b,
    assert_permissionchangelog,
):
    group0, group1, group2 = GroupFactory.create_batch(size=3)
    added_groups = [group2]
    removed_groups = [group0]

    log_user_groups(user_a, user_b, (added_groups, removed_groups))

    changelog_entry0, changelog_entry1 = PermissionChangelog.objects.all()
    assert_permissionchangelog(
        changelog_entry0,
        'added',
        user_a,
        user_b,
        group2
    )

    assert_permissionchangelog(
        changelog_entry1,
        'removed',
        user_a,
        user_b,
        group0
    )
Beispiel #2
0
def test_log_user_groups_removed(
    user_a,
    user_b,
    assert_permissionchangelog,
):
    group0, group1, group2 = GroupFactory.create_batch(size=3)
    removed_members = [group0, group2]

    log_user_groups(user_a, user_b, ([], removed_members))

    changelog_entry0, changelog_entry1 = PermissionChangelog.objects.all()

    assert_permissionchangelog(
        changelog_entry0,
        'removed',
        user_a,
        user_b,
        group0
    )

    assert_permissionchangelog(
        changelog_entry1,
        'removed',
        user_a,
        user_b,
        group2
    )
Beispiel #3
0
def test_log_user_groups_mixed(
    user_a,
    user_b,
    assert_permissionchangelog,
):
    group0, group1, group2 = GroupFactory.create_batch(size=3)
    added_groups = [group2]
    removed_groups = [group0]

    log_user_groups(user_a, user_b, (added_groups, removed_groups))

    changelog_entry0, changelog_entry1 = PermissionChangelog.objects.all()
    assert_permissionchangelog(
        changelog_entry0,
        'added',
        user_a,
        user_b,
        group2
    )

    assert_permissionchangelog(
        changelog_entry1,
        'removed',
        user_a,
        user_b,
        group0
    )
Beispiel #4
0
def test_log_user_groups_removed(
    user_a,
    user_b,
    assert_permissionchangelog,
):
    group0, group1, group2 = GroupFactory.create_batch(size=3)
    removed_members = [group0, group2]

    log_user_groups(user_a, user_b, ([], removed_members))

    changelog_entry0, changelog_entry1 = PermissionChangelog.objects.all()

    assert_permissionchangelog(
        changelog_entry0,
        'removed',
        user_a,
        user_b,
        group0
    )

    assert_permissionchangelog(
        changelog_entry1,
        'removed',
        user_a,
        user_b,
        group2
    )
Beispiel #5
0
    def save_model(self, request, obj, form, change):
        """
        Save a user and log changes in its roles.
        """
        add_groups, remove_groups = utils.get_m2m_changes(
            obj.groups, form.cleaned_data['groups'])

        super(UserAdmin, self).save_model(request, obj, form, change)

        log_user_groups(request.user, obj, (add_groups, remove_groups))
Beispiel #6
0
def test_log_user_groups_added(user0, user1, group_factory,
                               assert_permissionchangelog):
    group0, group1, group2 = group_factory(batch=3)
    added_groups = [group0, group2]

    log_user_groups(user0, user1, (added_groups, []))

    changelog_entry0, changelog_entry1 = PermissionChangelog.objects.all()

    assert_permissionchangelog(changelog_entry0, 'added', user0, user1, group0)
    assert_permissionchangelog(changelog_entry1, 'added', user0, user1, group2)
Beispiel #7
0
    def save_model(self, request, obj, form, change):
        """
        Save a user and log changes in its roles.
        """
        super().save_model(request, obj, form, change)

        # Users can only be moved between groups upon editing, not creation
        if "groups" in form.cleaned_data:
            add_groups, remove_groups = utils.get_m2m_changes(
                obj.groups, form.cleaned_data["groups"])

            log_user_groups(request.user, obj, (add_groups, remove_groups))
Beispiel #8
0
def test_log_user_groups_removed(user0, user1, group_factory,
                                 assert_permissionchangelog):
    group0, group1, group2 = group_factory(batch=3)
    removed_members = [group0, group2]

    log_user_groups(user0, user1, ([], removed_members))

    changelog_entry0, changelog_entry1 = PermissionChangelog.objects.all()

    assert_permissionchangelog(changelog_entry0, 'removed', user0, user1,
                               group0)

    assert_permissionchangelog(changelog_entry1, 'removed', user0, user1,
                               group2)
Beispiel #9
0
def test_log_user_groups_added(
    user_a,
    user_b,
    assert_permissionchangelog,
):
    group0, group1, group2 = GroupFactory.create_batch(size=3)
    added_groups = [group0, group2]

    log_user_groups(user_a, user_b, (added_groups, []))

    changelog_entry0, changelog_entry1 = PermissionChangelog.objects.all()

    assert_permissionchangelog(changelog_entry0, "added", user_a, user_b,
                               group0)
    assert_permissionchangelog(changelog_entry1, "added", user_a, user_b,
                               group2)
Beispiel #10
0
    def save_model(self, request, obj, form, change):
        """
        Save a user and log changes in its roles.
        """
        add_groups, remove_groups = utils.get_m2m_changes(
            obj.groups,
            form.cleaned_data['groups']
        )

        super(UserAdmin, self).save_model(request, obj, form, change)

        log_user_groups(
            request.user,
            obj,
            (add_groups, remove_groups)
        )
def test_log_user_groups_empty(user_a, user_b):
    log_user_groups(user_a, user_b, ([], []))

    assert list(PermissionChangelog.objects.all()) == []
Beispiel #12
0
def test_log_user_groups_empty(user_a, user_b):
    log_user_groups(user_a, user_b, ([], []))

    assert list(PermissionChangelog.objects.all()) == []