feat: questionnaire only modifiable before submission

This commit is contained in:
Chris Milne 2026-06-11 16:35:53 +01:00
parent 2b923becf0
commit 37a3972d04
2 changed files with 10 additions and 1 deletions

View file

@ -31,7 +31,11 @@ class Status(StrEnum):
@property
def is_pre_approval(self):
return self in (self.PARTIAL, self.SUBMITTED)
return self in (self.PARTIAL, self.SUBMITTED, self.REMEDIATION)
@property
def is_pre_submission(self):
return self in (self.PARTIAL, self.REMEDIATION)
class ContactType(StrEnum):

View file

@ -222,6 +222,11 @@ async def update_questionnaire(
The partial bool allows for submission of partially completed questionnaire and/or
final "are you sure" check before setting the org to be in "submitted" status, awaiting admin approval.
"""
org_status = StatusEnum(org_model.status)
if not org_status.is_pre_submission:
raise ForbiddenException(
"Questionnaire may only be modified prior to submission."
)
update_data = request_model.intake_questionnaire.model_dump(exclude_none=True)
questionnaire = org_model.intake_questionnaire
questions_model = QuestionnaireQuestionsVersion0(**questionnaire["questions"])