mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-25 08:44:23 -04:00
Add function to check if given email in whitelist
This commit is contained in:
10
app/utils.py
10
app/utils.py
@@ -3,7 +3,8 @@ import csv
|
|||||||
from io import StringIO
|
from io import StringIO
|
||||||
from os import path
|
from os import path
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
from flask import (abort, session, request, redirect, url_for)
|
from flask import (abort, current_app, session, request, redirect, url_for)
|
||||||
|
from flask_login import current_user
|
||||||
import pyexcel
|
import pyexcel
|
||||||
import pyexcel.ext.io
|
import pyexcel.ext.io
|
||||||
import pyexcel.ext.xls
|
import pyexcel.ext.xls
|
||||||
@@ -41,7 +42,6 @@ def user_has_permissions(*permissions, admin_override=False, any_=False):
|
|||||||
def wrap(func):
|
def wrap(func):
|
||||||
@wraps(func)
|
@wraps(func)
|
||||||
def wrap_func(*args, **kwargs):
|
def wrap_func(*args, **kwargs):
|
||||||
from flask_login import current_user
|
|
||||||
if current_user and current_user.is_authenticated:
|
if current_user and current_user.is_authenticated:
|
||||||
if current_user.has_permissions(
|
if current_user.has_permissions(
|
||||||
permissions=permissions,
|
permissions=permissions,
|
||||||
@@ -201,3 +201,9 @@ class Spreadsheet():
|
|||||||
|
|
||||||
def get_help_argument():
|
def get_help_argument():
|
||||||
return request.args.get('help') if request.args.get('help') in ('1', '2', '3') else None
|
return request.args.get('help') if request.args.get('help') in ('1', '2', '3') else None
|
||||||
|
|
||||||
|
|
||||||
|
def user_in_whitelist(email_address):
|
||||||
|
valid_domains = current_app.config.get('EMAIL_DOMAIN_REGEXES', [])
|
||||||
|
email_regex = "[^\@^\s]+@([^@^\\.^\\s]+\.)*({})$".format("|".join(valid_domains))
|
||||||
|
return bool(re.match(email_regex, email_address))
|
||||||
|
|||||||
Reference in New Issue
Block a user