forked from ScoDoc/ScoDoc
PV jury: restreint cursus à la formation actuelle. Fix #622.
This commit is contained in:
parent
3ca5636454
commit
bb23cdcea7
@ -350,11 +350,13 @@ class SituationEtudCursusClassic(SituationEtudCursus):
|
|||||||
l'étudiant (quelle que soit la formation), le plus ancien en tête"""
|
l'étudiant (quelle que soit la formation), le plus ancien en tête"""
|
||||||
return self.sems
|
return self.sems
|
||||||
|
|
||||||
def get_cursus_descr(self, filter_futur=False):
|
def get_cursus_descr(self, filter_futur=False, filter_formation_code=False):
|
||||||
"""Description brève du parcours: "S1, S2, ..."
|
"""Description brève du parcours: "S1, S2, ..."
|
||||||
Si filter_futur, ne mentionne pas les semestres qui sont après le semestre courant.
|
Si filter_futur, ne mentionne pas les semestres qui sont après le semestre courant.
|
||||||
|
Si filter_formation_code, restreint aux semestres de même code formation que le courant.
|
||||||
"""
|
"""
|
||||||
cur_begin_date = self.sem["dateord"]
|
cur_begin_date = self.sem["dateord"]
|
||||||
|
cur_formation_code = self.sem["formation_code"]
|
||||||
p = []
|
p = []
|
||||||
for s in self.sems:
|
for s in self.sems:
|
||||||
if s["ins"]["etat"] == scu.DEMISSION:
|
if s["ins"]["etat"] == scu.DEMISSION:
|
||||||
@ -363,12 +365,14 @@ class SituationEtudCursusClassic(SituationEtudCursus):
|
|||||||
dem = ""
|
dem = ""
|
||||||
if filter_futur and s["dateord"] > cur_begin_date:
|
if filter_futur and s["dateord"] > cur_begin_date:
|
||||||
continue # skip semestres demarrant apres le courant
|
continue # skip semestres demarrant apres le courant
|
||||||
SA = self.parcours.SESSION_ABBRV # 'S' ou 'A'
|
if filter_formation_code and s["formation_code"] != cur_formation_code:
|
||||||
|
continue # restreint aux semestres de la formation courante (pour les PV)
|
||||||
|
session_abbrv = self.parcours.SESSION_ABBRV # 'S' ou 'A'
|
||||||
if s["semestre_id"] < 0:
|
if s["semestre_id"] < 0:
|
||||||
SA = "A" # force, cas des DUT annuels par exemple
|
session_abbrv = "A" # force, cas des DUT annuels par exemple
|
||||||
p.append("%s%d%s" % (SA, -s["semestre_id"], dem))
|
p.append("%s%d%s" % (session_abbrv, -s["semestre_id"], dem))
|
||||||
else:
|
else:
|
||||||
p.append("%s%d%s" % (SA, s["semestre_id"], dem))
|
p.append("%s%d%s" % (session_abbrv, s["semestre_id"], dem))
|
||||||
return ", ".join(p)
|
return ", ".join(p)
|
||||||
|
|
||||||
def get_parcours_decisions(self):
|
def get_parcours_decisions(self):
|
||||||
|
@ -42,7 +42,6 @@ from app.models import (
|
|||||||
but_validations,
|
but_validations,
|
||||||
)
|
)
|
||||||
from app.scodoc import codes_cursus
|
from app.scodoc import codes_cursus
|
||||||
from app.scodoc import sco_edit_ue
|
|
||||||
from app.scodoc import sco_etud
|
from app.scodoc import sco_etud
|
||||||
from app.scodoc import sco_formsemestre
|
from app.scodoc import sco_formsemestre
|
||||||
from app.scodoc import sco_cursus
|
from app.scodoc import sco_cursus
|
||||||
@ -81,6 +80,7 @@ def dict_pvjury(
|
|||||||
},
|
},
|
||||||
'autorisations' : [ { 'semestre_id' : { ... } } ],
|
'autorisations' : [ { 'semestre_id' : { ... } } ],
|
||||||
'validation_parcours' : True si parcours validé (diplome obtenu)
|
'validation_parcours' : True si parcours validé (diplome obtenu)
|
||||||
|
'parcours' : 'S1, S2, S3, S4, A1',
|
||||||
'prev_code' : code (calculé slt si with_prev),
|
'prev_code' : code (calculé slt si with_prev),
|
||||||
'mention' : mention (en fct moy gen),
|
'mention' : mention (en fct moy gen),
|
||||||
'sum_ects' : total ECTS acquis dans ce semestre (incluant les UE capitalisées)
|
'sum_ects' : total ECTS acquis dans ce semestre (incluant les UE capitalisées)
|
||||||
@ -107,10 +107,12 @@ def dict_pvjury(
|
|||||||
D = {} # même chose que decisions, mais { etudid : dec }
|
D = {} # même chose que decisions, mais { etudid : dec }
|
||||||
for etudid in etudids:
|
for etudid in etudids:
|
||||||
etud = Identite.get_etud(etudid)
|
etud = Identite.get_etud(etudid)
|
||||||
Se = sco_cursus.get_situation_etud_cursus(
|
situation_etud = sco_cursus.get_situation_etud_cursus(
|
||||||
etud.to_dict_scodoc7(), formsemestre_id
|
etud.to_dict_scodoc7(), formsemestre_id
|
||||||
)
|
)
|
||||||
semestre_non_terminal = semestre_non_terminal or Se.semestre_non_terminal
|
semestre_non_terminal = (
|
||||||
|
semestre_non_terminal or situation_etud.semestre_non_terminal
|
||||||
|
)
|
||||||
d = {}
|
d = {}
|
||||||
d["identite"] = nt.identdict[etudid]
|
d["identite"] = nt.identdict[etudid]
|
||||||
d["etat"] = nt.get_etud_etat(
|
d["etat"] = nt.get_etud_etat(
|
||||||
@ -120,9 +122,8 @@ def dict_pvjury(
|
|||||||
d["decisions_ue"] = nt.get_etud_decisions_ue(etudid)
|
d["decisions_ue"] = nt.get_etud_decisions_ue(etudid)
|
||||||
if formsemestre.formation.is_apc():
|
if formsemestre.formation.is_apc():
|
||||||
d.update(but_validations.dict_decision_jury(etud, formsemestre))
|
d.update(but_validations.dict_decision_jury(etud, formsemestre))
|
||||||
d["last_formsemestre_id"] = Se.get_semestres()[
|
# id du dernier semestre (chronologiquement) dans lequel il a été inscrit:
|
||||||
-1
|
d["last_formsemestre_id"] = situation_etud.get_semestres()[-1]
|
||||||
] # id du dernier semestre (chronologiquement) dans lequel il a été inscrit
|
|
||||||
|
|
||||||
ects_capitalises_by_ue_code = _comp_ects_capitalises_by_ue_code(nt, etudid)
|
ects_capitalises_by_ue_code = _comp_ects_capitalises_by_ue_code(nt, etudid)
|
||||||
d["sum_ects_capitalises"] = sum(ects_capitalises_by_ue_code.values())
|
d["sum_ects_capitalises"] = sum(ects_capitalises_by_ue_code.values())
|
||||||
@ -162,10 +163,13 @@ def dict_pvjury(
|
|||||||
d["autorisations"] = [a.to_dict() for a in autorisations]
|
d["autorisations"] = [a.to_dict() for a in autorisations]
|
||||||
d["autorisations_descr"] = descr_autorisations(autorisations)
|
d["autorisations_descr"] = descr_autorisations(autorisations)
|
||||||
|
|
||||||
d["validation_parcours"] = Se.parcours_validated()
|
d["validation_parcours"] = situation_etud.parcours_validated()
|
||||||
d["parcours"] = Se.get_cursus_descr(filter_futur=True)
|
d["parcours"] = situation_etud.get_cursus_descr(filter_futur=True)
|
||||||
|
d["parcours_in_cur_formation"] = situation_etud.get_cursus_descr(
|
||||||
|
filter_futur=True, filter_formation_code=True
|
||||||
|
)
|
||||||
if with_parcours_decisions:
|
if with_parcours_decisions:
|
||||||
d["parcours_decisions"] = Se.get_parcours_decisions()
|
d["parcours_decisions"] = situation_etud.get_parcours_decisions()
|
||||||
# Observations sur les compensations:
|
# Observations sur les compensations:
|
||||||
compensators = sco_cursus_dut.scolar_formsemestre_validation_list(
|
compensators = sco_cursus_dut.scolar_formsemestre_validation_list(
|
||||||
cnx, args={"compense_formsemestre_id": formsemestre_id, "etudid": etudid}
|
cnx, args={"compense_formsemestre_id": formsemestre_id, "etudid": etudid}
|
||||||
@ -206,19 +210,19 @@ def dict_pvjury(
|
|||||||
if not info:
|
if not info:
|
||||||
continue # should not occur
|
continue # should not occur
|
||||||
etud = info[0]
|
etud = info[0]
|
||||||
if Se.prev and Se.prev_decision:
|
if situation_etud.prev and situation_etud.prev_decision:
|
||||||
d["prev_decision_sem"] = Se.prev_decision
|
d["prev_decision_sem"] = situation_etud.prev_decision
|
||||||
d["prev_code"] = Se.prev_decision["code"]
|
d["prev_code"] = situation_etud.prev_decision["code"]
|
||||||
d["prev_code_descr"] = _descr_decision_sem(
|
d["prev_code_descr"] = _descr_decision_sem(
|
||||||
scu.INSCRIT, Se.prev_decision
|
scu.INSCRIT, situation_etud.prev_decision
|
||||||
)
|
)
|
||||||
d["prev"] = Se.prev
|
d["prev"] = situation_etud.prev
|
||||||
has_prev = True
|
has_prev = True
|
||||||
else:
|
else:
|
||||||
d["prev_decision_sem"] = None
|
d["prev_decision_sem"] = None
|
||||||
d["prev_code"] = ""
|
d["prev_code"] = ""
|
||||||
d["prev_code_descr"] = ""
|
d["prev_code_descr"] = ""
|
||||||
d["Se"] = Se
|
d["Se"] = situation_etud
|
||||||
|
|
||||||
decisions.append(d)
|
decisions.append(d)
|
||||||
D[etudid] = d
|
D[etudid] = d
|
||||||
|
@ -149,7 +149,7 @@ def pvjury_table(
|
|||||||
etudid=e["identite"]["etudid"],
|
etudid=e["identite"]["etudid"],
|
||||||
),
|
),
|
||||||
"_nomprenom_td_attrs": f"""id="{e['identite']['etudid']}" class="etudinfo" """,
|
"_nomprenom_td_attrs": f"""id="{e['identite']['etudid']}" class="etudinfo" """,
|
||||||
"parcours": e["parcours"],
|
"parcours": e["parcours_in_cur_formation"],
|
||||||
"decision": _descr_decision_sem_abbrev(e["etat"], e["decision_sem"]),
|
"decision": _descr_decision_sem_abbrev(e["etat"], e["decision_sem"]),
|
||||||
"ue_cap": e["decisions_ue_descr"],
|
"ue_cap": e["decisions_ue_descr"],
|
||||||
"validation_parcours_code": "ADM" if e["validation_parcours"] else "",
|
"validation_parcours_code": "ADM" if e["validation_parcours"] else "",
|
||||||
|
Loading…
Reference in New Issue
Block a user