1
0
forked from ScoDoc/ScoDoc

Codes jury: enregistrement transcodage BUT, tableau documentation

This commit is contained in:
Emmanuel Viennet 2022-06-26 15:43:46 +02:00
parent 3d5361ce50
commit 4087fd6096
5 changed files with 112 additions and 33 deletions

View File

@ -41,6 +41,7 @@ from app.scodoc import sco_codes_parcours
def _build_code_field(code):
return StringField(
label=code,
default=code,
description=sco_codes_parcours.CODES_EXPL[code],
validators=[
validators.regexp(

View File

@ -9,6 +9,8 @@ from app.comp import bonus_spo
from app.scodoc.sco_exceptions import ScoValueError
from app.scodoc.sco_codes_parcours import (
ABAN,
ABL,
ADC,
ADJ,
ADM,
@ -19,11 +21,16 @@ from app.scodoc.sco_codes_parcours import (
CMP,
DEF,
DEM,
EXCLU,
NAR,
PASD,
PAS1NCI,
RAT,
)
CODES_SCODOC_TO_APO = {
ABAN: "ABAN",
ABL: "ABL",
ADC: "ADMC",
ADJ: "ADM",
ADM: "ADM",
@ -34,7 +41,10 @@ CODES_SCODOC_TO_APO = {
CMP: "COMP",
DEF: "NAR",
DEM: "NAR",
EXCLU: "EXC",
NAR: "NAR",
PASD: "PASD",
PAS1NCI: "PAS1NCI",
RAT: "ATT",
"NOTES_FMT": "%3.2f",
}
@ -161,9 +171,8 @@ class ScoDocSiteConfig(db.Model):
@classmethod
def get_code_apo(cls, code: str) -> str:
"""La représentation d'un code pour les exports Apogée.
Par exemple, à l'iUT du H., le code ADM est réprésenté par VAL
Par exemple, à l'IUT du H., le code ADM est réprésenté par VAL
Les codes par défaut sont donnés dans sco_apogee_csv.
"""
cfg = ScoDocSiteConfig.query.filter_by(name=code).first()
if not cfg:
@ -172,6 +181,11 @@ class ScoDocSiteConfig(db.Model):
code_apo = cfg.value
return code_apo
@classmethod
def get_codes_apo_dict(cls) -> dict[str:str]:
"Un dict avec code jury : code exporté"
return {code: cls.get_code_apo(code) for code in CODES_SCODOC_TO_APO}
@classmethod
def set_code_apo(cls, code: str, code_apo: str):
"""Enregistre nouvelle représentation du code"""

View File

@ -157,3 +157,8 @@ div.but_doc table tbody tr {
div.but_doc table tbody tr:nth-child(odd) {
background-color: #ffffff;
}
div.but_doc table tr td.amue {
color: rgb(127, 127, 206);
font-size: 90%;
}

View File

@ -9,69 +9,82 @@
<table>
<tr>
<th>ScoDoc</th>
<th>{{nom_univ}}</th>
<th>AMUE</th>
<th></th>
<th>Signification</th>
</tr>
<tr>
<td>ADM</td>
<td></td>
<td>{{codes["ADM"]}}</td>
<td class="amue"></td>
<td>Admis</td>
</tr>
<tr>
<td>ADJ</td>
<td></td>
<td>{{codes["ADJ"]}}</td>
<td class="amue"></td>
<td>Admis par décision jury</td>
</tr>
<tr>
<td>PASD</td>
<td>PASD</td>
<td>{{codes["PASD"]}}</td>
<td class="amue">PASD</td>
<td>Non admis, mais passage de droit</td>
</tr>
<tr>
<td>PAS1NCI</td>
<td>PAS1NCI</td>
<td>{{codes["PAS1NCI"]}}</td>
<td class="amue">PAS1NCI</td>
<td>Non admis, mais passage par décision de jury (Passage en Année
Supérieure avec au moins 1 Niveau de Compétence Insuffisant (RCUE&lt;8))
</td>
</tr>
<tr>
<td>RED</td>
<td>RED</td>
<td>{{codes["RED"]}}</td>
<td class="amue">RED</td>
<td>Ajourné, mais autorisé à redoubler</td>
</tr>
<tr>
<td>NAR</td>
<td>REO</td>
<td>{{codes["NAR"]}}</td>
<td class="amue">REO</td>
<td>Non admis, réorientation</td>
</tr>
<tr>
<td>DEM</td>
<td></td>
<td>{{codes["DEM"]}}</td>
<td class="amue"></td>
<td>Démission</td>
</tr>
<tr>
<td>ABAN</td>
<td>ABAN</td>
<td>{{codes["ABAN"]}}</td>
<td class="amue">ABAN</td>
<td>ABANdon constaté (sans lettre de démission)</td>
</tr>
<tr>
<td>RAT</td>
<td></td>
<td>{{codes["RAT"]}}</td>
<td class="amue"></td>
<td>En attente dun rattrapage</td>
</tr>
<tr>
<td>EXCLU</td>
<td>EXC</td>
<td>{{codes["EXCLU"]}}</td>
<td class="amue">EXC</td>
<td>EXClusion, décision réservée à des décisions disciplinaires</td>
</tr>
<tr>
<td>DEF</td>
<td></td>
<td>{{codes["DEF"]}}</td>
<td class="amue"></td>
<td>(défaillance) Non évalué par manque assiduité</td>
</tr>
<tr>
<td>ABL</td>
<td>ABL</td>
<td>{{codes["ABL"]}}</td>
<td class="amue">ABL</td>
<td>Année Blanche</td>
</tr>
</table>
@ -81,39 +94,52 @@
<div class="but_doc">
<table>
<tr>
<th>ScoDoc</th>
<th>{{nom_univ}}</th>
<th>AMUE</th>
<th>Signification</th>
</tr>
<tr>
<th>ADM</td>
<th>VAL</td>
<td>{{codes["ADM"]}}</td>
<th class="amue">VAL</td>
<th>Acquis</td>
</tr>
<tr>
<td>CMP</td>
<td></td>
<td>{{codes["CMP"]}}</td>
<td class="amue"></td>
<td>Acquis par compensation annuelle</td>
</tr>
<tr>
<td>ADJ</td>
<td>CODJ</td>
<td>{{codes["ADJ"]}}</td>
<td class="amue">CODJ</td>
<td>Acquis par décision du jury</td>
</tr>
<tr>
<td>AJ</td>
<td>AJ</td>
<td>{{codes["AJ"]}}</td>
<td class="amue">AJ</td>
<td>Attente pour problème de moyenne</td>
</tr>
<tr>
<td>RAT</td>
<td>{{codes["RAT"]}}</td>
<td></td>
<td>En attente dun rattrapage</td>
</tr>
<tr>
<td>DEF</td>
<td></td>
<td>{{codes["DEF"]}}</td>
<td class="amue"></td>
<td>Défaillant</td>
</tr>
<tr>
<td>ABAN</td>
<td></td>
<td>{{codes["ABAN"]}}</td>
<td class="amue"></td>
<td>Non évalué pour manque assiduité</td>
</tr>
</table>
@ -123,41 +149,65 @@
<div class="but_doc">
<table>
<tr>
<th>ScoDoc</th>
<th>{{nom_univ}}</th>
<th>AMUE</th>
<th>Signification</th>
</tr>
<tr>
<td>ADM</td>
<td>{{codes["ADM"]}}</td>
<td class="amue">VAL</td>
<td>Acquis (ECTS acquis)</td>
</tr>
<tr>
<td>CMP</td>
<td>{{codes["CMP"]}}</td>
<td class="amue">COMP</td>
<td>Acquis par compensation UE compensée avec lUE de même compétence et de même année (ECTS acquis)
</td>
</tr>
<tr>
<td>ADJ</td>
<td>{{codes["ADJ"]}}</td>
<td class="amue"></td>
<td>Acquis par décision de jury (ECTS acquis)</td>
</tr>
<tr>
<td>AJ</td>
<td>{{codes["AJ"]}}</td>
<td class="amue">AJ</td>
<td>Attente pour problème de moyenne</td>
</tr>
<tr>
<td>RAT</td>
<td>{{codes["RAT"]}}</td>
<td class="amue"></td>
<td>En attente dun rattrapage</td>
</tr>
<tr>
<td>DEF</td>
<td>{{codes["DEF"]}}</td>
<td class="amue">ABAN</td>
<td>Défaillant Pas ou peu de notes par arrêt de la formation</td>
</tr>
<tr>
<td>ABAN</td>
<td>{{codes["ABAN"]}}</td>
<td class="amue">ABAN</td>
<td>Non évalué pour manque dassiduité Non présentation des notes de létudiant au jury</td>
</tr>
<tr>
<td>DEM</td>
<td>{{codes["DEM"]}}</td>
<td class="amue"></td>
<td>Démission</td>
</tr>
<tr>
<td>UEBSL</td>
<td>{{codes["UEBSL"]}}</td>
<td class="amue">UEBSL</td>
<td>UE blanchie </td>
</tr>
</table>

View File

@ -46,6 +46,7 @@ from app.but.forms import jury_but_forms
from app.comp import res_sem
from app.comp.res_but import ResultatsSemestreBUT
from app.comp.res_compat import NotesTableCompat
from app.models.config import ScoDocSiteConfig
from app.models.etudiants import Identite
from app.models.formsemestre import FormSemestre
from app.models.formsemestre import FormSemestreUEComputationExpr
@ -2359,7 +2360,15 @@ def formsemestre_validation_but(formsemestre_id: int, etudid: int):
)
H.append("</form>") # but_annee
H.append(render_template("but/documentation_codes_jury.html"))
H.append(
render_template(
"but/documentation_codes_jury.html",
nom_univ=f"""Export {sco_preferences.get_preference("InstituteName")
or sco_preferences.get_preference("UnivName")
or "Apogée"}""",
codes=ScoDocSiteConfig.get_codes_apo_dict(),
)
)
return "\n".join(H) + html_sco_header.sco_footer()