From 752c33ad6a412d496fece6876e48ab6c7e2474a4 Mon Sep 17 00:00:00 2001 From: Marian Sigler Date: Sun, 7 Oct 2012 23:38:30 +0200 Subject: Add "captcha"; Send mail when a new account is created. --- app.py | 8 ++++++++ default_settings.py | 3 ++- forms.py | 4 +++- templates/about.html | 4 ++-- templates/register.html | 1 + utils.py | 3 ++- 6 files changed, 18 insertions(+), 5 deletions(-) diff --git a/app.py b/app.py index bb4b072..6c64043 100644 --- a/app.py +++ b/app.py @@ -113,6 +113,14 @@ def register_complete(token): # populate request context and session assert login_user(user.uid, user.password) + if app.config.get('MAIL_REGISTER_NOTIFY'): + print 'mail versandt an %s' % app.config['MAIL_REGISTER_NOTIFY'] + send_mail( + app.config['MAIL_REGISTER_NOTIFY'], + u'[accounts] Neuer Benutzer %s' % username, + 'Benutzername: %s\nE-Mail: %s\n' % (username, mail) + ) + flash(u'Benutzer erfolgreich angelegt.', 'success') return redirect(url_for('settings')) diff --git a/default_settings.py b/default_settings.py index 2a74829..62337ac 100644 --- a/default_settings.py +++ b/default_settings.py @@ -8,7 +8,8 @@ SECRET_KEY = 'remember to change this to something more random and secret' PASSWORD_ENCRYPTION_KEY = '.\x14\xa7\x1b\xa2:\x1b\xb7\xbck\x1bD w\xab\x87a\xb4\xb7\xca\xf1\x06\xb0\x9f?q\x13\x05\x8dY\xe5<' MAIL_DEFAULT_SENDER = 'help-me-help-me-please@spline.de' -MAIL_CONFIRM_SENDER = 'spline accounts ' +MAIL_CONFIRM_SENDER = 'spline accounts ' +MAIL_REGISTER_NOTIFY = None SENDMAIL_COMMAND = '/usr/sbin/sendmail' diff --git a/forms.py b/forms.py index b14e612..963ef6e 100644 --- a/forms.py +++ b/forms.py @@ -19,6 +19,8 @@ class RegisterForm(Form): NotRegexp(_username_exclude_re, message=u'Dieser Benutzername ist nicht erlaubt.'), ]) mail = TextField('E-Mail-Adresse', [validators.Email(), validators.Length(min=6, max=50)]) + question = TextField('Hauptstadt von Deutschland?', [validators.AnyOf(('Berlin', 'berlin'), + message=u'Bitte beantworte die Frage.')]) def validate_username(form, field): try: @@ -30,7 +32,7 @@ class RegisterForm(Form): raise ValidationError(Markup(u'Dieser Benutzername ist momentan nicht erlaubt. ' u'Weitere Informationen' % url_for('about'))) else: - raise ValidationError(u'Dieser Benutzername ist schon vergeben') + raise ValidationError(u'Dieser Benutzername ist schon vergeben.') def validate_mail(form, field): #TODO diff --git a/templates/about.html b/templates/about.html index 3056e97..ceb1fc8 100644 --- a/templates/about.html +++ b/templates/about.html @@ -25,8 +25,8 @@

Wenn du schon einen Benutzernamen in einem der alten Dienste hast, kannst - du uns Bescheid sagen, dann erstellen wir dir von Hand einen Account. -{# TODO: kontaktmöglichkeit #} + du uns Bescheid sagen, dann + erstellen wir dir von Hand einen Account.

Welche Dienste sind bisher dabei?

    diff --git a/templates/register.html b/templates/register.html index e724e2f..7f56280 100644 --- a/templates/register.html +++ b/templates/register.html @@ -16,6 +16,7 @@
    {{ render_field(form.username, autofocus="autofocus") }} {{ render_field(form.mail) }} + {{ render_field(form.question) }} {{ render_submit(value='E-Mail-Adresse bestätigen')}}
    {%- endblock %} diff --git a/utils.py b/utils.py index 595f770..8397344 100644 --- a/utils.py +++ b/utils.py @@ -234,7 +234,8 @@ def url_for(endpoint, **values): """Wrap `flask.url_for` so that it always returns https links""" #XXX: Drop this in favor of config.PREFERRED_URL_SCHEME when we require Flask 0.9 u = flask_url_for(endpoint, **values) - if '_external' in values and u.startswith('http://'): + if '_external' in values and u.startswith('http://') \ + and current_app.config['PREFERRED_URL_SCHEME'] == 'https': return 'https://' + u[7:] else: return u -- cgit v1.2.3-1-g7c22