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 []
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', )))