new enum view_activity, _manage_users, send_emails

This commit is contained in:
Beverly Nguyen
2025-07-21 14:24:11 -07:00
parent f3ff033ef0
commit ce4829b717
28 changed files with 80 additions and 70 deletions

View File

@@ -1,7 +1,7 @@
from flask import abort, render_template, request, url_for
from app import current_service, job_api_client
from app.enums import NotificationStatus
from app.enums import NotificationStatus, ServicePermission
from app.formatters import get_time_left
from app.main import main
from app.utils.pagination import (
@@ -14,7 +14,7 @@ from app.utils.user import user_has_permissions
@main.route("/activity/services/<uuid:service_id>")
@user_has_permissions("view_activity")
@user_has_permissions(ServicePermission.VIEW_ACTIVITY)
def all_jobs_activity(service_id):
service_data_retention_days = 7
page = get_page_from_request()

View File

@@ -13,7 +13,7 @@ from notifications_utils.template import SMSPreviewTemplate
@main.route("/services/<uuid:service_id>/conversation/<uuid:notification_id>")
@user_has_permissions("view_activity")
@user_has_permissions(ServicePermission.VIEW_ACTIVITY)
def conversation(service_id, notification_id):
user_number = get_user_number(service_id, notification_id)
@@ -31,7 +31,7 @@ def conversation(service_id, notification_id):
@main.route("/services/<uuid:service_id>/conversation/<uuid:notification_id>.json")
@user_has_permissions("view_activity")
@user_has_permissions(ServicePermission.VIEW_ACTIVITY)
def conversation_updates(service_id, notification_id):
return jsonify(
get_conversation_partials(

View File

@@ -24,7 +24,7 @@ from app.utils.user import user_has_permissions
@main.route("/services/<uuid:service_id>/dashboard")
@user_has_permissions("view_activity", ServicePermission.SEND_MESSAGES)
@user_has_permissions(ServicePermission.VIEW_ACTIVITY, ServicePermission.SEND_MESSAGES)
def old_service_dashboard(service_id):
return redirect(url_for(".service_dashboard", service_id=service_id))
@@ -37,7 +37,7 @@ def service_dashboard(service_id):
session.pop("invited_user_id", None)
session["service_id"] = service_id
if not current_user.has_permissions("view_activity"):
if not current_user.has_permissions(ServicePermission.VIEW_ACTIVITY):
return redirect(url_for("main.choose_template", service_id=service_id))
job_response = job_api_client.get_jobs(service_id)["data"]
@@ -166,7 +166,7 @@ def get_daily_stats_by_user(service_id):
@main.route("/services/<uuid:service_id>/template-usage")
@user_has_permissions("view_activity")
@user_has_permissions(ServicePermission.VIEW_ACTIVITY)
def template_usage(service_id):
year, current_financial_year = requested_and_current_financial_year(request)
stats = template_statistics_client.get_monthly_template_usage_for_service(

View File

@@ -78,7 +78,7 @@ def view_job(service_id, job_id):
@main.route("/services/<uuid:service_id>/jobs/<uuid:job_id>.csv")
@user_has_permissions("view_activity")
@user_has_permissions(ServicePermission.VIEW_ACTIVITY)
def view_job_csv(service_id, job_id):
job = Job.from_id(job_id, service_id=service_id)
filter_args = parse_filter_args(request.args)
@@ -222,7 +222,7 @@ def get_notifications(service_id, message_type, status_override=None): # noqa
message_type, number_of_days="seven_day"
)
if request.path.endswith("csv") and current_user.has_permissions("view_activity"):
if request.path.endswith("csv") and current_user.has_permissions(ServicePermission.VIEW_ACTIVITY):
return Response(
generate_notifications_csv(
service_id=service_id,

View File

@@ -28,7 +28,7 @@ from app.utils.user import user_has_permissions
@main.route("/services/<uuid:service_id>/notification/<uuid:notification_id>")
@user_has_permissions("view_activity", ServicePermission.SEND_MESSAGES)
@user_has_permissions(ServicePermission.VIEW_ACTIVITY, ServicePermission.SEND_MESSAGES)
def view_notification(service_id, notification_id, error_message=None):
if error_message:
flash(error_message)
@@ -101,7 +101,7 @@ def view_notification(service_id, notification_id, error_message=None):
@main.route("/services/<uuid:service_id>/notification/<uuid:notification_id>.json")
@user_has_permissions("view_activity", ServicePermission.SEND_MESSAGES)
@user_has_permissions(ServicePermission.VIEW_ACTIVITY, ServicePermission.SEND_MESSAGES)
def view_notification_updates(service_id, notification_id):
return jsonify(
**get_single_notification_partials(
@@ -134,7 +134,7 @@ def get_all_personalisation_from_notification(notification):
@main.route("/services/<uuid:service_id>/download-notifications.csv")
@user_has_permissions("view_activity")
@user_has_permissions(ServicePermission.VIEW_ACTIVITY)
def download_notifications_csv(service_id):
filter_args = parse_filter_args(request.args)
filter_args["status"] = set_status_filters(filter_args)

View File

@@ -823,7 +823,7 @@ def redact_template(service_id, template_id):
@main.route("/services/<uuid:service_id>/templates/<uuid:template_id>/versions")
@user_has_permissions("view_activity")
@user_has_permissions(ServicePermission.VIEW_ACTIVITY)
def view_template_versions(service_id, template_id):
return render_template(
"views/templates/choose_history.html",