Enabled 'Send Password via eMail' function.

This commit is contained in:
2018-01-24 12:59:37 +01:00
parent cb6c00eba3
commit c7933ab107
4 changed files with 33 additions and 4 deletions

View File

@@ -1,14 +1,14 @@
- Veranstaltungsnummern - Veranstaltungsnummern
- Passwort per Mail zusenden
- Anmeldungstext - Anmeldungstext
- One-Click-Links in Accept-Mails - One-Click-Links in Accept-Mails
- Download Veranstaltungsliste - Download Veranstaltungsliste
- ApproachForm aufteilen - ApproachForm aufteilen
- Teilnehmerzahl und Trainerzahl kombinieren - Teilnehmerzahl und Trainerzahl kombinieren
- Besserer Zurück-Button in Formulare
- Save as Draft - Save as Draft
- Edit Event - Edit Event
- Copy Event - Copy Event
- Tourenreferent managed Gruppen der Subreferenten - Tourenreferent managed Gruppen der Subreferenten
- Initialtexte und Placeholder von forms in config - Initialtexte und Placeholder von forms in config
- Passwort vergessen Funktion
- Besserer Zurück-Button in Formulare

View File

@@ -127,3 +127,28 @@ class EventToPublishMail(AbstractEventMail):
def _get_recipients(self): def _get_recipients(self):
return get_recipients('publish', self._event.sport) 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)

View File

@@ -32,7 +32,7 @@ class SetPasswordForm(forms.Form):
label=_(u'Neues Passwort wiederholen'), label=_(u'Neues Passwort wiederholen'),
widget=forms.PasswordInput) widget=forms.PasswordInput)
send_password_mail = forms.BooleanField(required=False, send_password_mail = forms.BooleanField(required=False,
disabled=True, initial=False,
label=_(u'Neues Passwort per E-Mail zusenden'), label=_(u'Neues Passwort per E-Mail zusenden'),
) )

View File

@@ -4,6 +4,7 @@ from django.contrib.auth import views as auth_views
from django.urls import reverse_lazy from django.urls import reverse_lazy
from django.utils.translation import ugettext as _ from django.utils.translation import ugettext as _
from .. import emails
from .. import forms from .. import forms
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -41,4 +42,7 @@ class SetPasswordView(auth_views.PasswordChangeView):
def form_valid(self, form): def form_valid(self, form):
r = super(SetPasswordView, self).form_valid(form) r = super(SetPasswordView, self).form_valid(form)
messages.success(self.request, _(u'Passwort gespeichert.')) 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