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 @property
def is_pre_approval(self): 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): 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 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. 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) update_data = request_model.intake_questionnaire.model_dump(exclude_none=True)
questionnaire = org_model.intake_questionnaire questionnaire = org_model.intake_questionnaire
questions_model = QuestionnaireQuestionsVersion0(**questionnaire["questions"]) questions_model = QuestionnaireQuestionsVersion0(**questionnaire["questions"])