Feat: add register_assessment for tribe

This commit is contained in:
2022-12-20 08:23:52 +01:00
parent a3c44321bf
commit 67b9a1e8a0
6 changed files with 108 additions and 80 deletions

View File

@@ -2,9 +2,10 @@ from __future__ import annotations
from dataclasses import dataclass
from datetime import date
from typing import Optional
from typing import TYPE_CHECKING, Optional
from backend.model.student import Tribe
if TYPE_CHECKING:
from backend.model.student import Tribe
class Assessment:
@@ -14,6 +15,8 @@ class Assessment:
self.name = name
self.exercises = []
self.tribe.register_assessment(self)
def register_exercise(self, exercise: Exercise):
self.exercises.append(exercise)

View File

@@ -1,6 +1,10 @@
from __future__ import annotations
from dataclasses import dataclass, field
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from backend.model.assessment import Assessment
@dataclass
@@ -8,8 +12,12 @@ class Tribe:
name: str
level: str
students: list[Student] = field(default_factory=list)
assessments: list[Assessment] = field(default_factory=list)
def register_student(self, student: Student):
def register_assessment(self, assessment: Assessment) -> None:
self.assessments.append(assessment)
def register_student(self, student: Student) -> None:
self.students.append(student)