def test_editpermission_index_view_can_copy_permissions_from_another_forum( self): # Setup group = GroupFactory.create() model = self.model UserForumPermissionFactory.create( permission=ForumPermission.objects.get(codename='can_see_forum'), forum=self.sub_forum_1, user=self.user, has_perm=False) UserForumPermissionFactory.create( permission=ForumPermission.objects.get(codename='can_read_forum'), forum=self.sub_forum_1, user=self.user, has_perm=True) UserForumPermissionFactory.create( permission=ForumPermission.objects.get( codename='can_start_new_topics'), forum=self.sub_forum_1, user=self.user, has_perm=False) GroupForumPermissionFactory.create( permission=ForumPermission.objects.get( codename='can_start_new_topics'), forum=self.sub_forum_1, group=group, has_perm=False) raw_url = 'admin:{}_{}_editpermission_index'.format( model._meta.app_label, self._get_module_name(model._meta)) # Run url = reverse(raw_url, kwargs={'forum_id': self.top_level_cat.id}) response = self.client.post(url, {'forum': self.sub_forum_1.id}) # Check assert response.status_code == 200 assert UserForumPermission.objects.filter( permission__codename='can_see_forum', forum=self.top_level_cat, user=self.user, has_perm=False).exists() assert UserForumPermission.objects.filter( permission__codename='can_read_forum', forum=self.top_level_cat, user=self.user, has_perm=True).exists() assert UserForumPermission.objects.filter( permission__codename='can_start_new_topics', forum=self.top_level_cat, user=self.user, has_perm=False).exists() assert GroupForumPermission.objects.filter( permission__codename='can_start_new_topics', forum=self.top_level_cat, group=group, has_perm=False).exists()
def test_editpermission_index_view_can_copy_permissions_from_another_forum(self): # Setup group = GroupFactory.create() model = self.model UserForumPermissionFactory.create( permission=ForumPermission.objects.get(codename='can_see_forum'), forum=self.sub_forum_1, user=self.user, has_perm=False) UserForumPermissionFactory.create( permission=ForumPermission.objects.get(codename='can_read_forum'), forum=self.sub_forum_1, user=self.user, has_perm=True) UserForumPermissionFactory.create( permission=ForumPermission.objects.get(codename='can_start_new_topics'), forum=self.sub_forum_1, user=self.user, has_perm=False) GroupForumPermissionFactory.create( permission=ForumPermission.objects.get(codename='can_start_new_topics'), forum=self.sub_forum_1, group=group, has_perm=False) raw_url = 'admin:{}_{}_editpermission_index'.format( model._meta.app_label, self._get_module_name(model._meta)) # Run url = reverse(raw_url, kwargs={'forum_id': self.top_level_cat.id}) response = self.client.post(url, {'forum': self.sub_forum_1.id}) # Check assert response.status_code == 200 assert UserForumPermission.objects.filter( permission__codename='can_see_forum', forum=self.top_level_cat, user=self.user, has_perm=False).exists() assert UserForumPermission.objects.filter( permission__codename='can_read_forum', forum=self.top_level_cat, user=self.user, has_perm=True).exists() assert UserForumPermission.objects.filter( permission__codename='can_start_new_topics', forum=self.top_level_cat, user=self.user, has_perm=False).exists() assert GroupForumPermission.objects.filter( permission__codename='can_start_new_topics', forum=self.top_level_cat, group=group, has_perm=False).exists()
def test_editpermission_index_view_do_not_allow_users_to_copy_permissions_if_they_do_not_have_the_required_permissions(self): # noqa: E501 group = GroupFactory.create() model = self.model UserForumPermissionFactory.create( permission=ForumPermission.objects.get(codename='can_see_forum'), forum=self.sub_forum_1, user=self.user, has_perm=False ) UserForumPermissionFactory.create( permission=ForumPermission.objects.get(codename='can_read_forum'), forum=self.sub_forum_1, user=self.user, has_perm=True ) UserForumPermissionFactory.create( permission=ForumPermission.objects.get(codename='can_start_new_topics'), forum=self.sub_forum_1, user=self.user, has_perm=False ) GroupForumPermissionFactory.create( permission=ForumPermission.objects.get(codename='can_start_new_topics'), forum=self.sub_forum_1, group=group, has_perm=False ) raw_url = 'admin:{}_{}_editpermission_index'.format( model._meta.app_label, self._get_module_name(model._meta) ) user = self.create_user(username='******', is_staff=True, is_superuser=False) client = Client() client.force_login(user) url = reverse(raw_url, kwargs={'forum_id': self.top_level_cat.id}) response = client.post(url, {'forum': self.sub_forum_1.id}) assert response.status_code == 200 assert not ( UserForumPermission .objects .filter( permission__codename='can_see_forum', forum=self.top_level_cat, user=self.user, has_perm=False ) .exists() ) assert not ( UserForumPermission .objects .filter( permission__codename='can_read_forum', forum=self.top_level_cat, user=self.user, has_perm=True ) .exists() ) assert not ( UserForumPermission .objects .filter( permission__codename='can_start_new_topics', forum=self.top_level_cat, user=self.user, has_perm=False ) .exists() ) assert not ( GroupForumPermission .objects .filter( permission__codename='can_start_new_topics', forum=self.top_level_cat, group=group, has_perm=False ) .exists() )