Enabled 'Send Password via eMail' function.
This commit is contained in:
4
TODO.txt
4
TODO.txt
@@ -1,14 +1,14 @@
|
||||
- Veranstaltungsnummern
|
||||
- Passwort per Mail zusenden
|
||||
- Anmeldungstext
|
||||
- One-Click-Links in Accept-Mails
|
||||
- Download Veranstaltungsliste
|
||||
- ApproachForm aufteilen
|
||||
- Teilnehmerzahl und Trainerzahl kombinieren
|
||||
- Besserer Zurück-Button in Formulare
|
||||
- Save as Draft
|
||||
- Edit Event
|
||||
- Copy Event
|
||||
- Tourenreferent managed Gruppen der Subreferenten
|
||||
- Initialtexte und Placeholder von forms in config
|
||||
- Passwort vergessen Funktion
|
||||
- Besserer Zurück-Button in Formulare
|
||||
|
||||
|
||||
@@ -127,3 +127,28 @@ class EventToPublishMail(AbstractEventMail):
|
||||
|
||||
def _get_recipients(self):
|
||||
return get_recipients('publish', self._event.sport)
|
||||
|
||||
|
||||
class PasswordSetEmail(AbstractMail):
|
||||
_subject = u'[DAV Veranstaltungen] Zugangsdaten'
|
||||
_template_name = 'dav_events/emails/password_set.txt'
|
||||
|
||||
def __init__(self, user, password):
|
||||
self._user = user
|
||||
self._password = password
|
||||
|
||||
def _get_recipients(self):
|
||||
r = '{fullname} <{email}>'.format(fullname=self._user.get_full_name(),
|
||||
email=self._user.email)
|
||||
return [r]
|
||||
|
||||
def _get_body(self):
|
||||
template_name = self._template_name
|
||||
template = get_template(template_name)
|
||||
context = {
|
||||
'base_url': config.BASE_URL,
|
||||
'fullname': self._user.get_full_name(),
|
||||
'username': self._user.username,
|
||||
'password': self._password
|
||||
}
|
||||
return template.render(context)
|
||||
|
||||
@@ -32,7 +32,7 @@ class SetPasswordForm(forms.Form):
|
||||
label=_(u'Neues Passwort wiederholen'),
|
||||
widget=forms.PasswordInput)
|
||||
send_password_mail = forms.BooleanField(required=False,
|
||||
disabled=True,
|
||||
initial=False,
|
||||
label=_(u'Neues Passwort per E-Mail zusenden'),
|
||||
)
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ from django.contrib.auth import views as auth_views
|
||||
from django.urls import reverse_lazy
|
||||
from django.utils.translation import ugettext as _
|
||||
|
||||
from .. import emails
|
||||
from .. import forms
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
@@ -41,4 +42,7 @@ class SetPasswordView(auth_views.PasswordChangeView):
|
||||
def form_valid(self, form):
|
||||
r = super(SetPasswordView, self).form_valid(form)
|
||||
messages.success(self.request, _(u'Passwort gespeichert.'))
|
||||
return r
|
||||
if form.cleaned_data.get('send_password_mail', False):
|
||||
email = emails.PasswordSetEmail(self.request.user, form.cleaned_data['new_password'])
|
||||
email.send()
|
||||
return r
|
||||
|
||||
Reference in New Issue
Block a user