summaryrefslogtreecommitdiffstats
path: root/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'utils.py')
-rw-r--r--utils.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/utils.py b/utils.py
index 27dfb33..24a17b2 100644
--- a/utils.py
+++ b/utils.py
@@ -45,6 +45,16 @@ def login_required(f):
return f(*args, **kwargs)
return login_required_
+def admin_required(f):
+ @wraps(f)
+ def admin_required_(*args, **kwargs):
+ if not g.user:
+ raise Forbidden(u'Bitte einloggen!')
+ if g.user.uid not in current_app.config.get('ADMIN_USERS', []):
+ raise Forbidden(u'Du bist kein Admin.')
+ return f(*args, **kwargs)
+ return admin_required_
+
def logout_required(f):
@wraps(f)
def logout_required_(*args, **kwargs):
@@ -186,7 +196,19 @@ class Service(object):
def __repr__(self):
return '<Service %s>' % self.id
+
def ensure_utf8(s):
if isinstance(s, unicode):
s = s.encode('utf8')
return s
+
+
+def send_register_confirmation_mail(username, mail):
+ confirm_token = make_confirmation('register', (username, mail))
+ confirm_link = url_for('register_complete', token=confirm_token, _external=True)
+
+ body = render_template('mail/register.txt', username=username,
+ mail=mail, link=confirm_link)
+
+ send_mail(mail, u'E-Mail-Adresse bestätigen', body,
+ sender=current_app.config.get('MAIL_CONFIRM_SENDER'))