Пример #1
0
 def _get_gma(self, attrs=None, name=None, model=None):
     """
     Returns ``GuardedModelAdmin`` instance.
     """
     attrs = attrs or {}
     name = str(name or 'GMA')
     model = model or User
     GMA = type(name, (GuardedModelAdmin,), attrs)
     gma = GMA(model, admin.site)
     return gma
Пример #2
0
 def _get_gma(self, attrs=None, name=None, model=None):
     """
     Returns ``GuardedModelAdmin`` instance.
     """
     attrs = attrs or {}
     name = str(name or 'GMA')
     model = model or User
     GMA = type(name, (GuardedModelAdmin, ), attrs)
     gma = GMA(model, admin.site)
     return gma
Пример #3
0
    def test_view_manage_user(self):
        self._login_superuser()
        url = reverse('admin:%s_%s_permissions_manage_user' % self.obj_info,
                      args=[self.obj.pk, self.user.pk])
        response = self.client.get(url)
        self.assertEqual(response.status_code, 200)

        choices = set([
            c[0]
            for c in response.context['form'].fields['permissions'].choices
        ])
        self.assertEqual(
            set([p.codename for p in get_perms_for_model(self.obj)]),
            choices,
        )

        # Add some perms and check if changes were persisted
        perms = [
            'change_%s' % self.obj_info[1],
            'delete_%s' % self.obj_info[1]
        ]
        data = {'permissions': perms}
        response = self.client.post(url, data, follow=True)
        self.assertEqual(len(response.redirect_chain), 1)
        self.assertEqual(response.redirect_chain[0][1], 302)
        self.assertIn('selected', str(response.context['form']))
        self.assertEqual(
            set(get_perms(self.user, self.obj)),
            set(perms),
        )

        # Remove perm and check if change was persisted
        perms = ['change_%s' % self.obj_info[1]]
        data = {'permissions': perms}
        response = self.client.post(url, data, follow=True)
        self.assertEqual(len(response.redirect_chain), 1)
        self.assertEqual(response.redirect_chain[0][1], 302)

        self.assertEqual(
            set(get_perms(self.user, self.obj)),
            set(perms),
        )
Пример #4
0
    def test_view_manage_user(self):
        self._login_superuser()
        url = reverse('admin:%s_%s_permissions_manage_user' % self.obj_info,
                      args=[self.obj.pk, self.user.pk])
        response = self.client.get(url)
        self.assertEqual(response.status_code, 200)

        choices = set([c[0] for c in
                       response.context['form'].fields['permissions'].choices])
        self.assertEqual(
            set([p.codename for p in get_perms_for_model(self.obj)]),
            choices,
        )

        # Add some perms and check if changes were persisted
        perms = ['change_%s' % self.obj_info[
            1], 'delete_%s' % self.obj_info[1]]
        data = {'permissions': perms}
        response = self.client.post(url, data, follow=True)
        self.assertEqual(len(response.redirect_chain), 1)
        self.assertEqual(response.redirect_chain[0][1], 302)
        self.assertIn('selected', str(response.context['form']))
        self.assertEqual(
            set(get_perms(self.user, self.obj)),
            set(perms),
        )

        # Remove perm and check if change was persisted
        perms = ['change_%s' % self.obj_info[1]]
        data = {'permissions': perms}
        response = self.client.post(url, data, follow=True)
        self.assertEqual(len(response.redirect_chain), 1)
        self.assertEqual(response.redirect_chain[0][1], 302)

        self.assertEqual(
            set(get_perms(self.user, self.obj)),
            set(perms),
        )
Пример #5
0
 def __unicode__(self):
     return '%s | %s | %s' % (
         str(self.content_object),
         str(getattr(self, 'user', False)
             or self.group), str(self.permission.codename))
Пример #6
0
 def __unicode__(self):
     return '%s | %s | %s' % (
         str(self.content_object),
         str(getattr(self, 'user', False) or self.group),
         str(self.permission.codename))