forked from ScoDoc/ScoDoc
Codes jury: enregistrement transcodage BUT, tableau documentation
This commit is contained in:
parent
3d5361ce50
commit
4087fd6096
@ -41,6 +41,7 @@ from app.scodoc import sco_codes_parcours
|
|||||||
def _build_code_field(code):
|
def _build_code_field(code):
|
||||||
return StringField(
|
return StringField(
|
||||||
label=code,
|
label=code,
|
||||||
|
default=code,
|
||||||
description=sco_codes_parcours.CODES_EXPL[code],
|
description=sco_codes_parcours.CODES_EXPL[code],
|
||||||
validators=[
|
validators=[
|
||||||
validators.regexp(
|
validators.regexp(
|
||||||
|
@ -9,6 +9,8 @@ from app.comp import bonus_spo
|
|||||||
from app.scodoc.sco_exceptions import ScoValueError
|
from app.scodoc.sco_exceptions import ScoValueError
|
||||||
|
|
||||||
from app.scodoc.sco_codes_parcours import (
|
from app.scodoc.sco_codes_parcours import (
|
||||||
|
ABAN,
|
||||||
|
ABL,
|
||||||
ADC,
|
ADC,
|
||||||
ADJ,
|
ADJ,
|
||||||
ADM,
|
ADM,
|
||||||
@ -19,11 +21,16 @@ from app.scodoc.sco_codes_parcours import (
|
|||||||
CMP,
|
CMP,
|
||||||
DEF,
|
DEF,
|
||||||
DEM,
|
DEM,
|
||||||
|
EXCLU,
|
||||||
NAR,
|
NAR,
|
||||||
|
PASD,
|
||||||
|
PAS1NCI,
|
||||||
RAT,
|
RAT,
|
||||||
)
|
)
|
||||||
|
|
||||||
CODES_SCODOC_TO_APO = {
|
CODES_SCODOC_TO_APO = {
|
||||||
|
ABAN: "ABAN",
|
||||||
|
ABL: "ABL",
|
||||||
ADC: "ADMC",
|
ADC: "ADMC",
|
||||||
ADJ: "ADM",
|
ADJ: "ADM",
|
||||||
ADM: "ADM",
|
ADM: "ADM",
|
||||||
@ -34,7 +41,10 @@ CODES_SCODOC_TO_APO = {
|
|||||||
CMP: "COMP",
|
CMP: "COMP",
|
||||||
DEF: "NAR",
|
DEF: "NAR",
|
||||||
DEM: "NAR",
|
DEM: "NAR",
|
||||||
|
EXCLU: "EXC",
|
||||||
NAR: "NAR",
|
NAR: "NAR",
|
||||||
|
PASD: "PASD",
|
||||||
|
PAS1NCI: "PAS1NCI",
|
||||||
RAT: "ATT",
|
RAT: "ATT",
|
||||||
"NOTES_FMT": "%3.2f",
|
"NOTES_FMT": "%3.2f",
|
||||||
}
|
}
|
||||||
@ -161,9 +171,8 @@ class ScoDocSiteConfig(db.Model):
|
|||||||
@classmethod
|
@classmethod
|
||||||
def get_code_apo(cls, code: str) -> str:
|
def get_code_apo(cls, code: str) -> str:
|
||||||
"""La représentation d'un code pour les exports Apogée.
|
"""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.
|
Les codes par défaut sont donnés dans sco_apogee_csv.
|
||||||
|
|
||||||
"""
|
"""
|
||||||
cfg = ScoDocSiteConfig.query.filter_by(name=code).first()
|
cfg = ScoDocSiteConfig.query.filter_by(name=code).first()
|
||||||
if not cfg:
|
if not cfg:
|
||||||
@ -172,6 +181,11 @@ class ScoDocSiteConfig(db.Model):
|
|||||||
code_apo = cfg.value
|
code_apo = cfg.value
|
||||||
return code_apo
|
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
|
@classmethod
|
||||||
def set_code_apo(cls, code: str, code_apo: str):
|
def set_code_apo(cls, code: str, code_apo: str):
|
||||||
"""Enregistre nouvelle représentation du code"""
|
"""Enregistre nouvelle représentation du code"""
|
||||||
|
@ -156,4 +156,9 @@ div.but_doc table tbody tr {
|
|||||||
|
|
||||||
div.but_doc table tbody tr:nth-child(odd) {
|
div.but_doc table tbody tr:nth-child(odd) {
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
|
}
|
||||||
|
|
||||||
|
div.but_doc table tr td.amue {
|
||||||
|
color: rgb(127, 127, 206);
|
||||||
|
font-size: 90%;
|
||||||
}
|
}
|
@ -9,69 +9,82 @@
|
|||||||
<table>
|
<table>
|
||||||
<tr>
|
<tr>
|
||||||
<th>ScoDoc</th>
|
<th>ScoDoc</th>
|
||||||
|
<th>{{nom_univ}}</th>
|
||||||
<th>AMUE</th>
|
<th>AMUE</th>
|
||||||
<th></th>
|
<th>Signification</th>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>ADM</td>
|
<td>ADM</td>
|
||||||
<td></td>
|
<td>{{codes["ADM"]}}</td>
|
||||||
|
<td class="amue"></td>
|
||||||
<td>Admis</td>
|
<td>Admis</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>ADJ</td>
|
<td>ADJ</td>
|
||||||
<td></td>
|
<td>{{codes["ADJ"]}}</td>
|
||||||
|
<td class="amue"></td>
|
||||||
<td>Admis par décision jury</td>
|
<td>Admis par décision jury</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>PASD</td>
|
<td>PASD</td>
|
||||||
<td>PASD</td>
|
<td>{{codes["PASD"]}}</td>
|
||||||
|
<td class="amue">PASD</td>
|
||||||
<td>Non admis, mais passage de droit</td>
|
<td>Non admis, mais passage de droit</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>PAS1NCI</td>
|
<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
|
<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<8))
|
Supérieure avec au moins 1 Niveau de Compétence Insuffisant (RCUE<8))
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>RED</td>
|
<td>RED</td>
|
||||||
<td>RED</td>
|
<td>{{codes["RED"]}}</td>
|
||||||
|
<td class="amue">RED</td>
|
||||||
<td>Ajourné, mais autorisé à redoubler</td>
|
<td>Ajourné, mais autorisé à redoubler</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>NAR</td>
|
<td>NAR</td>
|
||||||
<td>REO</td>
|
<td>{{codes["NAR"]}}</td>
|
||||||
|
<td class="amue">REO</td>
|
||||||
<td>Non admis, réorientation</td>
|
<td>Non admis, réorientation</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>DEM</td>
|
<td>DEM</td>
|
||||||
<td></td>
|
<td>{{codes["DEM"]}}</td>
|
||||||
|
<td class="amue"></td>
|
||||||
<td>Démission</td>
|
<td>Démission</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>ABAN</td>
|
<td>ABAN</td>
|
||||||
<td>ABAN</td>
|
<td>{{codes["ABAN"]}}</td>
|
||||||
<td> ABANdon constaté (sans lettre de démission)</td>
|
<td class="amue">ABAN</td>
|
||||||
|
<td>ABANdon constaté (sans lettre de démission)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>RAT</td>
|
<td>RAT</td>
|
||||||
<td></td>
|
<td>{{codes["RAT"]}}</td>
|
||||||
|
<td class="amue"></td>
|
||||||
<td>En attente d’un rattrapage</td>
|
<td>En attente d’un rattrapage</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>EXCLU</td>
|
<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>
|
<td>EXClusion, décision réservée à des décisions disciplinaires</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>DEF</td>
|
<td>DEF</td>
|
||||||
<td></td>
|
<td>{{codes["DEF"]}}</td>
|
||||||
<td> (défaillance) Non évalué par manque assiduité</td>
|
<td class="amue"></td>
|
||||||
|
<td>(défaillance) Non évalué par manque assiduité</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>ABL</td>
|
<td>ABL</td>
|
||||||
<td>ABL</td>
|
<td>{{codes["ABL"]}}</td>
|
||||||
|
<td class="amue">ABL</td>
|
||||||
<td>Année Blanche</td>
|
<td>Année Blanche</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@ -81,39 +94,52 @@
|
|||||||
|
|
||||||
<div class="but_doc">
|
<div class="but_doc">
|
||||||
<table>
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>ScoDoc</th>
|
||||||
|
<th>{{nom_univ}}</th>
|
||||||
|
<th>AMUE</th>
|
||||||
|
<th>Signification</th>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<th>ADM</td>
|
<th>ADM</td>
|
||||||
<th>VAL</td>
|
<td>{{codes["ADM"]}}</td>
|
||||||
|
<th class="amue">VAL</td>
|
||||||
<th>Acquis</td>
|
<th>Acquis</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>CMP</td>
|
<td>CMP</td>
|
||||||
<td></td>
|
<td>{{codes["CMP"]}}</td>
|
||||||
|
<td class="amue"></td>
|
||||||
<td>Acquis par compensation annuelle</td>
|
<td>Acquis par compensation annuelle</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>ADJ</td>
|
<td>ADJ</td>
|
||||||
<td>CODJ</td>
|
<td>{{codes["ADJ"]}}</td>
|
||||||
|
<td class="amue">CODJ</td>
|
||||||
<td>Acquis par décision du jury</td>
|
<td>Acquis par décision du jury</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>AJ</td>
|
<td>AJ</td>
|
||||||
<td>AJ</td>
|
<td>{{codes["AJ"]}}</td>
|
||||||
|
<td class="amue">AJ</td>
|
||||||
<td>Attente pour problème de moyenne</td>
|
<td>Attente pour problème de moyenne</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>RAT</td>
|
<td>RAT</td>
|
||||||
|
<td>{{codes["RAT"]}}</td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td>En attente d’un rattrapage</td>
|
<td>En attente d’un rattrapage</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>DEF</td>
|
<td>DEF</td>
|
||||||
<td></td>
|
<td>{{codes["DEF"]}}</td>
|
||||||
|
<td class="amue"></td>
|
||||||
<td>Défaillant</td>
|
<td>Défaillant</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>ABAN</td>
|
<td>ABAN</td>
|
||||||
<td></td>
|
<td>{{codes["ABAN"]}}</td>
|
||||||
|
<td class="amue"></td>
|
||||||
<td>Non évalué pour manque assiduité</td>
|
<td>Non évalué pour manque assiduité</td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
@ -123,42 +149,66 @@
|
|||||||
|
|
||||||
<div class="but_doc">
|
<div class="but_doc">
|
||||||
<table>
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th>ScoDoc</th>
|
||||||
|
<th>{{nom_univ}}</th>
|
||||||
|
<th>AMUE</th>
|
||||||
|
<th>Signification</th>
|
||||||
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>ADM</td>
|
<td>ADM</td>
|
||||||
<td> Acquis (ECTS acquis)</td>
|
<td>{{codes["ADM"]}}</td>
|
||||||
|
<td class="amue">VAL</td>
|
||||||
|
<td>Acquis (ECTS acquis)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>CMP</td>
|
<td>CMP</td>
|
||||||
<td> Acquis par compensation UE compensée avec l’UE de même compétence et de même année (ECTS acquis)
|
<td>{{codes["CMP"]}}</td>
|
||||||
|
<td class="amue">COMP</td>
|
||||||
|
<td>Acquis par compensation UE compensée avec l’UE de même compétence et de même année (ECTS acquis)
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>ADJ</td>
|
<td>ADJ</td>
|
||||||
<td> Acquis par décision de jury (ECTS acquis)</td>
|
<td>{{codes["ADJ"]}}</td>
|
||||||
|
<td class="amue"></td>
|
||||||
|
<td>Acquis par décision de jury (ECTS acquis)</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>AJ</td>
|
<td>AJ</td>
|
||||||
<td> Attente pour problème de moyenne</td>
|
<td>{{codes["AJ"]}}</td>
|
||||||
|
<td class="amue">AJ</td>
|
||||||
|
<td>Attente pour problème de moyenne</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>RAT</td>
|
<td>RAT</td>
|
||||||
<td> En attente d’un rattrapage</td>
|
<td>{{codes["RAT"]}}</td>
|
||||||
|
<td class="amue"></td>
|
||||||
|
<td>En attente d’un rattrapage</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>DEF</td>
|
<td>DEF</td>
|
||||||
<td> Défaillant Pas ou peu de notes par arrêt de la formation</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>
|
||||||
<tr>
|
<tr>
|
||||||
<td>ABAN</td>
|
<td>ABAN</td>
|
||||||
<td> Non évalué pour manque d’assiduité Non présentation des notes de l’étudiant au jury</td>
|
<td>{{codes["ABAN"]}}</td>
|
||||||
|
<td class="amue">ABAN</td>
|
||||||
|
<td>Non évalué pour manque d’assiduité Non présentation des notes de l’étudiant au jury</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>DEM</td>
|
<td>DEM</td>
|
||||||
<td> Démission</td>
|
<td>{{codes["DEM"]}}</td>
|
||||||
|
<td class="amue"></td>
|
||||||
|
<td>Démission</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>UEBSL</td>
|
<td>UEBSL</td>
|
||||||
<td> UE blanchie </td>
|
<td>{{codes["UEBSL"]}}</td>
|
||||||
|
<td class="amue">UEBSL</td>
|
||||||
|
<td>UE blanchie </td>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
|
@ -46,6 +46,7 @@ from app.but.forms import jury_but_forms
|
|||||||
from app.comp import res_sem
|
from app.comp import res_sem
|
||||||
from app.comp.res_but import ResultatsSemestreBUT
|
from app.comp.res_but import ResultatsSemestreBUT
|
||||||
from app.comp.res_compat import NotesTableCompat
|
from app.comp.res_compat import NotesTableCompat
|
||||||
|
from app.models.config import ScoDocSiteConfig
|
||||||
from app.models.etudiants import Identite
|
from app.models.etudiants import Identite
|
||||||
from app.models.formsemestre import FormSemestre
|
from app.models.formsemestre import FormSemestre
|
||||||
from app.models.formsemestre import FormSemestreUEComputationExpr
|
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("</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()
|
return "\n".join(H) + html_sco_header.sco_footer()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user