def get_form_kwargs(self): kwargs = super(ProfileUpdateView, self).get_form_kwargs() kwargs['user'] = self.request.user return kwargs def form_valid(self, form): # Grab current user instance before we save form. We may need this to # send a warning email if the email address is changed. try: old_user = User.objects.get(id=self.request.user.id) except User.DoesNotExist: old_user = None form.save() # We have to look up the email address from the form's # cleaned data because the object created by form.save() can # either be a user or profile depending on AUTH_PROFILE_MODULE new_email = form.cleaned_data['email'] if old_user and new_email != old_user.email: # Email address has changed - send a confirmation email to the old # address including a password reset link in case this is a # suspicious change. ctx = { 'user': self.request.user, 'site': get_current_site(self.request), 'reset_url': get_password_reset_url(old_user), 'new_email': new_email, }
def get_success_url(self): messages.success(self.request, _("Address saved")) return reverse('customer:address-detail', kwargs={'pk': self.get_object().pk }) class AddressDeleteView(DeleteView): model = UserAddress template_name = "customer/address_delete.html" def get_queryset(self): return UserAddress._default_manager.filter(user=self.request.user)
class PasswordResetForm(auth_forms.PasswordResetForm): communication_type_code = "PASSWORD_RESET" def save(self, domain_override=None, subject_template_name='registration/password_reset_subject.txt', email_template_name='registration/password_reset_email.html', use_https=False, token_generator=default_token_generator, from_email=None, request=None, **kwargs): """ Generates a one-use only link for resetting password and sends to the user. """ site = get_current_site(request) if domain_override is not None: site.domain = site.name = domain_override for user in self.users_cache: # Build reset url reset_url = "%s://%s%s" % ( 'https' if use_https else 'http', site.domain, get_password_reset_url(user)) ctx = {