#30499: PasswordResetView should be allowed to set `domain_override`
-------------------------------------------+------------------------
               Reporter:  Mattia Procopio  |          Owner:  nobody
                   Type:  New feature      |         Status:  new
              Component:  Uncategorized    |        Version:  master
               Severity:  Normal           |       Keywords:
           Triage Stage:  Unreviewed       |      Has patch:  0
    Needs documentation:  0                |    Needs tests:  0
Patch needs improvement:  0                |  Easy pickings:  0
                  UI/UX:  0                |
-------------------------------------------+------------------------
 Actually if the domain of the link sent within the mail needs to be
 overridden, the view `form_valid` method should be replaced or the view
 should subclass an own instance of PasswordContextMixin.
 I think allowing to inject a custom domain from `urls.py` would help with
 DRY in this case as the new domain can be passed when declaring
 `PasswordResetView.as_view(domain_override="mynew.domain.com"`)

 I am thinking of adding simply domain_override = None as new class
 attribute and adding it to opts:


 {{{
 class PasswordResetView(PasswordContextMixin, FormView):
     ...
     domain_override = None

     def form_valid(self, form):
         opts = {
             'use_https': self.request.is_secure(),
             'token_generator': self.token_generator,
             'from_email': self.from_email,
             'email_template_name': self.email_template_name,
             'subject_template_name': self.subject_template_name,
             'request': self.request,
             'html_email_template_name': self.html_email_template_name,
             'extra_email_context': self.extra_email_context,
             'domain_override': self.domain_override,
         }
         form.save(**opts)
         return super().form_valid(form)
 }}}

-- 
Ticket URL: <https://code.djangoproject.com/ticket/30499>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

-- 
You received this message because you are subscribed to the Google Groups 
"Django updates" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-updates+unsubscr...@googlegroups.com.
To post to this group, send email to django-updates@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-updates/054.3cf108063bb8422deb82bc2777ad8ecb%40djangoproject.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to