Fix SMTP defaults and upload validation
This commit is contained in:
@@ -36,6 +36,8 @@ from app.modules.notice_cases.service import (
|
||||
list_clients_for_case,
|
||||
list_engagements_for_client,
|
||||
save_case_document,
|
||||
notice_case_upload_policy,
|
||||
UploadValidationError,
|
||||
update_case,
|
||||
user_can_access_case,
|
||||
)
|
||||
@@ -72,8 +74,8 @@ def _base_ctx(request: Request, user, db, **ctx):
|
||||
return base
|
||||
|
||||
|
||||
def _render(request: Request, template_name: str, db, user, **ctx):
|
||||
return templates.TemplateResponse(template_name, _base_ctx(request, user, db, **ctx))
|
||||
def _render(request: Request, template_name: str, db, user, status_code: int = 200, **ctx):
|
||||
return templates.TemplateResponse(template_name, _base_ctx(request, user, db, **ctx), status_code=status_code)
|
||||
|
||||
|
||||
def _redirect_denied():
|
||||
@@ -298,7 +300,19 @@ def case_detail(request: Request, case_id: int):
|
||||
case = get_case(db, case_id)
|
||||
if not case or not _case_access_allowed(request, db, user, case):
|
||||
return _redirect_denied()
|
||||
return _render(request, "modules/notice_cases/templates/notice_cases/detail.html", db, user, title=case.case_code, case=case, can_manage=can_manage_notice_cases(db, user), can_upload=can_upload_notice_case_documents(db, user), can_delete_documents=can_delete_notice_case_documents(db, user))
|
||||
upload_policy = notice_case_upload_policy(db, branch_id=case.branch_id)
|
||||
return _render(
|
||||
request,
|
||||
"modules/notice_cases/templates/notice_cases/detail.html",
|
||||
db,
|
||||
user,
|
||||
title=case.case_code,
|
||||
case=case,
|
||||
can_manage=can_manage_notice_cases(db, user),
|
||||
can_upload=can_upload_notice_case_documents(db, user),
|
||||
can_delete_documents=can_delete_notice_case_documents(db, user),
|
||||
upload_policy=upload_policy,
|
||||
)
|
||||
finally:
|
||||
db.close()
|
||||
|
||||
@@ -445,7 +459,25 @@ def case_document_upload(request: Request, case_id: int, title: str = Form(""),
|
||||
return RedirectResponse(url=f"/notice-cases/{case.id}?year_locked=1", status_code=303)
|
||||
if not file or not file.filename:
|
||||
return RedirectResponse(url=f"/notice-cases/{case_id}?error=missing_file", status_code=303)
|
||||
save_case_document(db, case=case, upload_file=file, user=user, title=title, document_type=document_type, description=description, event_id=int(event_id) if event_id else None)
|
||||
try:
|
||||
save_case_document(db, case=case, upload_file=file, user=user, title=title, document_type=document_type, description=description, event_id=int(event_id) if event_id else None)
|
||||
except UploadValidationError as exc:
|
||||
db.rollback()
|
||||
upload_policy = notice_case_upload_policy(db, branch_id=case.branch_id)
|
||||
return _render(
|
||||
request,
|
||||
"modules/notice_cases/templates/notice_cases/detail.html",
|
||||
db,
|
||||
user,
|
||||
status_code=400,
|
||||
title=case.case_code,
|
||||
case=case,
|
||||
can_manage=can_manage_notice_cases(db, user),
|
||||
can_upload=can_upload_notice_case_documents(db, user),
|
||||
can_delete_documents=can_delete_notice_case_documents(db, user),
|
||||
upload_policy=upload_policy,
|
||||
upload_error=str(exc),
|
||||
)
|
||||
db.commit()
|
||||
return RedirectResponse(url=f"/notice-cases/{case_id}?uploaded=1", status_code=303)
|
||||
finally:
|
||||
|
||||
Reference in New Issue
Block a user