from django.contrib.auth.decorators import login_required, permission_required, user_passes_test def any_permission_required(*args): """ A decorator which checks user has any of the given permissions. permission required can not be used in its place as that takes only a single permission. """ def test_func(user): for perm in args: if user.has_perm(perm): return True return False return user_passes_test(test_func) #permission_required for comparisions def permission_required(perm, login_url=None): """ Decorator for views that checks whether a user has a particular permission enabled, redirecting to the log-in page if necessary. """ return user_passes_test(lambda u: u.has_perm(perm), login_url=login_url)