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
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))