def password_change(request, template_name='registration/password_change_form.html', post_change_redirect=None, password_change_form=PasswordChangeForm): if post_change_redirect is None: post_change_redirect = reverse('auth_password_change_done') if is_ldap_user(request.user): messages.error(request, _("Can not update password, please contact LDAP admin.")) if request.method == "POST": form = password_change_form(user=request.user, data=request.POST) if form.is_valid(): form.save() if request.session.get('force_passwd_change', False): del request.session['force_passwd_change'] UserOptions.objects.unset_force_passwd_change( request.user.username) update_session_auth_hash(request, request.user) return HttpResponseRedirect(post_change_redirect) else: form = password_change_form(user=request.user) return render_to_response(template_name, { 'form': form, 'min_len': config.USER_PASSWORD_MIN_LENGTH, 'strong_pwd_required': config.USER_STRONG_PASSWORD_REQUIRED, 'level': config.USER_PASSWORD_STRENGTH_LEVEL, 'force_passwd_change': request.session.get('force_passwd_change', False), }, context_instance=RequestContext(request))
def password_change(request, template_name='registration/password_change_form.html', post_change_redirect=None, password_change_form=PasswordChangeForm): if post_change_redirect is None: post_change_redirect = reverse('auth_password_change_done') if is_ldap_user(request.user): messages.error(request, _("Can not update password, please contact LDAP admin.")) if request.method == "POST": form = password_change_form(user=request.user, data=request.POST) if form.is_valid(): form.save() if request.session.get('force_passwd_change', False): del request.session['force_passwd_change'] UserOptions.objects.unset_force_passwd_change( request.user.username) update_session_auth_hash(request, request.user) return HttpResponseRedirect(post_change_redirect) else: form = password_change_form(user=request.user) return render_to_response(template_name, { 'form': form, 'min_len': config.USER_PASSWORD_MIN_LENGTH, 'strong_pwd_required': config.USER_STRONG_PASSWORD_REQUIRED, 'level': config.USER_PASSWORD_STRENGTH_LEVEL, 'force_passwd_change': request.session.get('force_passwd_change', False), }, context_instance=RequestContext(request))
def password_change(request, template_name='registration/password_change_form.html', post_change_redirect=None, password_change_form=PasswordChangeForm): if post_change_redirect is None: post_change_redirect = reverse('auth_password_change_done') if is_ldap_user(request.user): messages.error( request, _("Can not update password, please contact LDAP admin.")) if settings.ENABLE_USER_SET_CONTACT_EMAIL: user_profile = Profile.objects.get_profile_by_user( request.user.username) if user_profile is None or not user_profile.contact_email: # set contact email and password password_change_form = SetContactEmailPasswordForm template_name = 'registration/password_set_form.html' elif request.user.enc_password == UNUSABLE_PASSWORD: # set password only password_change_form = SetPasswordForm template_name = 'registration/password_set_form.html' if request.method == "POST": form = password_change_form(user=request.user, data=request.POST) if form.is_valid(): form.save() if request.session.get('force_passwd_change', False): del request.session['force_passwd_change'] UserOptions.objects.unset_force_passwd_change( request.user.username) update_session_auth_hash(request, request.user) return HttpResponseRedirect(post_change_redirect) else: form = password_change_form(user=request.user) return render( request, template_name, { 'form': form, 'min_len': config.USER_PASSWORD_MIN_LENGTH, 'strong_pwd_required': config.USER_STRONG_PASSWORD_REQUIRED, 'level': config.USER_PASSWORD_STRENGTH_LEVEL, 'force_passwd_change': request.session.get('force_passwd_change', False), })