diff --git a/app/but/forms/refcomp_forms.py b/app/but/forms/refcomp_forms.py index dd7d557d4..5727454b1 100644 --- a/app/but/forms/refcomp_forms.py +++ b/app/but/forms/refcomp_forms.py @@ -27,8 +27,22 @@ class RefCompLoadForm(FlaskForm): referentiel_standard = SelectField( "Choisir un référentiel de compétences officiel BUT" ) + submit = SubmitField("Valider") + cancel = SubmitField("Annuler") + + def validate(self, extra_validators=None) -> bool: + if not super().validate(extra_validators): + return False + if self.referentiel_standard.data == "0": + self.referentiel_standard.errors.append("Choisir soit un référentiel") + return False + return True + + +class RefCompUploadForm(FlaskForm): + "Upload d'un référentiel" upload = FileField( - label="... ou bien sélectionner un fichier XML au format Orébut (réservé aux développeurs !)", + label="Sélectionner un fichier XML au format Orébut", validators=[ FileAllowed( [ @@ -41,13 +55,11 @@ class RefCompLoadForm(FlaskForm): submit = SubmitField("Valider") cancel = SubmitField("Annuler") - def validate(self, extra_validators=None): + def validate(self, extra_validators=None) -> bool: if not super().validate(extra_validators): return False - if (self.referentiel_standard.data == "0") == (not self.upload.data): - self.referentiel_standard.errors.append( - "Choisir soit un référentiel, soit un fichier xml" - ) + if not self.upload.data: + self.upload.errors.append("Choisir un fichier XML") return False return True diff --git a/app/templates/but/refcomp_load.j2 b/app/templates/but/refcomp_load.j2 index b1e2ea567..9a9faf115 100644 --- a/app/templates/but/refcomp_load.j2 +++ b/app/templates/but/refcomp_load.j2 @@ -3,7 +3,19 @@ {% import 'wtf.j2' as wtf %} {% block app_content %} -
Les référentiels de compétence de BUT font partie du Programme National (PN) +de BUT et ne sont pas modifiables. ScoDoc est livré avec une copie des +référentiels officiels issus de l'application Orébut.
+ +Il est aussi possible de définir un référentiel de compétences ad-hoc pour +des formations par compétences non BUT (mais ayant le même principe de +fonctionnement, avec une architecture en blocs de compétences et RCUEs).
+ +Cette page permet de charger votre propre référentiel de compétence. +Le fichier doit être au format XML, et doit respecter le schéma de référentiel +de compétences "Orébut", qui n'est pas documenté dans ScoDoc (voir le logiciel Orébut). +
+ +Cette approche ne fonctionne que si votre formation suit les principes architecturaux +du BUT (blocs de compétences, RCUEs, ressources, SAÉs, etc.). +
+ + +