def dispatch(self, request, *args, **kwargs): render_as = kwargs.get('render_as') if not render_as == 'email': return self.dispatch_with_priv(request, *args, **kwargs) if not domain_has_privilege(request.domain, privileges.CUSTOM_REPORTS): raise PermissionDenied() return super(CustomProjectReportDispatcher, self).dispatch(request, *args, **kwargs)
def delete_commcare_user(request, domain, user_id): user = CommCareUser.get_by_user_id(user_id, domain) if not _can_edit_workers_location(request.couch_user, user): raise PermissionDenied() user.retire() messages.success(request, "User %s has been deleted. All their submissions and cases will be permanently deleted in the next few minutes" % user.username) return HttpResponseRedirect(reverse(MobileWorkerListView.urlname, args=[domain]))
def ensure_request_has_privilege(request, slug, **assignment): """ DEPRECATED """ warnings.warn( '`ensure_request_has_privilege` is deprecated. You likely want ' '`has_permission` or one of the `requires_privilege` decorators', DeprecationWarning) if not has_privilege(request, slug, **assignment): raise PermissionDenied()
def delete_commcare_user(request, domain, user_id): user = CommCareUser.get_by_user_id(user_id, domain) if not _can_edit_workers_location(request.couch_user, user): raise PermissionDenied() if (user.user_location_id and SQLLocation.objects.get_or_None(location_id=user.user_location_id, user_id=user._id)): messages.error(request, _("This is a location user. You must delete the " "corresponding location before you can delete this user.")) return HttpResponseRedirect(reverse(EditCommCareUserView.urlname, args=[domain, user_id])) user.retire() messages.success(request, "User %s has been deleted. All their submissions and cases will be permanently deleted in the next few minutes" % user.username) return HttpResponseRedirect(reverse(MobileWorkerListView.urlname, args=[domain]))
def force_user_412(request, domain, user_id): user = CommCareUser.get_by_user_id(user_id, domain) if not _can_edit_workers_location(request.couch_user, user): raise PermissionDenied() datadog_counter('commcare.force_user_412.count', tags=['domain:{}'.format(domain)]) SyncLogSQL.objects.filter(user_id=user_id).delete() messages.success( request, "Mobile Worker {}'s device data will be hard refreshed the next time they sync." .format(user.human_friendly_name)) return HttpResponseRedirect( reverse(EditCommCareUserView.urlname, args=[domain, user_id]) + '#user-permanent')
def dispatch(self, request, *args, **kwargs): if not can_add_extra_mobile_workers(request): raise PermissionDenied() return super(CreateCommCareUserModal, self).dispatch(request, *args, **kwargs)
def wrapped(request, *args, **kwargs): if not has_privilege(request, slug, **assignment): raise PermissionDenied() return fn(request, *args, **kwargs)