def set_ips4_password(request): logger.debug("set_ips4_password called by user %s" % request.user) error = None if request.method == 'POST': logger.debug("Received POST request with form.") form = ServicePasswordForm(request.POST) logger.debug("Form is valid: %s" % form.is_valid()) if form.is_valid(): password = form.cleaned_data['password'] logger.debug("Form contains password of length %s" % len(password)) authinfo = AuthServicesInfoManager.get_auth_service_info(request.user) result = Ips4Manager.update_custom_password(authinfo.ips4_username, plain_password=password) member_id = Ips4Manager.get_user_id(authinfo.ips4_username) if result != "": AuthServicesInfoManager.update_user_ips4_info(authinfo.ips4_username, result, member_id, request.user) logger.info("Succesfully reset IPS4 password for user %s" % request.user) return HttpResponseRedirect("/services/") else: logger.error("Failed to install custom IPS4 password for user %s" % request.user) error = "Failed to install custom password." else: error = "Invalid password provided" else: logger.debug("Request is not type POST - providing empty form.") form = ServicePasswordForm() logger.debug("Rendering form for user %s" % request.user) context = {'form': form, 'service': 'IPS4', 'error': error} return render_to_response('registered/service_password.html', context, context_instance=RequestContext(request))