diff --git a/ZAbsences.py b/ZAbsences.py index d450d09f1..294cfbca2 100644 --- a/ZAbsences.py +++ b/ZAbsences.py @@ -951,6 +951,7 @@ class ZAbsences( ) formsemestre_id = groups_infos.formsemestre_id + require_module = self.get_preference("abs_require_module", formsemestre_id) etuds = [ self.getEtudInfo(etudid=m["etudid"], filled=True)[0] for m in groups_infos.members @@ -1042,7 +1043,9 @@ class ZAbsences( % {"menu_module": menu_module, "url": base_url, "sel": sel} ) - H += self._gen_form_saisie_groupe(etuds, datessem, destination, moduleimpl_id) + H += self._gen_form_saisie_groupe( + etuds, datessem, destination, moduleimpl_id, require_module + ) H.append(self.sco_footer(REQUEST)) return "\n".join(H) @@ -1072,6 +1075,7 @@ class ZAbsences( ) formsemestre_id = groups_infos.formsemestre_id + require_module = self.get_preference("abs_require_module", formsemestre_id) etuds = [ self.getEtudInfo(etudid=m["etudid"], filled=True)[0] for m in groups_infos.members @@ -1200,19 +1204,32 @@ class ZAbsences( sel = "selected" # aucun module specifie H.append( """

- Module concerné par ces absences (optionnel): %(menu_module)s

""" - % {"menu_module": menu_module, "url": base_url, "sel": sel} + % { + "menu_module": menu_module, + "url": base_url, + "sel": sel, + "optionel_txt": 'requis' + if require_module + else "optionnel", + } ) - H += self._gen_form_saisie_groupe(etuds, dates, destination, moduleimpl_id) + H += self._gen_form_saisie_groupe( + etuds, dates, destination, moduleimpl_id, require_module + ) H.append(self.sco_footer(REQUEST)) return "\n".join(H) - def _gen_form_saisie_groupe(self, etuds, dates, destination="", moduleimpl_id=None): + def _gen_form_saisie_groupe( + self, etuds, dates, destination="", moduleimpl_id=None, require_module=False + ): """Formulaire saisie absences Args: @@ -1223,6 +1240,9 @@ class ZAbsences( H = [ """ +

Module: + """ + ) + menu_module += """""" + for ue in ues: modimpls = nt.get_modimpls(ue_id=ue["ue_id"]) for modimpl in modimpls: @@ -171,35 +202,40 @@ def SignaleAbsenceEtud(context, REQUEST=None): # etudid implied

- + - +
Date début : Date début : j/m/a   Date Fin (optionnel):   Date fin (optionnelle): j/m/a

-journée(s) +Journée(s)  Matin(s) - Après midi + Après-midi %(menu_module)s

-Absence justifiée. +Absence justifiée.
Raison: (optionnel)

- + -

Seuls les modules du semestre en cours apparaissent.

Evitez de saisir une absence pour un module qui n'est pas en place à cette date.

-

Toutes les dates sont au format jour/mois/annee

+

Seuls les modules du semestre en cours apparaissent.

+

Évitez de saisir une absence pour un module qui n'est pas en place à cette date.

+

Toutes les dates sont au format jour/mois/annee.

""" - % {"etudid": etud["etudid"], "menu_module": menu_module}, + % { + "etudid": etud["etudid"], + "menu_module": menu_module, + "disabled": "disabled" if disabled else "", + }, context.sco_footer(REQUEST), ] return "\n".join(H) @@ -311,7 +347,7 @@ def JustifAbsenceEtud(context, REQUEST=None): # etudid implied
-journée(s) +Journée(s)  Matin(s)  Après midi @@ -473,7 +509,7 @@ def doAnnuleJustif( dates = context.DateRangeISO(datedebut0, datefin0) nbadded = 0 for jour in dates: - # Attention: supprime matin et après midi + # Attention: supprime matin et après-midi if demijournee == "2": context._AnnuleJustif(etudid, jour, False, REQUEST=REQUEST) context._AnnuleJustif(etudid, jour, True, REQUEST=REQUEST) @@ -553,7 +589,6 @@ def formChoixSemestreGroupe(context, all=False): if not sems: raise ScoValueError("aucun semestre !") H = ['