Ejemplo n.º 1
0
def signal_get_perms_user(sender, user, obj, **kwargs):
    """ return the permissions of @user on object @obj
    """
    if obj.username == 'jack':
        if user.username in ('mum', 'dad'):
            return get_perm_codenames_for_model(User)
        if user.username == 'bob':
            return ['another_custom_perm', ]
    return []
Ejemplo n.º 2
0
    def test_tags(self):
        template = ''.join((
            '{% load guardian_tags %}',
            '{% get_obj_perms someone for jack as "obj_perms" %}',
            '{{ obj_perms|join:" " }}',
        ))
        context = {'jack': self.user, 'someone': self.mum}
        output = render(template, context)

        self.assertEqual(
            set(output.split(' ')),
            set(get_perm_codenames_for_model(User)))

        context = {'jack': self.user, 'someone': self.bob}
        output = render(template, context)

        self.assertEqual(
            set(output.split(' ')),
            set(('another_custom_perm', )))