Require review partner for bulk assurance engagements
This commit is contained in:
@@ -388,6 +388,7 @@ def subscription_bulk_create_page(request: Request, error: str = ""):
|
||||
"manager": "The selected Manager is not available for this firm.",
|
||||
"staff": "The selected Staff member is not available for this firm.",
|
||||
"review_partner": "The selected Review Partner is not available for this firm.",
|
||||
"review_partner_required": "Review Partner is mandatory for an assurance engagement.",
|
||||
"clients": "Select at least one permitted client.",
|
||||
}.get(error),
|
||||
)
|
||||
@@ -492,11 +493,19 @@ def subscription_bulk_create_submit(
|
||||
return RedirectResponse(url="/services/engagements/bulk-new?error=clients", status_code=303)
|
||||
|
||||
engagement_type = getattr(firm_selection.catalogue, "engagement_type", "non_assurance") or "non_assurance"
|
||||
requires_review_partner = review_partner_required_for_engagement(
|
||||
normalized_engagement_type = str(engagement_type).strip().lower().replace("-", "_").replace(" ", "_")
|
||||
assurance_review_partner_required = normalized_engagement_type == "assurance"
|
||||
workflow_review_partner_required = review_partner_required_for_engagement(
|
||||
db,
|
||||
tenant_id=tenant_id,
|
||||
engagement_type=engagement_type,
|
||||
)
|
||||
requires_review_partner = assurance_review_partner_required or workflow_review_partner_required
|
||||
if assurance_review_partner_required and review_partner_id is None:
|
||||
return RedirectResponse(
|
||||
url="/services/engagements/bulk-new?error=review_partner_required",
|
||||
status_code=303,
|
||||
)
|
||||
|
||||
for client_id in selected_client_ids:
|
||||
existing = get_existing_subscription(
|
||||
@@ -525,9 +534,13 @@ def subscription_bulk_create_submit(
|
||||
assigned_manager_user_id=manager_id,
|
||||
assigned_staff_user_id=staff_id,
|
||||
review_partner_user_id=(
|
||||
review_partner_id or getattr(client, "default_review_partner_user_id", None)
|
||||
if requires_review_partner
|
||||
else None
|
||||
review_partner_id
|
||||
if review_partner_id is not None
|
||||
else (
|
||||
getattr(client, "default_review_partner_user_id", None)
|
||||
if requires_review_partner
|
||||
else None
|
||||
)
|
||||
),
|
||||
financial_year=selected_financial_year,
|
||||
assessment_year=assessment_year_from_financial_year(selected_financial_year),
|
||||
|
||||
Reference in New Issue
Block a user