from django.core.exceptions import PermissionDenied def user_is_cid_user_manager(function): def wrap(request, *args, **kwargs): if request.user.groups.filter(name='cid_user_manager').exists() or request.user.is_superuser: return function(request, *args, **kwargs) else: raise PermissionDenied wrap.__doc__ = function.__doc__ wrap.__name__ = function.__name__ return wrap