コード例 #1
0
ファイル: views.py プロジェクト: sand8080/helixweb
def _get_user_info(request, c, id):  # @ReservedAssignment
    resp = helix_cli.request(ModifyUserForm.get_users_req(id, request), request)
    c.update(process_helix_response(resp, "users", "users_error"))
    user = {}
    if "users" in resp:
        if len(resp["users"]) != 1:
            c["users_error"] = "HELIXAUTH_USER_ACCESS_DENIED"
        else:
            user = resp["users"][0]
    return user
コード例 #2
0
ファイル: views.py プロジェクト: sand8080/helixweb
def modify_user(request, id):  # @ReservedAssignment
    c = {}
    c["action"] = ModifyUserForm.action
    resp = helix_cli.request(ModifyUserForm.get_active_groups_req(request), request)
    c.update(process_helix_response(resp, "groups", "groups_error"))
    groups = resp.get("groups", [])
    user = _get_user_info(request, c, id)
    c["user"] = user
    if request.method == "POST":
        form = ModifyUserForm(request.POST, groups=groups, request=request)
        if form.is_valid():
            resp = helix_cli.request(form.as_helix_request(), request)
            form.handle_errors(resp)
            if resp["status"] == "ok":
                new_login = request.POST.get("new_login")
                if new_login:
                    c["user"]["login"] = new_login
                if request.POST.get("stay_here", "0") != "1":
                    return HttpResponseRedirect("/auth/user_info/%s" % user["id"])
    else:
        form = ModifyUserForm.from_user_info(user, groups, request)
    c["form"] = form
    return render_to_response("user/modify_user.html", c, context_instance=RequestContext(request))