mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-27 03:09:11 -04:00
Localize notification_utils to the admin
This changeset pulls in all of the notification_utils code directly into the admin and removes it as an external dependency. We are doing this to cut down on operational maintenance of the project and will begin removing parts of it no longer needed for the admin. Signed-off-by: Carlo Costino <carlo.costino@gsa.gov>
This commit is contained in:
@@ -11,9 +11,6 @@ from flask_wtf.file import FileAllowed
|
||||
from flask_wtf.file import FileField as FileField_wtf
|
||||
from flask_wtf.file import FileSize
|
||||
from markupsafe import Markup
|
||||
from notifications_utils.formatters import strip_all_whitespace
|
||||
from notifications_utils.insensitive_dict import InsensitiveDict
|
||||
from notifications_utils.recipients import InvalidPhoneError, validate_phone_number
|
||||
from werkzeug.utils import cached_property
|
||||
from wtforms import (
|
||||
BooleanField,
|
||||
@@ -66,6 +63,9 @@ from app.models.organization import Organization
|
||||
from app.utils import merge_jsonlike
|
||||
from app.utils.csv import get_user_preferred_timezone
|
||||
from app.utils.user_permissions import all_ui_permissions, permission_options
|
||||
from notifications_utils.formatters import strip_all_whitespace
|
||||
from notifications_utils.insensitive_dict import InsensitiveDict
|
||||
from notifications_utils.recipients import InvalidPhoneError, validate_phone_number
|
||||
|
||||
|
||||
def get_time_value_and_label(future_time):
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
import re
|
||||
from abc import ABC, abstractmethod
|
||||
|
||||
from notifications_utils.field import Field
|
||||
from notifications_utils.formatters import formatted_list
|
||||
from notifications_utils.recipients import InvalidEmailError, validate_email_address
|
||||
from notifications_utils.sanitise_text import SanitiseSMS
|
||||
from wtforms import ValidationError
|
||||
|
||||
from app.main._commonly_used_passwords import commonly_used_passwords
|
||||
from app.models.spreadsheet import Spreadsheet
|
||||
from app.utils.user import is_gov_user
|
||||
from notifications_utils.field import Field
|
||||
from notifications_utils.formatters import formatted_list
|
||||
from notifications_utils.recipients import InvalidEmailError, validate_email_address
|
||||
from notifications_utils.sanitise_text import SanitiseSMS
|
||||
|
||||
|
||||
class CommonlyUsedPassword:
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
from flask import jsonify, redirect, render_template, session, url_for
|
||||
from flask_login import current_user
|
||||
from notifications_python_client.errors import HTTPError
|
||||
from notifications_utils.recipients import format_phone_number_human_readable
|
||||
from notifications_utils.template import SMSPreviewTemplate
|
||||
|
||||
from app import current_service, notification_api_client, service_api_client
|
||||
from app.main import main
|
||||
from app.main.forms import SearchByNameForm
|
||||
from app.models.template_list import TemplateList
|
||||
from app.utils.user import user_has_permissions
|
||||
from notifications_utils.recipients import format_phone_number_human_readable
|
||||
from notifications_utils.template import SMSPreviewTemplate
|
||||
|
||||
|
||||
@main.route("/services/<uuid:service_id>/conversation/<uuid:notification_id>")
|
||||
|
||||
@@ -6,7 +6,6 @@ from itertools import groupby
|
||||
|
||||
from flask import Response, abort, jsonify, render_template, request, session, url_for
|
||||
from flask_login import current_user
|
||||
from notifications_utils.recipients import format_phone_number_human_readable
|
||||
from werkzeug.utils import redirect
|
||||
|
||||
from app import (
|
||||
@@ -30,6 +29,7 @@ from app.utils.csv import Spreadsheet
|
||||
from app.utils.pagination import generate_next_dict, generate_previous_dict
|
||||
from app.utils.time import get_current_financial_year
|
||||
from app.utils.user import user_has_permissions
|
||||
from notifications_utils.recipients import format_phone_number_human_readable
|
||||
|
||||
|
||||
@main.route("/services/<uuid:service_id>/dashboard")
|
||||
|
||||
@@ -15,7 +15,6 @@ from flask import (
|
||||
)
|
||||
from flask_login import current_user
|
||||
from markupsafe import Markup
|
||||
from notifications_utils.template import EmailPreviewTemplate, SMSBodyPreviewTemplate
|
||||
|
||||
from app import (
|
||||
current_service,
|
||||
@@ -35,6 +34,7 @@ from app.utils.pagination import (
|
||||
get_page_from_request,
|
||||
)
|
||||
from app.utils.user import user_has_permissions
|
||||
from notifications_utils.template import EmailPreviewTemplate, SMSBodyPreviewTemplate
|
||||
|
||||
|
||||
@main.route("/services/<uuid:service_id>/jobs")
|
||||
|
||||
@@ -10,12 +10,12 @@ from flask import (
|
||||
url_for,
|
||||
)
|
||||
from itsdangerous import SignatureExpired
|
||||
from notifications_utils.url_safe_token import check_token
|
||||
|
||||
from app.main import main
|
||||
from app.main.forms import NewPasswordForm
|
||||
from app.models.user import User
|
||||
from app.utils.login import log_in_user
|
||||
from notifications_utils.url_safe_token import check_token
|
||||
|
||||
|
||||
@main.route("/new-password/<path:token>", methods=["GET", "POST"])
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
from flask import current_app, render_template
|
||||
from flask_login import current_user
|
||||
from notifications_utils.international_billing_rates import INTERNATIONAL_BILLING_RATES
|
||||
|
||||
from app.main import main
|
||||
from app.main.forms import SearchByNameForm
|
||||
from app.main.views.sub_navigation_dictionaries import using_notify_nav
|
||||
from app.utils.user import user_is_logged_in
|
||||
from notifications_utils.international_billing_rates import INTERNATIONAL_BILLING_RATES
|
||||
|
||||
CURRENT_SMS_RATE = "1.72"
|
||||
|
||||
|
||||
@@ -7,10 +7,6 @@ from flask import abort, flash, redirect, render_template, request, session, url
|
||||
from flask_login import current_user
|
||||
from markupsafe import Markup
|
||||
from notifications_python_client.errors import HTTPError
|
||||
from notifications_utils import SMS_CHAR_COUNT_LIMIT
|
||||
from notifications_utils.insensitive_dict import InsensitiveDict
|
||||
from notifications_utils.recipients import RecipientCSV, first_column_headings
|
||||
from notifications_utils.sanitise_text import SanitiseASCII
|
||||
from xlrd.biffh import XLRDError
|
||||
from xlrd.xldate import XLDateError
|
||||
|
||||
@@ -39,6 +35,10 @@ from app.utils import PermanentRedirect, should_skip_template_page, unicode_trun
|
||||
from app.utils.csv import Spreadsheet, get_errors_for_csv
|
||||
from app.utils.templates import get_template
|
||||
from app.utils.user import user_has_permissions
|
||||
from notifications_utils import SMS_CHAR_COUNT_LIMIT
|
||||
from notifications_utils.insensitive_dict import InsensitiveDict
|
||||
from notifications_utils.recipients import RecipientCSV, first_column_headings
|
||||
from notifications_utils.sanitise_text import SanitiseASCII
|
||||
|
||||
|
||||
def get_example_csv_fields(column_headers, use_example_as_example, submitted_fields):
|
||||
|
||||
@@ -6,7 +6,6 @@ import jwt
|
||||
import requests
|
||||
from flask import Response, current_app, redirect, render_template, request, url_for
|
||||
from flask_login import current_user
|
||||
from notifications_utils.url_safe_token import generate_token
|
||||
|
||||
from app import login_manager, user_api_client
|
||||
from app.main import main
|
||||
@@ -16,6 +15,7 @@ from app.models.user import User
|
||||
from app.utils import hide_from_search_engines
|
||||
from app.utils.login import is_safe_redirect_url
|
||||
from app.utils.time import is_less_than_days_ago
|
||||
from notifications_utils.url_safe_token import generate_token
|
||||
|
||||
|
||||
def _reformat_keystring(orig):
|
||||
|
||||
@@ -4,7 +4,6 @@ from flask import abort, flash, jsonify, redirect, render_template, request, url
|
||||
from flask_login import current_user
|
||||
from markupsafe import Markup
|
||||
from notifications_python_client.errors import HTTPError
|
||||
from notifications_utils import SMS_CHAR_COUNT_LIMIT
|
||||
|
||||
from app import (
|
||||
current_service,
|
||||
@@ -30,6 +29,7 @@ from app.models.template_list import TemplateList, TemplateLists
|
||||
from app.utils import NOTIFICATION_TYPES, should_skip_template_page
|
||||
from app.utils.templates import get_template
|
||||
from app.utils.user import user_has_permissions
|
||||
from notifications_utils import SMS_CHAR_COUNT_LIMIT
|
||||
|
||||
form_objects = {
|
||||
"email": EmailTemplateForm,
|
||||
|
||||
@@ -3,7 +3,6 @@ import json
|
||||
from flask import current_app, redirect, render_template, request, session, url_for
|
||||
from flask_login import current_user
|
||||
from itsdangerous import SignatureExpired
|
||||
from notifications_utils.url_safe_token import check_token
|
||||
|
||||
from app import user_api_client
|
||||
from app.main import main
|
||||
@@ -15,6 +14,7 @@ from app.utils.login import (
|
||||
redirect_to_sign_in,
|
||||
redirect_when_logged_in,
|
||||
)
|
||||
from notifications_utils.url_safe_token import check_token
|
||||
|
||||
|
||||
@main.route("/two-factor-email-sent", methods=["GET"])
|
||||
|
||||
@@ -11,7 +11,6 @@ from flask import (
|
||||
url_for,
|
||||
)
|
||||
from flask_login import current_user
|
||||
from notifications_utils.url_safe_token import check_token
|
||||
|
||||
from app import user_api_client
|
||||
from app.event_handlers import (
|
||||
@@ -31,6 +30,7 @@ from app.main.forms import (
|
||||
)
|
||||
from app.models.user import User
|
||||
from app.utils.user import user_is_gov_user, user_is_logged_in
|
||||
from notifications_utils.url_safe_token import check_token
|
||||
|
||||
NEW_EMAIL = "new-email"
|
||||
NEW_MOBILE = "new-mob"
|
||||
|
||||
@@ -2,13 +2,13 @@ import json
|
||||
|
||||
from flask import abort, current_app, flash, redirect, render_template, session, url_for
|
||||
from itsdangerous import SignatureExpired
|
||||
from notifications_utils.url_safe_token import check_token
|
||||
|
||||
from app import user_api_client
|
||||
from app.main import main
|
||||
from app.main.forms import TwoFactorForm
|
||||
from app.models.user import User
|
||||
from app.utils.login import redirect_to_sign_in
|
||||
from notifications_utils.url_safe_token import check_token
|
||||
|
||||
|
||||
@main.route("/verify", methods=["GET", "POST"])
|
||||
|
||||
Reference in New Issue
Block a user