mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-20 22:40:31 -04:00
PART 1: Created and implemented enums throughout the codebase to replace hardcoded status strings, improving type safety and reducing the risk of typos.
This commit is contained in:
@@ -6,6 +6,7 @@ from app.main import main
|
||||
from app.models.organization import Organization
|
||||
from app.models.service import Service
|
||||
from app.models.user import InvitedOrgUser, InvitedUser, OrganizationUsers, User, Users
|
||||
from app.enums import InvitedUserStatus, InvitedOrgUserStatus
|
||||
|
||||
|
||||
@main.route("/invitation/<token>")
|
||||
@@ -29,14 +30,14 @@ def accept_invite(token):
|
||||
|
||||
abort(403)
|
||||
|
||||
if invited_user.status == "cancelled":
|
||||
if invited_user.status == InvitedUserStatus.CANCELLED.value:
|
||||
service = Service.from_id(invited_user.service)
|
||||
return render_template(
|
||||
"views/cancelled-invitation.html",
|
||||
from_user=invited_user.from_user.name,
|
||||
service_name=service.name,
|
||||
)
|
||||
if invited_user.status == "accepted":
|
||||
if invited_user.status == InvitedUserStatus.ACCEPTED.value:
|
||||
session.pop("invited_user_id", None)
|
||||
service = Service.from_id(invited_user.service)
|
||||
return redirect(
|
||||
@@ -104,7 +105,7 @@ def accept_org_invite(token):
|
||||
|
||||
abort(403)
|
||||
|
||||
if invited_org_user.status == "cancelled":
|
||||
if invited_org_user.status == InvitedOrgUserStatus.CANCELLED.value:
|
||||
organization = Organization.from_id(invited_org_user.organization)
|
||||
return render_template(
|
||||
"views/cancelled-invitation.html",
|
||||
@@ -112,7 +113,7 @@ def accept_org_invite(token):
|
||||
organization_name=organization.name,
|
||||
)
|
||||
|
||||
if invited_org_user.status == "accepted":
|
||||
if invited_org_user.status == InvitedOrgUserStatus.ACCEPTED.value:
|
||||
session.pop("invited_org_user_id", None)
|
||||
return redirect(
|
||||
url_for("main.organization_dashboard", org_id=invited_org_user.organization)
|
||||
|
||||
@@ -23,6 +23,7 @@ from app import (
|
||||
notification_api_client,
|
||||
service_api_client,
|
||||
)
|
||||
from app.enums import JobStatus
|
||||
from app.formatters import get_time_left, message_count_noun
|
||||
from app.main import main
|
||||
from app.main.forms import SearchNotificationsForm
|
||||
@@ -398,7 +399,7 @@ def get_job_partials(job):
|
||||
counts=_get_job_counts(job),
|
||||
status=filter_args["status"],
|
||||
notifications_deleted=(
|
||||
job.status == "finished" and not notifications["notifications"]
|
||||
job.status == JobStatus.FINISHED.value and not notifications["notifications"]
|
||||
),
|
||||
)
|
||||
service_data_retention_days = current_service.get_days_of_retention(
|
||||
|
||||
@@ -15,6 +15,7 @@ from flask import (
|
||||
)
|
||||
|
||||
from app import redis_client, user_api_client
|
||||
from app.enums import InvitedUserStatus
|
||||
from app.main import main
|
||||
from app.main.forms import (
|
||||
RegisterUserFromOrgInviteForm,
|
||||
@@ -254,14 +255,14 @@ def get_invited_user_email_address(invited_user_id):
|
||||
def invited_user_accept_invite(invited_user_id):
|
||||
invited_user = InvitedUser.by_id(invited_user_id)
|
||||
|
||||
if invited_user.status == "expired":
|
||||
if invited_user.status == InvitedUserStatus.EXPIRED.value:
|
||||
current_app.logger.error("User invitation has expired")
|
||||
flash(
|
||||
"Your invitation has expired; please contact the person who invited you for additional help."
|
||||
)
|
||||
abort(401)
|
||||
|
||||
if invited_user.status == "cancelled":
|
||||
if invited_user.status == InvitedUserStatus.CANCELLED.value:
|
||||
current_app.logger.error("User invitation has been cancelled")
|
||||
flash(
|
||||
"Your invitation is no longer valid; please contact the person who invited you for additional help."
|
||||
|
||||
@@ -52,6 +52,7 @@ from app.utils import DELIVERED_STATUSES, FAILURE_STATUSES, SENDING_STATUSES
|
||||
from app.utils.time import parse_naive_dt
|
||||
from app.utils.user import user_has_permissions, user_is_platform_admin
|
||||
from notifications_python_client.errors import HTTPError
|
||||
from app.enums import VerificationStatus
|
||||
|
||||
PLATFORM_ADMIN_SERVICE_PERMISSIONS = OrderedDict(
|
||||
[
|
||||
@@ -397,10 +398,10 @@ def get_service_verify_reply_to_address_partials(service_id, notification_id):
|
||||
if replace:
|
||||
existing = current_service.get_email_reply_to_address(replace)
|
||||
existing_is_default = existing["is_default"]
|
||||
verification_status = "pending"
|
||||
verification_status = VerificationStatus.PENDING.value
|
||||
is_default = True if (request.args.get("is_default", False) == "True") else False
|
||||
if notification["status"] in DELIVERED_STATUSES:
|
||||
verification_status = "success"
|
||||
verification_status = VerificationStatus.SUCCESS.value
|
||||
if notification["to"] not in [
|
||||
i["email_address"] for i in current_service.email_reply_to_addresses
|
||||
]:
|
||||
@@ -441,7 +442,7 @@ def get_service_verify_reply_to_address_partials(service_id, notification_id):
|
||||
first_email_address=first_email_address,
|
||||
replace=replace,
|
||||
),
|
||||
"stop": 0 if verification_status == "pending" else 1,
|
||||
"stop": 0 if verification_status == VerificationStatus.PENDING.value else 1,
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user