コード例 #1
0
ファイル: dispatcher.py プロジェクト: soitun/commcare-hq
 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)
コード例 #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]))
コード例 #3
0
ファイル: utils.py プロジェクト: stgraham2000/django-prbac
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()
コード例 #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]))
コード例 #5
0
ファイル: users.py プロジェクト: tstalka/commcare-hq
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')
コード例 #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)
コード例 #7
0
 def wrapped(request, *args, **kwargs):
     if not has_privilege(request, slug, **assignment):
         raise PermissionDenied()
     return fn(request, *args, **kwargs)