Enabled 'Send Password via eMail' function.
This commit is contained in:
4
TODO.txt
4
TODO.txt
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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'),
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -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.'))
|
||||||
|
if form.cleaned_data.get('send_password_mail', False):
|
||||||
|
email = emails.PasswordSetEmail(self.request.user, form.cleaned_data['new_password'])
|
||||||
|
email.send()
|
||||||
return r
|
return r
|
||||||
Reference in New Issue
Block a user