Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
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]))
Exemplo n.º 3
0
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()
Exemplo n.º 4
0
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]))
Exemplo n.º 5
0
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')
Exemplo n.º 6
0
 def dispatch(self, request, *args, **kwargs):
     if not can_add_extra_mobile_workers(request):
         raise PermissionDenied()
     return super(CreateCommCareUserModal,
                  self).dispatch(request, *args, **kwargs)
Exemplo n.º 7
0
 def wrapped(request, *args, **kwargs):
     if not has_privilege(request, slug, **assignment):
         raise PermissionDenied()
     return fn(request, *args, **kwargs)