Activity system #3

Merged
tscholten merged 23 commits from tiago/activities into master 2026-10-17 15:51:00 +00:00
6 changed files with 15 additions and 4 deletions
Showing only changes of commit 0fd92120d9 - Show all commits

View File

@ -6,4 +6,4 @@ from fiber_package.signup.enums import FormElementCategory
class AnswerOpenQuestions(AnswerBase): class AnswerOpenQuestions(AnswerBase):
category: Literal[FormElementCategory.open_questions] category: Literal[FormElementCategory.open_questions]
answers: list[str] answer_list: list[str]

View File

@ -2,3 +2,7 @@ from .form_element import FormElement
class FormBaseQuestion(FormElement): class FormBaseQuestion(FormElement):
required: bool required: bool
title: str | None = None
pretext: str | None = None
posttext: str | None = None

View File

@ -4,6 +4,8 @@ from pydantic import BaseModel
from .form_base_question import FormBaseQuestion from .form_base_question import FormBaseQuestion
from fiber_package.signup.enums import FormElementCategory from fiber_package.signup.enums import FormElementCategory
from fiber_package.signup.answer.answer_open_questions import AnswerOpenQuestions
class OpenQuestion(BaseModel): class OpenQuestion(BaseModel):
question_en: str question_en: str
question_nl: str question_nl: str
@ -19,9 +21,14 @@ class FormOpenQuestions(FormBaseQuestion):
questions: list[OpenQuestion] questions: list[OpenQuestion]
title: str | None = None def validate_answer(self, answer: AnswerOpenQuestions) -> None:
pretext: str | None = None if answer.question_name != self.name:
posttext: str | None = None raise ValueError("Answer question name does not match.")
answer_list = answer.answer_list
if len(answer_list) != len(self.questions):
raise ValueError("Length of answer question list does not match.")