def account(request): user = request.user if request.method == 'POST': form = PasswordChangeForm(user=request.user, data=request.POST) if form.is_valid(): if not form.cleaned_data['old_password']: return render(request, 'setting/account.html', {'password_from': PasswordChangeForm(), 'alert_message': 'Wrong Password'}) password = form.cleaned_data['new_password2'] if password: user.set_password(password) user.save() return render(request, 'setting/account.html', {'password_form': PasswordChangeForm(), 'alert_message': 'Password updated successfully'}) else: form = PasswordChangeForm() return render(request, 'setting/account.html', {'password_form': form})
def password_change(request, pwdreset_key): user = PasswordReset.objects.is_valid(pwdreset_key) if not user: logger.error( "%s - account-pwdchange: key '%s', error: '%s'" % (request.META.get('REMOTE_ADDR'), pwdreset_key, 'Key not found')) return render_to_response('account/password_change_form.html', context_instance=RequestContext(request)) if request.method == 'POST': form = PasswordChangeForm(request.POST) if form.is_valid(): user.set_password(form.cleaned_data['new_password1']) user.save() PasswordReset.objects.expire_key(pwdreset_key) logger.info( "%s - account-pwdchange: key '%s', user '%s'" % (request.META.get('REMOTE_ADDR'), pwdreset_key, user.username)) return render_to_response('account/password_change_done.html', context_instance=RequestContext(request)) else: logger.error( "%s - account-pwdchange: key '%s', user '%s', error: '%s'" % (request.META.get('REMOTE_ADDR'), pwdreset_key, user.username, 'Password not valid')) else: form = PasswordChangeForm() return render_to_response('account/password_change_form.html', { 'form': form, 'user_cache': user }, context_instance=RequestContext(request))
def get(self, request, token=None): if token is None: self.context['form'] = PasswordChangeRequestForm() else: self.context['form'] = PasswordChangeForm() return render(request, self.template_name, self.context)
def change_password(request): context = {} if request.method == 'POST': form = PasswordChangeForm(request.POST, user=request.user) if form.is_valid(): user = form.save() logout(request) login(request, user) return redirect('/account/') else: form = PasswordChangeForm(user=request.user) context['form'] = form return render(request, 'account/password/change.html', context)
def test_password_invalid(self): data = {"new_password1": ""} form = PasswordChangeForm(data) self.assertFalse(form.is_valid()) data = {"new_password1": "abc"} form = PasswordChangeForm(data) self.assertFalse(form.is_valid()) data = {"new_password1": "abc", "new_password2": "abcd"} form = PasswordChangeForm(data) self.assertFalse(form.is_valid()) data = {"new_password1": "abc", "new_password2": "abc"} form = PasswordChangeForm(data) self.assertTrue(form.is_valid())
def change_password(request): context = {} if request.method == 'POST': form = PasswordChangeForm(request.POST, user=request.user) if form.is_valid(): new_password = form.cleaned_data['confirm_password'] user = request.user user.set_password(new_password) user.save() logout(request) login(request, user) return redirect('/account/') form = PasswordChangeForm(user=request.user) context['form'] = form return render(request, 'account/password/change.html', context)
def post(self, request): form = PasswordChangeForm(request.POST) if not form.is_valid(): message = first_error_message(form) raise BadRequestException(message) new_password1 = form.cleaned_data.get("new_password1") bk_token = request.COOKIES.get(settings.BK_COOKIE_NAME, None) data = {'new_password': new_password1} ok, message = change_password(bk_token, data) if not ok: return FailJsonResponse(message or "密码重置失败") return OKJsonResponse("success")
def post(self, request): form = PasswordChangeForm(request.POST) if form.is_valid(): user = request.user current_site = get_current_site(request) subject = 'Activate Your Phytochem Database Account' message = render_to_string('email_verification/email_verification.html', { 'account': user, 'domain': current_site.domain, 'uid': urlsafe_base64_encode(force_bytes(user.pk)), 'token': account_activation_token.make_token(user), }) if user.email_user(subject, message) == 1: return render(request, 'password_change/password_reset_done.html') else: messages.warning(request, 'Failed to confirm email') return render(request, 'password_change/password_reset_form.html', {'form': form})
def profile(request, user_id=None): user = get_object_or_404(User, pk=user_id) all_lessons = user.lessons.all() lesson_paginator = Paginator(all_lessons, 16) lesson_page = request.GET.get('page') try: lessons = lesson_paginator.page(lesson_page) except PageNotAnInteger: # If page is not an integer, deliver first page. lessons = lesson_paginator.page(1) except EmptyPage: # If page is out of range (e.g. 9999), deliver last page of results. lessons = lesson_paginator.page(lesson_paginator.num_pages) if request.user.is_authenticated() and user_id in [ None, str(request.user.id) ]: profile = request.user.get_profile() if request.method == "POST": form = ProfileForm(request.POST, profile=profile) if form.is_valid(): profile = form.save() form = ProfileForm(profile=profile) else: form = ProfileForm(profile=profile) cpass_form = PasswordChangeForm(request.user) return direct_to_template(request, "profile.html", { "lessons": lessons, "u": user, "form": form, "cpass_form": cpass_form }) elif request.user.is_anonymous() and user_id is None: return HttpResponseRedirect(reverse("account:auth_login")) else: user = get_object_or_404(User, pk=user_id, profile__professional_chef=True) return direct_to_template(request, "chef_profile.html", { "lessons": lessons, "u": user })
def post(self, request, token=None): if token is None: form = PasswordChangeRequestForm(request.POST) if form.is_valid(): user = get_object_or_404(User, email=form.cleaned_data['email']) obj, ret = PasswordChangeRequestModel.objects.get_or_create( user=user) messages.success( request, "Successfully created a password change request") obj.send_change_mail() return redirect("account:index") else: self.contex['form'] = form else: form = PasswordChangeForm(request.POST) if form.is_valid(): request_form = get_object_or_404(PasswordChangeRequestModel, token=token) request_form.user.set_password(form.cleaned_data['password']) request_form.user.save() messages.success(request, "Succesfully changed your password") request_form.delete() return redirect("account:index") else: self.context['form'] = form return render(request, self.template_name, self.context)
def get(self, request): form = PasswordChangeForm() return render(request, 'password_change/password_reset_form.html', {'form': form})