mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-09-07 00:08:25 -04:00
refactor
This commit is contained in:
@@ -35,25 +35,6 @@ from app.utils.user import user_has_permissions, user_is_platform_admin
|
|||||||
from notifications_python_client.errors import HTTPError
|
from notifications_python_client.errors import HTTPError
|
||||||
|
|
||||||
|
|
||||||
def get_service_counts_by_status(services):
|
|
||||||
def get_status(service):
|
|
||||||
if not service.get("active"):
|
|
||||||
return ServiceStatus.SUSPENDED
|
|
||||||
elif service.get("restricted"):
|
|
||||||
return ServiceStatus.TRIAL
|
|
||||||
else:
|
|
||||||
return ServiceStatus.LIVE
|
|
||||||
|
|
||||||
status_counts = Counter(get_status(service) for service in services)
|
|
||||||
|
|
||||||
return {
|
|
||||||
"live": status_counts[ServiceStatus.LIVE],
|
|
||||||
"trial": status_counts[ServiceStatus.TRIAL],
|
|
||||||
"suspended": status_counts[ServiceStatus.SUSPENDED],
|
|
||||||
"total": len(services),
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
@main.route("/organizations", methods=["GET"])
|
@main.route("/organizations", methods=["GET"])
|
||||||
@user_is_platform_admin
|
@user_is_platform_admin
|
||||||
def organizations():
|
def organizations():
|
||||||
@@ -87,6 +68,39 @@ def add_organization():
|
|||||||
return render_template("views/organizations/add-organization.html", form=form)
|
return render_template("views/organizations/add-organization.html", form=form)
|
||||||
|
|
||||||
|
|
||||||
|
def get_service_counts_by_status(services):
|
||||||
|
def get_status(service):
|
||||||
|
if not service.get("active"):
|
||||||
|
return ServiceStatus.SUSPENDED
|
||||||
|
elif service.get("restricted"):
|
||||||
|
return ServiceStatus.TRIAL
|
||||||
|
else:
|
||||||
|
return ServiceStatus.LIVE
|
||||||
|
|
||||||
|
status_counts = Counter(get_status(service) for service in services)
|
||||||
|
|
||||||
|
return {
|
||||||
|
"live_services": status_counts[ServiceStatus.LIVE],
|
||||||
|
"trial_services": status_counts[ServiceStatus.TRIAL],
|
||||||
|
"suspended_services": status_counts[ServiceStatus.SUSPENDED],
|
||||||
|
"total_services": len(services),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
def get_organization_message_allowance(org_id):
|
||||||
|
try:
|
||||||
|
message_usage = service_api_client.get_organization_message_usage(org_id)
|
||||||
|
except Exception as e:
|
||||||
|
current_app.logger.error(f"Error fetching organization message usage: {e}")
|
||||||
|
message_usage = {}
|
||||||
|
|
||||||
|
return {
|
||||||
|
"messages_sent": message_usage.get("messages_sent", 0),
|
||||||
|
"messages_remaining": message_usage.get("messages_remaining", 0),
|
||||||
|
"total_message_limit": message_usage.get("total_message_limit", 0),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
@main.route("/organizations/<uuid:org_id>", methods=["GET"])
|
@main.route("/organizations/<uuid:org_id>", methods=["GET"])
|
||||||
@user_has_permissions()
|
@user_has_permissions()
|
||||||
def organization_dashboard(org_id):
|
def organization_dashboard(org_id):
|
||||||
@@ -95,29 +109,14 @@ def organization_dashboard(org_id):
|
|||||||
|
|
||||||
year = requested_and_current_financial_year(request)[0]
|
year = requested_and_current_financial_year(request)[0]
|
||||||
|
|
||||||
try:
|
message_allowance = get_organization_message_allowance(org_id)
|
||||||
message_usage = service_api_client.get_organization_message_usage(org_id)
|
service_counts = get_service_counts_by_status(current_organization.services)
|
||||||
except Exception as e:
|
|
||||||
current_app.logger.error(f"Error fetching organization message usage: {e}")
|
|
||||||
message_usage = {}
|
|
||||||
|
|
||||||
messages_sent = message_usage.get("messages_sent", 0)
|
|
||||||
messages_remaining = message_usage.get("messages_remaining", 0)
|
|
||||||
total_message_limit = message_usage.get("total_message_limit", 0)
|
|
||||||
|
|
||||||
services = current_organization.services
|
|
||||||
service_counts = get_service_counts_by_status(services)
|
|
||||||
|
|
||||||
return render_template(
|
return render_template(
|
||||||
"views/organizations/organization/index.html",
|
"views/organizations/organization/index.html",
|
||||||
selected_year=year,
|
selected_year=year,
|
||||||
messages_sent=messages_sent,
|
**message_allowance,
|
||||||
messages_remaining=messages_remaining,
|
**service_counts,
|
||||||
total_message_limit=total_message_limit,
|
|
||||||
total_services=service_counts["total"],
|
|
||||||
live_services=service_counts["live"],
|
|
||||||
trial_services=service_counts["trial"],
|
|
||||||
suspended_services=service_counts["suspended"],
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user