Merge with master.

This commit is contained in:
Nicholas Staples
2016-02-29 14:59:15 +00:00
60 changed files with 881 additions and 510 deletions

View File

@@ -1,3 +1,5 @@
import re
from functools import wraps
from flask import (abort, session)
@@ -28,6 +30,11 @@ class BrowsableItem(object):
pass
class InvalidEmailError(Exception):
def __init__(self, message):
self.message = message
class InvalidPhoneError(Exception):
def __init__(self, message):
self.message = message
@@ -74,6 +81,19 @@ def format_phone_number(number):
return '+447{}{}{}'.format(*re.findall('...', number))
def validate_email_address(email_address):
if re.match(r"(^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$)", email_address):
return
raise InvalidEmailError('Not a valid email address')
def validate_recipient(recipient, template_type):
return {
'email': validate_email_address,
'sms': validate_phone_number
}[template_type](recipient)
def user_has_permissions(*permissions):
def wrap(func):
@wraps(func)