示例#1
0
 def _inner(request, domain, *args, **kwargs):
     if not hasattr(request, "couch_user"):
         return redirect_for_login_or_domain(request)
     elif request.user.is_superuser or permission_check(request.couch_user, domain):
         return view_func(request, domain, *args, **kwargs)
     else:
         if request.is_ajax():
             return HttpResponse(_("Sorry, you don't have permission to do this action!"), status=403)
         raise PermissionDenied()
示例#2
0
 def _inner(request, domain, *args, **kwargs):
     if not hasattr(request, "couch_user"):
         return redirect_for_login_or_domain(request)
     elif request.user.is_superuser or permission_check(
             request.couch_user, domain):
         return view_func(request, domain, *args, **kwargs)
     else:
         if request.is_ajax():
             return HttpResponse(_(
                 "Sorry, you don't have permission to do this action!"),
                                 status=403)
         raise PermissionDenied()
示例#3
0
 def _inner(request, domain, couch_user_id, *args, **kwargs):
     go_ahead = False
     if hasattr(request, "couch_user"):
         user = request.couch_user
         if user.is_superuser or user.user_id == couch_user_id or (hasattr(user, "is_domain_admin") and user.is_domain_admin()):
             go_ahead = True
         else:
             couch_user = CouchUser.get_by_user_id(couch_user_id)
             if not couch_user:
                 raise Http404()
             if couch_user.is_commcare_user() and request.couch_user.can_edit_commcare_users():
                 go_ahead = True
             elif couch_user.is_web_user() and request.couch_user.can_edit_web_users():
                 go_ahead = True
     if go_ahead:
         return login_and_domain_required(view_func)(request, domain, couch_user_id, *args, **kwargs)
     else:
         return redirect_for_login_or_domain(request)
示例#4
0
 def _inner(request, domain, couch_user_id, *args, **kwargs):
     go_ahead = False
     if hasattr(request, "couch_user"):
         user = request.couch_user
         if user.is_superuser or user.user_id == couch_user_id or (hasattr(user, "is_domain_admin") and user.is_domain_admin()):
             go_ahead = True
         else:
             couch_user = CouchUser.get_by_user_id(couch_user_id)
             if not couch_user:
                 raise Http404()
             if couch_user.is_commcare_user() and request.couch_user.can_edit_commcare_users():
                 go_ahead = True
             elif couch_user.is_web_user() and request.couch_user.can_edit_web_users():
                 go_ahead = True
     if go_ahead:
         return login_and_domain_required(view_func)(request, domain, couch_user_id, *args, **kwargs)
     else:
         return redirect_for_login_or_domain(request)