Beispiel #1
0
 def test_group(self):
     assign_perm("view_collection", self.group1, self.collection)
     assign_perm("edit_collection", self.group1, self.collection)
     user_perms, group_perms = get_user_group_perms(self.group1, self.collection)
     self.assertEqual(len(group_perms), 1)
     six.assertCountEqual(self, group_perms[0][2], ["view_collection", "edit_collection"])
     self.assertEqual(len(user_perms), 0)
Beispiel #2
0
 def test_group(self):
     assign_perm("view_collection", self.group1, self.collection)
     assign_perm("edit_collection", self.group1, self.collection)
     user_perms, group_perms = get_user_group_perms(self.group1, self.collection)
     self.assertEqual(len(group_perms), 1)
     six.assertCountEqual(self, group_perms[0][2], ["view_collection", "edit_collection"])
     self.assertEqual(len(user_perms), 0)
Beispiel #3
0
    def test_user(self):
        assign_perm("view_collection", self.user, self.collection)
        assign_perm("edit_collection", self.user, self.collection)

        user_perms, group_perms = get_user_group_perms(self.user, self.collection)

        self.assertEqual(len(group_perms), 0)
        six.assertCountEqual(self, user_perms, ["view_collection", "edit_collection"])
Beispiel #4
0
 def test_group(self):
     self.collection.set_permission(Permission.EDIT, self.group1)
     user_perms, group_perms = get_user_group_perms(self.group1,
                                                    self.collection)
     self.assertEqual(len(group_perms), 1)
     self.assertCountEqual(group_perms[0][2],
                           [Permission.VIEW, Permission.EDIT])
     self.assertEqual(len(user_perms), 0)
Beispiel #5
0
    def test_user(self):
        self.collection.set_permission(Permission.EDIT, self.contributor)

        user_perms, group_perms = get_user_group_perms(self.contributor,
                                                       self.collection)

        self.assertEqual(len(group_perms), 0)
        self.assertCountEqual(user_perms, [Permission.VIEW, Permission.EDIT])
Beispiel #6
0
    def test_user_in_group(self):
        self.group1.user_set.add(self.contributor)
        assign_perm("view_collection", self.group1, self.collection)
        assign_perm("edit_collection", self.group1, self.collection)

        user_perms, group_perms = get_user_group_perms(self.contributor, self.collection)
        self.assertEqual(len(group_perms), 1)
        six.assertCountEqual(self, group_perms[0][2], ["view_collection", "edit_collection"])
        self.assertEqual(len(user_perms), 0)

        assign_perm("view_collection", self.contributor, self.collection)

        user_perms, group_perms = get_user_group_perms(self.contributor, self.collection)
        self.assertEqual(len(group_perms), 1)
        six.assertCountEqual(self, group_perms[0][2], ["view_collection", "edit_collection"])
        self.assertEqual(len(user_perms), 1)
        six.assertCountEqual(self, user_perms, ["view_collection"])
Beispiel #7
0
    def test_user(self):
        assign_perm("view_collection", self.contributor, self.collection)
        assign_perm("edit_collection", self.contributor, self.collection)

        user_perms, group_perms = get_user_group_perms(self.contributor, self.collection)

        self.assertEqual(len(group_perms), 0)
        six.assertCountEqual(self, user_perms, ["view_collection", "edit_collection"])
    def test_user_in_group(self):
        self.group1.user_set.add(self.contributor)
        assign_perm("view_collection", self.group1, self.collection)
        assign_perm("edit_collection", self.group1, self.collection)

        user_perms, group_perms = get_user_group_perms(self.contributor, self.collection)
        self.assertEqual(len(group_perms), 1)
        self.assertCountEqual(group_perms[0][2], ["view_collection", "edit_collection"])
        self.assertEqual(len(user_perms), 0)

        assign_perm("view_collection", self.contributor, self.collection)

        user_perms, group_perms = get_user_group_perms(self.contributor, self.collection)
        self.assertEqual(len(group_perms), 1)
        self.assertCountEqual(group_perms[0][2], ["view_collection", "edit_collection"])
        self.assertEqual(len(user_perms), 1)
        self.assertCountEqual(user_perms, ["view_collection"])
Beispiel #9
0
    def test_user_in_group(self):
        self.group1.user_set.add(self.contributor)
        self.collection.set_permission(Permission.EDIT, self.group1)

        user_perms, group_perms = get_user_group_perms(self.contributor,
                                                       self.collection)
        self.assertEqual(len(group_perms), 1)
        self.assertCountEqual(group_perms[0][2],
                              [Permission.VIEW, Permission.EDIT])
        self.assertEqual(len(user_perms), 0)

        self.collection.set_permission(Permission.VIEW, self.contributor)

        user_perms, group_perms = get_user_group_perms(self.contributor,
                                                       self.collection)
        self.assertEqual(len(group_perms), 1)
        self.assertCountEqual(group_perms[0][2],
                              [Permission.VIEW, Permission.EDIT])
        self.assertEqual(len(user_perms), 1)
        self.assertCountEqual(user_perms, [Permission.VIEW])
Beispiel #10
0
    def test_user_in_multiple_groups(self):
        self.group1.user_set.add(self.user)
        self.group2.user_set.add(self.user)
        assign_perm("view_collection", self.group1, self.collection)
        assign_perm("edit_collection", self.group1, self.collection)
        assign_perm("view_collection", self.group2, self.collection)

        user_perms, group_perms = get_user_group_perms(self.user, self.collection)
        self.assertEqual(len(group_perms), 2)
        self.assertEqual(group_perms[0][0], self.group1.pk)
        six.assertCountEqual(self, group_perms[0][2], ["view_collection", "edit_collection"])
        self.assertEqual(group_perms[1][0], self.group2.pk)
        six.assertCountEqual(self, group_perms[1][2], ["view_collection"])
        self.assertEqual(len(user_perms), 0)
Beispiel #11
0
    def test_user_in_multiple_groups(self):
        self.group1.user_set.add(self.contributor)
        self.group2.user_set.add(self.contributor)
        assign_perm("view_collection", self.group1, self.collection)
        assign_perm("edit_collection", self.group1, self.collection)
        assign_perm("view_collection", self.group2, self.collection)

        user_perms, group_perms = get_user_group_perms(self.contributor, self.collection)
        self.assertEqual(len(group_perms), 2)
        self.assertEqual(group_perms[0][0], self.group1.pk)
        six.assertCountEqual(self, group_perms[0][2], ["view_collection", "edit_collection"])
        self.assertEqual(group_perms[1][0], self.group2.pk)
        six.assertCountEqual(self, group_perms[1][2], ["view_collection"])
        self.assertEqual(len(user_perms), 0)
Beispiel #12
0
    def test_user_in_multiple_groups(self):
        self.group1.user_set.add(self.contributor)
        self.group2.user_set.add(self.contributor)
        self.collection.set_permission(Permission.EDIT, self.group1)
        self.collection.set_permission(Permission.VIEW, self.group2)

        user_perms, group_perms = get_user_group_perms(self.contributor,
                                                       self.collection)
        self.assertEqual(len(group_perms), 2)
        self.assertEqual(group_perms[0][0], self.group1.pk)
        self.assertCountEqual(group_perms[0][2],
                              [Permission.VIEW, Permission.EDIT])
        self.assertEqual(group_perms[1][0], self.group2.pk)
        self.assertCountEqual(group_perms[1][2], [Permission.VIEW])
        self.assertEqual(len(user_perms), 0)
Beispiel #13
0
    def _get_object_permissions(self, user, instance):
        def format_permissions(perms):
            return [perm.replace('_{}'.format(instance._meta.model_name), '') for perm in perms]

        if user.is_authenticated():
            permissions_user, permissions_group = get_user_group_perms(user, instance)
        else:
            permissions_user, permissions_group = [], []
        permissions_public = shortcuts.get_perms(AnonymousUser(), instance)

        return {
            'user': format_permissions(permissions_user),
            'group': format_permissions(permissions_group),
            'public': format_permissions(permissions_public),
        }