Fix engagement task categories and add Tally Data upload

This commit is contained in:
A R R R Associates
2026-09-02 12:50:30 +05:30
parent 2a4fd2bfdd
commit ec00a76ace
3 changed files with 161 additions and 32 deletions
+6 -9
View File
@@ -359,14 +359,14 @@ def upload_engagement_document(
remarks: str | None = Form(None),
existing_document_id: str | None = Form(None),
udin_required: str | None = Form(None),
evidence_type: str | None = Form(None),
evidence_description: str | None = Form(None),
file: UploadFile = File(...),
return_to: str = Form(""),
csrf_token: str = Form(...),
):
validate_csrf(request, csrf_token)
db = CommonSessionLocal()
try:
return_target = _safe_documents_return_url(return_to, f"/documents/engagements/{engagement_id}")
user, response = _require_user(request, db, "documents.upload")
if response:
return response
@@ -378,9 +378,9 @@ def upload_engagement_document(
if not engagement or not user_can_upload_to_engagement(db, user, engagement, scope):
return _redirect_denied()
if is_row_financial_year_locked(db, engagement):
return RedirectResponse(url=f"/documents/engagements/{engagement.id}?year_locked=1", status_code=303)
return RedirectResponse(url=return_target if return_to else f"/documents/engagements/{engagement.id}?year_locked=1", status_code=303)
if not file or not file.filename:
return RedirectResponse(url=f"/documents/engagements/{engagement_id}?error=missing_file", status_code=303)
return RedirectResponse(url=return_target if return_to else f"/documents/engagements/{engagement_id}?error=missing_file", status_code=303)
try:
doc = save_uploaded_revision(
db,
@@ -393,10 +393,7 @@ def upload_engagement_document(
user=user,
existing_document_id=int(existing_document_id) if existing_document_id else None,
udin_required=_bool_from_form(udin_required),
evidence_type=evidence_type,
evidence_description=evidence_description,
)
recalculate_task_aqmm_status(db, task)
log_document_access(db, action="upload", result="success", user=user, request=request, document=doc)
db.commit()
except Exception as exc:
@@ -408,8 +405,8 @@ def upload_engagement_document(
except Exception:
db.rollback()
logger.exception("Unable to write document upload failure audit log for engagement_id=%s", engagement_id)
return RedirectResponse(url=f"/documents/engagements/{engagement_id}?error=upload_failed", status_code=303)
return RedirectResponse(url=f"/documents/engagements/{engagement_id}?uploaded=1", status_code=303)
return RedirectResponse(url=return_target if return_to else f"/documents/engagements/{engagement_id}?error=upload_failed", status_code=303)
return RedirectResponse(url=return_target if return_to else f"/documents/engagements/{engagement_id}?uploaded=1", status_code=303)
finally:
db.close()