mirror of
https://git.v0id.ovh/n3wt-innov/n3wt-school.git
synced 2026-01-29 16:03:21 +00:00
feat: Configuration des compétences par cycle [#16]
This commit is contained in:
@ -165,31 +165,24 @@ class Competency(models.Model):
|
||||
class EstablishmentCompetency(models.Model):
|
||||
"""
|
||||
Relation entre un établissement et une compétence.
|
||||
Permet de définir quelles compétences sont sélectionnées par un établissement.
|
||||
Peut référencer une compétence de référence OU une compétence custom propre à l'établissement.
|
||||
"""
|
||||
establishment = models.ForeignKey('Establishment.Establishment', on_delete=models.CASCADE)
|
||||
competency = models.ForeignKey(Competency, on_delete=models.CASCADE)
|
||||
is_selected = models.BooleanField(default=False)
|
||||
competency = models.ForeignKey(
|
||||
Competency, on_delete=models.CASCADE, null=True, blank=True,
|
||||
help_text="Compétence de référence (optionnelle si custom)"
|
||||
)
|
||||
custom_name = models.TextField(null=True, blank=True, help_text="Nom de la compétence custom")
|
||||
custom_category = models.ForeignKey(
|
||||
Category, on_delete=models.CASCADE, null=True, blank=True,
|
||||
help_text="Catégorie de la compétence custom"
|
||||
)
|
||||
is_required = models.BooleanField(default=True)
|
||||
|
||||
class Meta:
|
||||
unique_together = ('establishment', 'competency')
|
||||
unique_together = ('establishment', 'competency', 'custom_name', 'custom_category')
|
||||
|
||||
def __str__(self):
|
||||
return f"{self.establishment.name} - {self.competency.name}"
|
||||
|
||||
|
||||
# class StudentCompetency(models.Model):
|
||||
# """
|
||||
# Relation entre un élève et une compétence.
|
||||
# Permet d'attribuer une note à un élève pour une compétence.
|
||||
# """
|
||||
# student = models.ForeignKey('Subscriptions.Student', on_delete=models.CASCADE, related_name='competency_scores')
|
||||
# competency = models.ForeignKey(Competency, on_delete=models.CASCADE, related_name='student_scores')
|
||||
# score = models.DecimalField(max_digits=5, decimal_places=2, null=True, blank=True) # Note attribuée
|
||||
# comment = models.TextField(blank=True, null=True) # Commentaire facultatif
|
||||
|
||||
# class Meta:
|
||||
# unique_together = ('student', 'competency')
|
||||
|
||||
# def __str__(self):
|
||||
# return f"{self.student} - {self.competency.name} - Score: {self.score}"
|
||||
if self.competency:
|
||||
return f"{self.establishment.name} - {self.competency.name}"
|
||||
return f"{self.establishment.name} - {self.custom_name} (custom)"
|
||||
Reference in New Issue
Block a user