diff --git a/app/api/assiduites.py b/app/api/assiduites.py index eaebe1adb3bab8eca80ed394e5eedb8030e4464b..d75b796c39bed639c2c2f1d81cb74887c5fbe255 100644 --- a/app/api/assiduites.py +++ b/app/api/assiduites.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## """ScoDoc 9 API : Assiduités diff --git a/app/api/billets_absences.py b/app/api/billets_absences.py index 98c89dfb00b287192c5b88e39d626f539833345e..160b00b73af88dc190f7a37fa6422309a1eb99a4 100644 --- a/app/api/billets_absences.py +++ b/app/api/billets_absences.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/api/departements.py b/app/api/departements.py index 7214032d15e6842e2214fde458547d87edd8e674..04cb8e75e3df165e89f22038c5e7b681d52a0fb8 100644 --- a/app/api/departements.py +++ b/app/api/departements.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/api/etudiants.py b/app/api/etudiants.py index b709218e07a3374237694551745e76eceb281e62..a508ee3b5b09594d739ad18d647a8072a147da3e 100755 --- a/app/api/etudiants.py +++ b/app/api/etudiants.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/api/evaluations.py b/app/api/evaluations.py index 60a03e9be6a55bf2a973353fb14e60b330ba0f05..76b9be7c15daf74063845e053d2271cca80803aa 100644 --- a/app/api/evaluations.py +++ b/app/api/evaluations.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/api/formations.py b/app/api/formations.py index 8a5afe5bf35d2abf099ed09c02774403e626a700..7ff02a07fb1eebe0d7e74b11fea2f5352311ce23 100644 --- a/app/api/formations.py +++ b/app/api/formations.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/api/formsemestres.py b/app/api/formsemestres.py index eca8786ca7873b3c09e84f31a17d262d8d2450af..6fc38aea09d22fe33b933796b3c51973edd40e08 100644 --- a/app/api/formsemestres.py +++ b/app/api/formsemestres.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/api/jury.py b/app/api/jury.py index f6d140d90c4714196f33d8d672b5d402bc949cf8..e71531eb21acb985a1b3f68a2141c4581d508cab 100644 --- a/app/api/jury.py +++ b/app/api/jury.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/api/logos.py b/app/api/logos.py index db3a28cd8fcc1841dbe8c6a59043afe547c8c59e..08b59e3707c88763ff72361a19131cadad33e258 100644 --- a/app/api/logos.py +++ b/app/api/logos.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/api/moduleimpl.py b/app/api/moduleimpl.py index 556f3d077a824eaccbf46fddd0f7ef5d833839d9..a4843fdf760a0c4b6f7a59a9a4a4a9748923b815 100644 --- a/app/api/moduleimpl.py +++ b/app/api/moduleimpl.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/api/partitions.py b/app/api/partitions.py index 268e64c9287f0aa15c8186d3a9461295fb9e0d9d..50660fb6648cdc8750daef763618e3bbacdf54cc 100644 --- a/app/api/partitions.py +++ b/app/api/partitions.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/api/semset.py b/app/api/semset.py index 9869e6f8d8cd89ef0e5b50be1677b204db1514e9..981c5a095b4b97d510f760bcc70cd6301c74b4ef 100644 --- a/app/api/semset.py +++ b/app/api/semset.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/api/tools.py b/app/api/tools.py index 10464e6311026298d31f753b47d8b6a8e2293c01..7ed1a44e673cb4190c7b84f3b93ed8a1f80af796 100644 --- a/app/api/tools.py +++ b/app/api/tools.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## """ScoDoc 9 API : outils diff --git a/app/api/users.py b/app/api/users.py index 3dffd2773732f65d1bb2e08c6d0ac0d457b1d209..0a9f73978d9651cdb192713e29df75050cae4f2b 100644 --- a/app/api/users.py +++ b/app/api/users.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/but/apc_edit_ue.py b/app/but/apc_edit_ue.py index b2fcec0d55104ccdc5a50f9037c0fa8e58b4eaca..0ae48a2181c5b9bf983c9fc5fe91cf62d3a5c49f 100644 --- a/app/but/apc_edit_ue.py +++ b/app/but/apc_edit_ue.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## @@ -23,7 +23,7 @@ def form_ue_choix_parcours(ue: UniteEns) -> str: if ref_comp is None: return f"""<div class="ue_advanced"> <div class="warning">Pas de référentiel de compétence associé à cette formation !</div> - <div><a class="stdlink" href="{ url_for('notes.refcomp_assoc_formation', + <div><a class="stdlink" href="{ url_for('notes.refcomp_assoc_formation', scodoc_dept=g.scodoc_dept, formation_id=ue.formation.id) }">associer un référentiel de compétence</a> </div> @@ -48,7 +48,7 @@ def form_ue_choix_parcours(ue: UniteEns) -> str: f" ({ue.get_ects(parcour):.3g} ects)" if ects_differents else "" ) H.append( - f"""<label><input type="checkbox" name="{parcour.id}" value="{parcour.id}" + f"""<label><input type="checkbox" name="{parcour.id}" value="{parcour.id}" {'checked' if parcour.id in ue_pids else ""} onclick="set_ue_parcour(this);" data-setter="{url_for("apiweb.set_ue_parcours", @@ -62,7 +62,7 @@ def form_ue_choix_parcours(ue: UniteEns) -> str: <ul> <li> <a class="stdlink" href="{ - url_for("notes.ue_parcours_ects", + url_for("notes.ue_parcours_ects", scodoc_dept=g.scodoc_dept, ue_id=ue.id) }">définir des ECTS différents dans chaque parcours</a> </li> diff --git a/app/but/bulletin_but.py b/app/but/bulletin_but.py index e25074ad1d0aa6051703796e631382cf590b2309..c8cf061d5e8b6c66f6c7037b37f1efcee8c1b65b 100644 --- a/app/but/bulletin_but.py +++ b/app/but/bulletin_but.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/but/bulletin_but_court.py b/app/but/bulletin_but_court.py index 9010ae350fb82bbfc6547333af137cfd217ab09a..ea52d0f23bb45d1e26628fc66d880ddabd761f07 100644 --- a/app/but/bulletin_but_court.py +++ b/app/but/bulletin_but_court.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/but/bulletin_but_court_pdf.py b/app/but/bulletin_but_court_pdf.py index 7e9e7e81de21a2d74e6307195ad6d71d44ea1aa8..bef62ae4bd00feacae8554008ee6eb7b79f5e7a0 100644 --- a/app/but/bulletin_but_court_pdf.py +++ b/app/but/bulletin_but_court_pdf.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/but/bulletin_but_pdf.py b/app/but/bulletin_but_pdf.py index dd3ec68702c973104dc987cfc6b469ffd79b7bb3..f56b86c0fc7284c6497a67ead72fdf527e01a958 100644 --- a/app/but/bulletin_but_pdf.py +++ b/app/but/bulletin_but_pdf.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## @@ -9,7 +9,7 @@ La génération du bulletin PDF suit le chemin suivant: - vue formsemestre_bulletinetud -> sco_bulletins.formsemestre_bulletinetud - + bul_dict = bulletin_but.BulletinBUT(formsemestre).bulletin_etud_complet(etud) - sco_bulletins_generator.make_formsemestre_bulletin_etud() diff --git a/app/but/bulletin_but_xml_compat.py b/app/but/bulletin_but_xml_compat.py index 4ab940f7ae5d5d11cd8d39cb05d88fdb822530ec..0b8c7b76eeef0884cd0ebcb819b154dd054cc0f5 100644 --- a/app/but/bulletin_but_xml_compat.py +++ b/app/but/bulletin_but_xml_compat.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/but/cursus_but.py b/app/but/cursus_but.py index d1e3f119d3eb3d2fadc831a4c3e6d07b8c388e14..9858d5177fd2b2eb25ba4578c678232ba6290371 100644 --- a/app/but/cursus_but.py +++ b/app/but/cursus_but.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/but/forms/jury_but_forms.py b/app/but/forms/jury_but_forms.py index 67bd955afadb24a1556c0f37304e909583ee08a6..69eeaa480882a4cfd116798ba35a01ed81ad8608 100644 --- a/app/but/forms/jury_but_forms.py +++ b/app/but/forms/jury_but_forms.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/but/forms/refcomp_forms.py b/app/but/forms/refcomp_forms.py index b1ad3e71beb294943428d0477e2070690128ff26..52b9cfc1718edaf948aa203b925e9e9f00302bff 100644 --- a/app/but/forms/refcomp_forms.py +++ b/app/but/forms/refcomp_forms.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/but/import_refcomp.py b/app/but/import_refcomp.py index 666deb547e9a00df8c5a41faf64b5350e34c03ff..b203c4139d74643b38fe880df2f2464a3bbcba4e 100644 --- a/app/but/import_refcomp.py +++ b/app/but/import_refcomp.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## from xml.etree import ElementTree @@ -33,7 +33,7 @@ def orebut_import_refcomp(xml_data: str, dept_id: int, orig_filename=None): scodoc_orig_filename=orig_filename, dept_id=dept_id ).count(): raise ScoValueError( - f"""Un référentiel a déjà été chargé d'un fichier de même nom. + f"""Un référentiel a déjà été chargé d'un fichier de même nom. ({orig_filename}) Supprimez-le ou changez le nom du fichier.""" ) diff --git a/app/but/jury_but.py b/app/but/jury_but.py index bc3b7285c54245f4472187b3e31dd2576577b03a..41c081191b78337f365b7e43d9893ec09caccaf5 100644 --- a/app/but/jury_but.py +++ b/app/but/jury_but.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## @@ -13,22 +13,22 @@ Utilisation: cherche les RCUEs de l'année (BUT1, 2, 3) pour un redoublant, le RCUE peut considérer un formsemestre d'une année antérieure. - on instancie des DecisionsProposees pour les + on instancie des DecisionsProposees pour les différents éléments (UEs, RCUEs, Année, Diplôme) - Cela donne + Cela donne - les codes possibles (dans .codes) - le code actuel si une décision existe déjà (dans code_valide) - pour les UEs, le rcue s'il y en a un) - + 2) Validation pour l'utilisateur (form)) => enregistrement code - on vérifie que le code soumis est bien dans les codes possibles - on enregistre la décision (dans ScolarFormSemestreValidation pour les UE, ApcValidationRCUE pour les RCUE, et ApcValidationAnnee pour les années) - - Si RCUE validé, on déclenche d'éventuelles validations: - ("La validation des deux UE du niveau d'une compétence emporte la validation + - Si RCUE validé, on déclenche d'éventuelles validations: + ("La validation des deux UE du niveau d'une compétence emporte la validation de l'ensemble des UE du niveau inférieur de cette même compétence.") - -Les jurys de semestre BUT impairs entrainent systématiquement la génération d'une + +Les jurys de semestre BUT impairs entrainent systématiquement la génération d'une autorisation d'inscription dans le semestre pair suivant: `ScolarAutorisationInscription`. Les jurys de semestres pairs non (S2, S4, S6): il y a une décision sur l'année (ETP) - autorisation en S_2n+1 (S3 ou S5) si: ADM, ADJ, PASD, PAS1CN @@ -39,8 +39,8 @@ Le formulaire permet de choisir des codes d'UE, RCUE et Année (ETP). Mais normalement, les codes d'UE sont à choisir: les RCUE et l'année s'en déduisent. Si l'utilisateur coche "décision manuelle", il peut alors choisir les codes RCUE et années. -La soumission du formulaire: - - etud, formation +La soumission du formulaire: + - etud, formation - UEs: [(formsemestre, ue, code), ...] - RCUE: [(formsemestre, ue, code), ...] le formsemestre est celui d'indice pair du niveau (S2, S4 ou S6), il sera regoupé avec celui impair de la même année ou de la suivante. @@ -117,7 +117,7 @@ class NoRCUEError(ScoValueError): {warning_impair} {warning_pair} <div><b>UE {ue.acronyme}</b>: niveau {html.escape(str(ue.niveau_competence))}</div> - <div><b>UEs impaires:</b> {html.escape(', '.join(str(u.niveau_competence or "pas de niveau") + <div><b>UEs impaires:</b> {html.escape(', '.join(str(u.niveau_competence or "pas de niveau") for u in deca.ues_impair))} </div> """ @@ -273,8 +273,8 @@ class DecisionsProposeesAnnee(DecisionsProposees): = niveaux du tronc commun + niveau du parcours de l'étudiant. """ self.rcue_by_niveau = self._compute_rcues_annee() - """RCUEs de l'année - (peuvent être construits avec des UEs validées antérieurement: redoublants + """RCUEs de l'année + (peuvent être construits avec des UEs validées antérieurement: redoublants avec UEs capitalisées, validation "antérieures") """ # ---- Décision année et autorisation diff --git a/app/but/jury_but_pv.py b/app/but/jury_but_pv.py index 0b8dfd064dadd9cbee1c2b93bea8ca07b96bf582..9b970a61dfd7d69d85ba9d4622bd96e49e7cbc73 100644 --- a/app/but/jury_but_pv.py +++ b/app/but/jury_but_pv.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## @@ -69,7 +69,7 @@ def pvjury_page_but(formsemestre_id: int, fmt="html"): html_title=f"""<div style="margin-bottom: 8px;"><span style="font-size: 120%; font-weight: bold;">{title}</span> <span style="padding-left: 20px;"> - <a href="{url_for("notes.pvjury_page_but", + <a href="{url_for("notes.pvjury_page_but", scodoc_dept=g.scodoc_dept, formsemestre_id=formsemestre_id, fmt="xlsx")}" class="stdlink">version excel</a></span></div> diff --git a/app/but/jury_but_results.py b/app/but/jury_but_results.py index 089b2e772a040477fcb3b0b1963a19ed6d02f02f..2f52e22be8fc98eae55c7f6efb53a16d30765780 100644 --- a/app/but/jury_but_results.py +++ b/app/but/jury_but_results.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/but/jury_but_validation_auto.py b/app/but/jury_but_validation_auto.py index a061b42f11bb3b797c26eddb6ad6c50b7bbee00f..4cfffa581775a85e6eb08c62dff2b5c0e3c4c346 100644 --- a/app/but/jury_but_validation_auto.py +++ b/app/but/jury_but_validation_auto.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/but/jury_but_view.py b/app/but/jury_but_view.py index 3ae00b2fac1744bda2dd93e4a7b6b65bb53a05ea..544d13f2b2b1902d2d8b46c5aa913c52584bedc1 100644 --- a/app/but/jury_but_view.py +++ b/app/but/jury_but_view.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## @@ -76,9 +76,9 @@ def show_etud(deca: DecisionsProposeesAnnee, read_only: bool = True) -> str: f""" <div class="titre_niveaux"> <b>Niveaux de compétences et unités d'enseignement du BUT{deca.annee_but}</b> - <a style="margin-left: 32px;" class="stdlink" target="_blank" rel="noopener noreferrer" + <a style="margin-left: 32px;" class="stdlink" target="_blank" rel="noopener noreferrer" href={ - url_for("notes.validation_rcues", scodoc_dept=g.scodoc_dept, + url_for("notes.validation_rcues", scodoc_dept=g.scodoc_dept, etudid=deca.etud.id, formsemestre_id=formsemestre_2.id if formsemestre_2 else formsemestre_1.id ) @@ -172,7 +172,7 @@ def _gen_but_select( ] ) return f"""<select required name="{name}" - class="but_code {klass}" + class="but_code {klass}" data-orig_code="{code_valide or (codes[0] if codes else '')}" data-orig_recorded="{code_valide or ''}" onchange="change_menu_code(this);" @@ -201,7 +201,7 @@ def _gen_but_niveau_ue( <div>UE en cours { "sans notes" if np.isnan(dec_ue.moy_ue) else - ("avec moyenne <b>" + scu.fmt_note(dec_ue.moy_ue) + "</b>") + ("avec moyenne <b>" + scu.fmt_note(dec_ue.moy_ue) + "</b>") } </div> </div> @@ -262,14 +262,14 @@ def _gen_but_niveau_ue( {scoplement} </div> <div class="but_code">{ - _gen_but_select("code_ue_"+str(ue.id), + _gen_but_select("code_ue_"+str(ue.id), dec_ue.codes, dec_ue.code_valide, disabled=disabled, klass=f"code_ue ue_rcue_{niveau_id}" if not disabled else "" ) }</div> - + </div>""" @@ -423,7 +423,7 @@ def jury_but_semestriel( # GET if formsemestre.semestre_id % 2 == 0: warning = f"""<div class="warning"> - Cet étudiant de S{formsemestre.semestre_id} ne peut pas passer + Cet étudiant de S{formsemestre.semestre_id} ne peut pas passer en jury BUT annuel car il lui manque le semestre précédent. </div>""" else: diff --git a/app/but/jury_edit_manual.py b/app/but/jury_edit_manual.py index d144c125ca44bc4d1bd23152a37d98d948ebd540..29a81cedf2b586866345f527df7e49cece983ca4 100644 --- a/app/but/jury_edit_manual.py +++ b/app/but/jury_edit_manual.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/but/rcue.py b/app/but/rcue.py index 5a5fce3ea9525ae6964c4fe21c3229bfdaf2d2da..2fce54ffc6d0d9807ac4c3bde9e0caaaba020a09 100644 --- a/app/but/rcue.py +++ b/app/but/rcue.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/but/validations_view.py b/app/but/validations_view.py index ef7dd88252ae5624520afaec2ea9dab5e075cd82..83c8430159c0eb126d858a2ddc0b17a58b6f4684 100644 --- a/app/but/validations_view.py +++ b/app/but/validations_view.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/comp/aux_stats.py b/app/comp/aux_stats.py index b0d47924eb5b4c15567df135ae514bc0b8933abe..36b2efdf8e4be40ff4e830b196b4000eb8da102b 100644 --- a/app/comp/aux_stats.py +++ b/app/comp/aux_stats.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## @@ -30,7 +30,9 @@ class StatsMoyenne: self.max = np.nanmax(vals) self.size = len(vals) self.nb_vals = self.size - np.count_nonzero(np.isnan(vals)) - except TypeError: # que des NaN dans un array d'objets, ou ce genre de choses exotiques... + except ( + TypeError + ): # que des NaN dans un array d'objets, ou ce genre de choses exotiques... self.moy = self.min = self.max = self.size = self.nb_vals = 0 def to_dict(self): diff --git a/app/comp/bonus_spo.py b/app/comp/bonus_spo.py index b5b4e966bc1b54774ca2bca1360d295fa37c1310..96505d1674ea043bccb686832f3d5765aadffe84 100644 --- a/app/comp/bonus_spo.py +++ b/app/comp/bonus_spo.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/comp/df_cache.py b/app/comp/df_cache.py index 1dea77c24d860691ca6624f844e8db5163fea0fb..fb4c6cade9469727ead5029f20baf7fee8dcb19e 100644 --- a/app/comp/df_cache.py +++ b/app/comp/df_cache.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/comp/jury.py b/app/comp/jury.py index ee2c1373872ec016f947dd5670a22915b5e31fca..1a4c87687fdc4d5d622692d71222a00e8ce4b17d 100644 --- a/app/comp/jury.py +++ b/app/comp/jury.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## @@ -38,7 +38,7 @@ class ValidationsSemestre(ResultatsCache): super().__init__(formsemestre, sco_cache.ValidationsSemestreCache) self.decisions_jury = {} - """Décisions prises dans ce semestre: + """Décisions prises dans ce semestre: { etudid : { 'code' : None|ATT|..., 'assidu' : 0|1 }}""" self.decisions_jury_ues = {} """Décisions sur des UEs dans ce semestre: @@ -145,11 +145,11 @@ def formsemestre_get_ue_capitalisees(formsemestre: FormSemestre) -> pd.DataFrame query = sa.text( """ SELECT DISTINCT SFV.*, ue.ue_code - FROM - notes_ue ue, + FROM + notes_ue ue, notes_formations nf, - notes_formations nf2, - scolar_formsemestre_validation SFV, + notes_formations nf2, + scolar_formsemestre_validation SFV, notes_formsemestre sem, notes_formsemestre_inscription ins diff --git a/app/comp/moy_mat.py b/app/comp/moy_mat.py index 09518857f57c6eca709fb2a41226d3a7acce1d1a..e95e4c961ab2b50d211219812fe238288a968f40 100644 --- a/app/comp/moy_mat.py +++ b/app/comp/moy_mat.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/comp/moy_mod.py b/app/comp/moy_mod.py index 7ca6c25ea65442e5b9c1ec385dcd041a5baefe4d..ad7c45940ed7c1fcedb9e8c6528148ca240dc58b 100644 --- a/app/comp/moy_mod.py +++ b/app/comp/moy_mod.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/comp/moy_sem.py b/app/comp/moy_sem.py index 15313550a6c472bd16681f819bb44a05dcaf2a75..3701f3dd0cee0789a3f4960f706b209fdf8f4c32 100644 --- a/app/comp/moy_sem.py +++ b/app/comp/moy_sem.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -89,7 +89,7 @@ def compute_sem_moys_apc_using_ects( flash( Markup( f"""Calcul moyenne générale impossible: ECTS des UE manquants !<br> - (formation: <a href="{url_for("notes.ue_table", + (formation: <a href="{url_for("notes.ue_table", scodoc_dept=g.scodoc_dept, formation_id=formation_id)}">{formation.get_titre_version()}</a>)""" ) ) diff --git a/app/comp/moy_ue.py b/app/comp/moy_ue.py index ea9124eea9ed8a58729f85c58e4e7e4f94366de1..6f80041886ac6b4c6912dfff296346797a8ec959 100644 --- a/app/comp/moy_ue.py +++ b/app/comp/moy_ue.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/comp/res_but.py b/app/comp/res_but.py index 1d7b3ad7f94b39a25668f629a05c1d53a9f28628..880f1b8ed5653b2e230cf2ca20202056538dae5f 100644 --- a/app/comp/res_but.py +++ b/app/comp/res_but.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/comp/res_cache.py b/app/comp/res_cache.py index 941caad2ba15a589edf3672329667a606ff9df84..9374598b79097609a60ac6be71728b7a2b60c94e 100644 --- a/app/comp/res_cache.py +++ b/app/comp/res_cache.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/comp/res_classic.py b/app/comp/res_classic.py index 50976668d9f20783ece2f96ad5902a3bc28045d9..89ff95e731385162a0055916a2b7d08533905f67 100644 --- a/app/comp/res_classic.py +++ b/app/comp/res_classic.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/comp/res_common.py b/app/comp/res_common.py index 175e38df8b0aabbc6e60325c4f6c14aec1c61d07..c6985ff563420c84fef644f4a1af0914ae75ea06 100644 --- a/app/comp/res_common.py +++ b/app/comp/res_common.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/comp/res_compat.py b/app/comp/res_compat.py index 7d23bea44872e8ac59d5d54e30394f55260b47d1..a9b605aa40e05899737fac30baf0c82c6edf0ba4 100644 --- a/app/comp/res_compat.py +++ b/app/comp/res_compat.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/comp/res_sem.py b/app/comp/res_sem.py index 212f9710281c1735f7a27ba301b64db1793e8eea..8c28d7e444baf5e7a417a56212defd4f70dd05fb 100644 --- a/app/comp/res_sem.py +++ b/app/comp/res_sem.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/email.py b/app/email.py index a983ef2df82e6c5b87514951880f62f2e0092aa1..cecaa68b965c4faf9ad5236f9bc835c6372785b0 100644 --- a/app/email.py +++ b/app/email.py @@ -1,7 +1,7 @@ # -*- coding: UTF-8 -* ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/entreprises/app_relations_entreprises.py b/app/entreprises/app_relations_entreprises.py index b8bd683ddad407f1ea2e00306a07479fbc207b7f..e02a0c935920cced4c9a0888dc64e3b7442654cd 100644 --- a/app/entreprises/app_relations_entreprises.py +++ b/app/entreprises/app_relations_entreprises.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/entreprises/forms.py b/app/entreprises/forms.py index c39ac7504052a5d51386ddb799c078476c176911..804e232b7833022d8489f3eff3e7eb40f5cb6992 100644 --- a/app/entreprises/forms.py +++ b/app/entreprises/forms.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/forms/assiduite/ajout_assiduite_etud.py b/app/forms/assiduite/ajout_assiduite_etud.py index dae8419b028ea822d335188ddfec1fb3e9bdc7c5..44b7f9c7ec685f74d796ae9ca5e548ab6a5c4d33 100644 --- a/app/forms/assiduite/ajout_assiduite_etud.py +++ b/app/forms/assiduite/ajout_assiduite_etud.py @@ -4,7 +4,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/forms/formsemestre/change_formation.py b/app/forms/formsemestre/change_formation.py index 9161c93a5cd2112ab5384490acade8cc0d42aa61..c66e96778b1bd946caeff84d95c51c4bb0cd3a48 100644 --- a/app/forms/formsemestre/change_formation.py +++ b/app/forms/formsemestre/change_formation.py @@ -4,7 +4,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -43,6 +43,7 @@ def gen_formsemestre_change_formation_form( formations: list[Formation], ) -> FormSemestreChangeFormationForm: "Create our dynamical form" + # see https://wtforms.readthedocs.io/en/2.3.x/specific_problems/#dynamic-form-composition class F(FormSemestreChangeFormationForm): pass diff --git a/app/forms/main/config_apo.py b/app/forms/main/config_apo.py index 5db90405abe6281fc527e1318ed1ef64fd29dfc2..adac92c0eee63c9b430fa58f91a43b8f8c75df84 100644 --- a/app/forms/main/config_apo.py +++ b/app/forms/main/config_apo.py @@ -5,7 +5,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/forms/main/config_assiduites.py b/app/forms/main/config_assiduites.py index 129b2d47ef663e043c0a39bf100f5ba174a4d8a8..056543045048c629b6e878b6c5264cf3ee414486 100644 --- a/app/forms/main/config_assiduites.py +++ b/app/forms/main/config_assiduites.py @@ -5,7 +5,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/forms/main/config_cas.py b/app/forms/main/config_cas.py index 3a31b47fe42530a31744b811e2fa9b73876f12aa..a85a9b1a6c374a40dce2801147375452a89d83cd 100644 --- a/app/forms/main/config_cas.py +++ b/app/forms/main/config_cas.py @@ -5,7 +5,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/forms/main/config_logos.py b/app/forms/main/config_logos.py index d01cc5cc4f054766e3067e0e80c10630aae8b61e..fcea427cc94bc02d1aeaccd83befc41c97a37f50 100644 --- a/app/forms/main/config_logos.py +++ b/app/forms/main/config_logos.py @@ -5,7 +5,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/forms/main/config_main.py b/app/forms/main/config_main.py index df8ec7df6ab6a0d74ef4442fe2e4ae6e88f32df3..68b161ebb034713b2b4507709851177a40d78470 100644 --- a/app/forms/main/config_main.py +++ b/app/forms/main/config_main.py @@ -5,7 +5,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/forms/main/create_dept.py b/app/forms/main/create_dept.py index 1ab7f667821c42f36ad52746bc8adfd71ed721c4..059af39ca9da2bde17c3174ca6bcdb0d7b69a58c 100644 --- a/app/forms/main/create_dept.py +++ b/app/forms/main/create_dept.py @@ -5,7 +5,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/forms/main/role_create.py b/app/forms/main/role_create.py index c3a2b150e42bc233f559df8fd679274dc9f6e088..aee79c0c312d014a5864f7978369ce127926c3c0 100644 --- a/app/forms/main/role_create.py +++ b/app/forms/main/role_create.py @@ -5,7 +5,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/models/but_refcomp.py b/app/models/but_refcomp.py index a47bac1bf683be404f59c4c7d8db29c17674aab2..aa36c08d0062c5236572c005eb29af65326e4e55 100644 --- a/app/models/but_refcomp.py +++ b/app/models/but_refcomp.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## """ScoDoc 9 models : Référentiel Compétence BUT 2021 diff --git a/app/models/formsemestre.py b/app/models/formsemestre.py index 3a9e00155ab39a0fd92817be805359f2b896520a..994e201d205b8399169f2c35213a14332314cdab 100644 --- a/app/models/formsemestre.py +++ b/app/models/formsemestre.py @@ -1,7 +1,7 @@ # -*- coding: UTF-8 -* ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/models/groups.py b/app/models/groups.py index d4905cda49f64c676fd5d83f86085beac6a600b3..6c112058f389c6f94aecfaa60fe2f95417c27598 100644 --- a/app/models/groups.py +++ b/app/models/groups.py @@ -1,7 +1,7 @@ # -*- coding: UTF-8 -* ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/pe/pe_avislatex.py b/app/pe/pe_avislatex.py index d68f9509b6fe83dd63d1dd50b26340cf7cf0a336..3c498f47def421b23d1629651089e5e7e8383faa 100644 --- a/app/pe/pe_avislatex.py +++ b/app/pe/pe_avislatex.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -51,6 +51,7 @@ DONNEE_MANQUANTE = ( "" # Caractère de remplacement des données manquantes dans un avis PE ) + # ---------------------------------------------------------------------------------------- def get_code_latex_from_modele(fichier): """Lit le code latex à partir d'un modèle. Renvoie une chaine unicode. @@ -329,14 +330,13 @@ def get_bilanParTag(donnees_etudiant, groupe="groupe"): lignes = [] valeurs = {"note": [], "rang": []} - for (indice_aggregat, (aggregat, intitule, _)) in enumerate(entete): + for indice_aggregat, (aggregat, intitule, _) in enumerate(entete): # print("> " + aggregat) # listeTags = jury.get_allTagForAggregat(aggregat) # les tags de l'aggrégat listeTags = [ tag for tag in donnees_etudiant[aggregat][groupe].keys() if tag != "dut" ] # for tag in listeTags: - if tag not in lignes: lignes.append(tag) valeurs["note"].append( @@ -365,7 +365,7 @@ def get_bilanParTag(donnees_etudiant, groupe="groupe"): ) code_latex += "\\hline" code_latex += "\\hline \n" - for (i, ligne_val) in enumerate(valeurs["note"]): + for i, ligne_val in enumerate(valeurs["note"]): titre = lignes[i] # règle le pb d'encodage code_latex += "\\textbf{" + titre + "} & " + " & ".join(ligne_val) + "\\\\ \n" code_latex += ( diff --git a/app/pe/pe_jurype.py b/app/pe/pe_jurype.py index a18626d6af4c785d5275c0e9c7abe4c5fd423de0..01687f7c97c348707c49d9b5c9643a06086cc159 100644 --- a/app/pe/pe_jurype.py +++ b/app/pe/pe_jurype.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -60,6 +60,7 @@ from app.pe import pe_tools from app.pe import pe_semestretag from app.pe import pe_settag + # ---------------------------------------------------------------------------------------- def comp_nom_semestre_dans_parcours(sem): """Le nom a afficher pour titrer un semestre @@ -293,7 +294,7 @@ class JuryPE(object): if pe_tools.PE_DEBUG: pe_tools.pe_print("3) Analyse des parcours individuels des étudiants") - for (no_etud, etudid) in enumerate(listEtudId): + for no_etud, etudid in enumerate(listEtudId): self.add_etudiants(etudid) if pe_tools.PE_DEBUG: if (no_etud + 1) % 10 == 0: @@ -319,7 +320,6 @@ class JuryPE(object): etudiants = [] for sem in semsListe: # pour chacun des semestres de la liste - nt = self.get_cache_notes_d_un_semestre(sem["formsemestre_id"]) etudiantsDuSemestre = ( nt.get_etudids() @@ -411,7 +411,7 @@ class JuryPE(object): "aggregat" ] # Recherche du formsemestre_id de son Si valide (ou a défaut en cours) ] - for (i, nom_sem) in enumerate(JuryPE.PARCOURS["4S"]["aggregat"]): + for i, nom_sem in enumerate(JuryPE.PARCOURS["4S"]["aggregat"]): fid = sesFormsemestre_idValidants[i] self.PARCOURSINFO_DICT[etudid][nom_sem] = fid # ['formsemestre_id'] if fid != None and pe_tools.PE_DEBUG and pe_tools.PE_DEBUG >= 2: @@ -544,7 +544,8 @@ class JuryPE(object): # ------------------------------------------------------------------------------------------------------------------ def get_Fid_d_un_Si_valide_d_un_etudiant(self, etudid, nom_semestre): """Récupère le formsemestre_id valide d'un étudiant fourni son etudid à un semestre DUT de n° semestre_id - donné. Si le semestre est en cours (pas encore de jury), renvoie le formsemestre_id actuel.""" + donné. Si le semestre est en cours (pas encore de jury), renvoie le formsemestre_id actuel. + """ semestre_id = JuryPE.PARCOURS["4S"]["aggregat"].index(nom_semestre) + 1 sesSi = self.get_semestresDUT_d_un_etudiant( etudid, semestre_id @@ -553,7 +554,7 @@ class JuryPE(object): if len(sesSi) > 0: # S'il a obtenu au moins une note # mT = sesMoyennes[0] leFid = sesSi[0]["formsemestre_id"] - for (i, sem) in enumerate( + for i, sem in enumerate( sesSi ): # Parcours des éventuels semestres précédents nt = self.get_cache_notes_d_un_semestre(sem["formsemestre_id"]) @@ -581,7 +582,7 @@ class JuryPE(object): lesFids = self.get_formsemestreids_du_jury( self.get_etudids_du_jury(), liste_semestres=["S1", "S2", "S3", "S4"] ) - for (i, fid) in enumerate(lesFids): + for i, fid in enumerate(lesFids): if pe_tools.PE_DEBUG: pe_tools.pe_print( "%d) Semestre taggué %s (avec classement dans groupe)" @@ -713,7 +714,8 @@ class JuryPE(object): def get_settags_in_jury(self): """Calcule les moyennes sur la totalité du parcours (S1 jusqu'à S3 ou S4) - en classant les étudiants au sein du semestre final du parcours (même S3, même S4, ...)""" + en classant les étudiants au sein du semestre final du parcours (même S3, même S4, ...) + """ # Par groupe : # combinaisons = { 'S1' : ['S1'], 'S2' : ['S2'], 'S3' : ['S3'], 'S4' : ['S4'], \ @@ -722,7 +724,7 @@ class JuryPE(object): # ---> sur 2 parcours DUT (cas S3 fini, cas S4 fini) combinaisons = ["1A", "2A", "3S", "4S"] - for (i, nom) in enumerate(combinaisons): + for i, nom in enumerate(combinaisons): parcours = JuryPE.PARCOURS[nom][ "aggregat" ] # La liste des noms de semestres (S1, S2, ...) impliqués dans l'aggrégat @@ -781,8 +783,7 @@ class JuryPE(object): lesEtudids = self.get_etudids_du_jury() - for (i, nom) in enumerate(JuryPE.PARCOURS.keys()): - + for i, nom in enumerate(JuryPE.PARCOURS.keys()): settag = pe_settag.SetTagInterClasse(nom, diplome=self.diplome) nbreEtudInscrits = settag.set_Etudiants( lesEtudids, self.PARCOURSINFO_DICT, self.ETUDINFO_DICT @@ -896,7 +897,6 @@ class JuryPE(object): # Méthodes d'affichage pour debug # **************************************************************************************************************** # def str_etudiants_in_jury(self, delim=";"): - # En tete: entete = ["Id", "Nom", "Abandon", "Diplome"] for nom_sem in ["S1", "S2", "S3", "S4", "1A", "2A", "3S", "4S"]: @@ -904,7 +904,6 @@ class JuryPE(object): chaine = delim.join(entete) + "\n" for etudid in self.PARCOURSINFO_DICT: - donnees = self.PARCOURSINFO_DICT[etudid] # pe_tools.pe_print(etudid, donnees) # les infos générales @@ -940,7 +939,8 @@ class JuryPE(object): def get_allTagForAggregat(self, nom_aggregat): """Extrait du dictionnaire syntheseJury la liste des tags d'un semestre ou - d'un aggrégat donné par son nom (S1, S2, S3 ou S4, 1A, ...). Renvoie [] si aucun tag.""" + d'un aggrégat donné par son nom (S1, S2, S3 ou S4, 1A, ...). Renvoie [] si aucun tag. + """ taglist = set() for etudid in self.get_etudids_du_jury(): taglist = taglist.union( @@ -1203,6 +1203,7 @@ class JuryPE(object): # ---------------------------------------------------------------------------------------- # Fonctions + # ---------------------------------------------------------------------------------------- def get_annee_diplome_semestre(sem) -> int: """Pour un semestre donne, décrit par le biais du dictionnaire sem usuel : diff --git a/app/pe/pe_semestretag.py b/app/pe/pe_semestretag.py index 9e2d9b45577a604abf1ede533637e5a027093df4..8384551c41efa104e51356c5958c7f78afcc9ebe 100644 --- a/app/pe/pe_semestretag.py +++ b/app/pe/pe_semestretag.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/pe/pe_settag.py b/app/pe/pe_settag.py index 94e80cd9ce7a6d43ab1cd1a38fba4d73011d2e2f..f8c35bd42a8a87caba293d05767b20fc3154b209 100644 --- a/app/pe/pe_settag.py +++ b/app/pe/pe_settag.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/pe/pe_tagtable.py b/app/pe/pe_tagtable.py index e14ca6ade45d7c88fdb7e12e8e21b066bedc8f66..49bf22cc8ad824e46378d6c43dfd1514732df55e 100644 --- a/app/pe/pe_tagtable.py +++ b/app/pe/pe_tagtable.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/pe/pe_tools.py b/app/pe/pe_tools.py index 932a2a0071c0d2e3cea9d8dfc599f16edef6a9e9..ead3a2d1887ba88f1203990f34c2f95337f856c1 100644 --- a/app/pe/pe_tools.py +++ b/app/pe/pe_tools.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -74,6 +74,7 @@ PE_LOCAL_FOOTER_TMPL = REP_LOCAL_AVIS + "local/modeles/un_footer.tex" # ---------------------------------------------------------------------------------------- + # ---------------------------------------------------------------------------------------- def print_semestres_description(sems, avec_affichage_debug=False): """Dediee a l'affichage d'un semestre pour debug du module""" diff --git a/app/pe/pe_view.py b/app/pe/pe_view.py index 8c2a40b76b5f30a205a9eadad07675b36bb53178..7a49e7210b1f162e3b1d3fc312a1e40f2c323570 100644 --- a/app/pe/pe_view.py +++ b/app/pe/pe_view.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/__init__.py b/app/scodoc/__init__.py index 1b9a59255d0a7bfd4bdd7b833a4fb8da3fb2945b..1edc8d5ff5bcb2feeae878c54f94cfaef368e8a6 100644 --- a/app/scodoc/__init__.py +++ b/app/scodoc/__init__.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/codes_cursus.py b/app/scodoc/codes_cursus.py index b11c7b6b668037cb66b11910a57b6d169b7d41b8..ea6d09ca0ab9d1e78c9402080cd7f43a6e80f17a 100644 --- a/app/scodoc/codes_cursus.py +++ b/app/scodoc/codes_cursus.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/gen_tables.py b/app/scodoc/gen_tables.py index 8fcda8fb96b33fdd32382dcfdac55b9a5726311d..499c16eb9e03d914dc6a085f00d74f4ffd4cffdc 100644 --- a/app/scodoc/gen_tables.py +++ b/app/scodoc/gen_tables.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/html_sco_header.py b/app/scodoc/html_sco_header.py index 1b9e451948e12d58667e7ec9298b92f3b6cea899..886f0cf439e925718c12a0e36e3c04902a9b1555 100644 --- a/app/scodoc/html_sco_header.py +++ b/app/scodoc/html_sco_header.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/html_sidebar.py b/app/scodoc/html_sidebar.py index 3c35157c36a89ed242942edcb7f3bc64e163bc5f..9806b11591da49d15b13db161305ee7ab59f27f6 100755 --- a/app/scodoc/html_sidebar.py +++ b/app/scodoc/html_sidebar.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/htmlutils.py b/app/scodoc/htmlutils.py index 51a0b19bf88b1c70268786a7bcf7f41411b9fec9..41e452d4ca34ed76d52e03296b12b3a0b694d1dd 100644 --- a/app/scodoc/htmlutils.py +++ b/app/scodoc/htmlutils.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/notes_users.py b/app/scodoc/notes_users.py index 33d25a6814533aa35df5d12016d25adaec6bd75d..b1ead89491d90eeec0297ad3bc4cc56fd5402c00 100644 --- a/app/scodoc/notes_users.py +++ b/app/scodoc/notes_users.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/safehtml.py b/app/scodoc/safehtml.py index 5c897cd25c7d4dd1514f2930eaaf74236acee4d2..d74bf40ff5b851bf28dc34453ed5156e53aa9492 100644 --- a/app/scodoc/safehtml.py +++ b/app/scodoc/safehtml.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -33,6 +33,7 @@ from html.parser import HTMLParser (Python 3 only) """ + # permet de conserver les liens def html_to_safe_html(text, convert_br=True): # was HTML2SafeHTML # text = html_to_safe_html(text, valid_tags=("b", "a", "i", "br", "p")) diff --git a/app/scodoc/sco_abs.py b/app/scodoc/sco_abs.py index 8ef9de03ac41e20b76178a2b45df4f2fc8a27ab1..2f55f3c641925c344e95245e1d1f3c5e1b7a8ac5 100755 --- a/app/scodoc/sco_abs.py +++ b/app/scodoc/sco_abs.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -429,8 +429,8 @@ def list_abs_date(etudid, beg_date=None, end_date=None): "" if beg_date is None else """ - AND A.jour >= %(beg_date)s - AND A.jour <= %(end_date)s + AND A.jour >= %(beg_date)s + AND A.jour <= %(end_date)s """ ) cursor.execute( @@ -516,7 +516,7 @@ def list_abs_jour(date, am=True, pm=True, is_abs=True, is_just=None) -> list[dic """ cnx = ndb.GetDBConnexion() cursor = cnx.cursor(cursor_factory=ndb.ScoDocCursor) - req = """SELECT DISTINCT etudid, jour, matin FROM ABSENCES A + req = """SELECT DISTINCT etudid, jour, matin FROM ABSENCES A WHERE A.jour = %(date)s """ if is_abs is not None: @@ -545,12 +545,12 @@ def list_abs_non_just_jour(date, am=True, pm=True) -> list[dict]: if not pm: reqa += " AND matin " req = ( - """SELECT etudid, jour, matin FROM ABSENCES A -WHERE A.estabs + """SELECT etudid, jour, matin FROM ABSENCES A +WHERE A.estabs AND A.jour = %(date)s """ + reqa - + """EXCEPT SELECT etudid, jour, matin FROM ABSENCES B + + """EXCEPT SELECT etudid, jour, matin FROM ABSENCES B WHERE B.estjust AND B.jour = %(date)s""" + reqa ) @@ -630,7 +630,7 @@ AND A.JOUR >= %(datedebut)s""" req += """AND A.JOUR <= %(datefin)s""" if only_no_abs: req += """ -EXCEPT SELECT ETUDID, JOUR, MATIN FROM ABSENCES B +EXCEPT SELECT ETUDID, JOUR, MATIN FROM ABSENCES B WHERE B.estabs AND B.ETUDID = %(etudid)s """ diff --git a/app/scodoc/sco_abs_billets.py b/app/scodoc/sco_abs_billets.py index 82f8b094c004422a9d86d0752785fbfc4b455b47..18fe777fe521b271fca728e66be36e685cb2c3a3 100644 --- a/app/scodoc/sco_abs_billets.py +++ b/app/scodoc/sco_abs_billets.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_abs_notification.py b/app/scodoc/sco_abs_notification.py index 6d2923236a68bdcf5f8ae014b9523ea2d332ea0f..b97f4418537fc45ee52d3cdbee08d54625acf790 100644 --- a/app/scodoc/sco_abs_notification.py +++ b/app/scodoc/sco_abs_notification.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_apogee_compare.py b/app/scodoc/sco_apogee_compare.py index 3b82862dbb9d774f85670d77e224edbcbf6f74c0..d67dde9f0d4fe054d69fa54e4117439dcdc03539 100644 --- a/app/scodoc/sco_apogee_compare.py +++ b/app/scodoc/sco_apogee_compare.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -73,11 +73,11 @@ def apo_compare_csv_form(): _HELP_TXT, """ <div class="apo_compare_csv_form_but"> - Fichier Apogée A: + Fichier Apogée A: <input type="file" size="30" name="file_a"/> </div> <div class="apo_compare_csv_form_but"> - Fichier Apogée B: + Fichier Apogée B: <input type="file" size="30" name="file_b"/> </div> <input type="checkbox" name="autodetect" checked/>autodétecter encodage</input> @@ -101,7 +101,7 @@ def apo_compare_csv(file_a, file_b, autodetect=True): raise ScoValueError( """ Erreur: l'encodage de l'un des fichiers est mal détecté. - Essayez sans auto-détection, ou vérifiez le codage et le contenu + Essayez sans auto-détection, ou vérifiez le codage et le contenu des fichiers. """, dest_url=dest_url, @@ -258,9 +258,9 @@ def _apo_compare_csv(apo_a: ApoData, apo_b: ApoData): L.append(T.html()) else: L.append( - f"""<p class="p_ok">aucune différence de résultats - sur les {nb_etuds_communs} étudiants communs - (<em>les éléments Apogée n'apparaissant pas dans les deux + f"""<p class="p_ok">aucune différence de résultats + sur les {nb_etuds_communs} étudiants communs + (<em>les éléments Apogée n'apparaissant pas dans les deux fichiers sont omis</em>) </p> """ diff --git a/app/scodoc/sco_apogee_csv.py b/app/scodoc/sco_apogee_csv.py index 61af26bdd36cefd07a8b7ff5bf4d5e79ab848579..965222f0bc54632863c6a6411d7c1c96d8801f83 100644 --- a/app/scodoc/sco_apogee_csv.py +++ b/app/scodoc/sco_apogee_csv.py @@ -2,7 +2,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -29,8 +29,8 @@ Ce code a été au départ inspiré par les travaux de Damien Mascré, scodoc2ap A utiliser en fin de semestre, après les jury. On communique avec Apogée via des fichiers CSV. -XXX A vérifier: AJAC car 1 sem. validé et pas de NAR - +XXX A vérifier: AJAC car 1 sem. validé et pas de NAR + """ import datetime @@ -762,7 +762,7 @@ class ApoData: raise ScoValueError( f"""Incohérence détectée ! - + Les semestres de la période n'ont pas tous le même indice. Période: {self.periode}. Indice courant: {self.cur_semestre_id} diff --git a/app/scodoc/sco_apogee_reader.py b/app/scodoc/sco_apogee_reader.py index 2a56d85d945abc65a05c12a7d9ff2a6565419268..44ab7fa6551df9ad04c90ecd35537f71017bb145 100644 --- a/app/scodoc/sco_apogee_reader.py +++ b/app/scodoc/sco_apogee_reader.py @@ -2,7 +2,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -57,7 +57,7 @@ Le fichier CSV, champs séparés par des tabulations, a la structure suivante: 10601232 AARIF MALIKA 22/09/1986 18 20 ADM 18 20 ADM 18 20 ADM 18 20 ADM 18 20 ADM 18 20 18 20 ADM 18 20 ADM 18 20 ADM 18 20 ADM </pre> - + On récupère nos éléments pédagogiques dans la section XX-APO-COLONNES-XX et notre liste d'étudiants dans la section XX-APO_VALEURS-XX. Les champs de la section XX-APO_VALEURS-XX sont décrits par les lignes successives de la @@ -290,7 +290,7 @@ class ApoCSVReadWrite: fields = line.split(APO_SEP) if len(fields) < 4: raise ScoFormatError( - """Ligne étudiant invalide + """Ligne étudiant invalide (doit commencer par 'NIP NOM PRENOM dd/mm/yyyy')""", filename=self.get_filename(), ) diff --git a/app/scodoc/sco_archives.py b/app/scodoc/sco_archives.py index 5fb9aa564d8a5b15b114c51fba41b77a41de573d..4f3eb7636b5a0025a53507e45f1e6d43deb754f9 100644 --- a/app/scodoc/sco_archives.py +++ b/app/scodoc/sco_archives.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_archives_etud.py b/app/scodoc/sco_archives_etud.py index e3275a8cc49e563a35e1f15a2b4efaa8555ef0fe..1dca9f02804194603f9960a3160dc4fdbe261834 100644 --- a/app/scodoc/sco_archives_etud.py +++ b/app/scodoc/sco_archives_etud.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -147,10 +147,10 @@ def etud_upload_file_form(etudid): html_sco_header.sco_header( page_title="Chargement d'un document associé à %(nomprenom)s" % etud, ), - """<h2>Chargement d'un document associé à %(nomprenom)s</h2> + """<h2>Chargement d'un document associé à %(nomprenom)s</h2> """ % etud, - """<p>Le fichier ne doit pas dépasser %sMo.</p> + """<p>Le fichier ne doit pas dépasser %sMo.</p> """ % (scu.CONFIG.ETUD_MAX_FILE_SIZE // (1024 * 1024)), ] @@ -287,8 +287,8 @@ def etudarchive_import_files_form(group_id): page_title="Import de fichiers associés aux étudiants" ), """<h2 class="formsemestre">Téléchargement de fichier associés aux étudiants</h2> - <p>Les fichiers associés (dossiers d'admission, certificats, ...), de - types quelconques (pdf, doc, images) sont accessibles aux utilisateurs via + <p>Les fichiers associés (dossiers d'admission, certificats, ...), de + types quelconques (pdf, doc, images) sont accessibles aux utilisateurs via la fiche individuelle de l'étudiant. </p> <p class="warning">Ne pas confondre avec les photos des étudiants, qui se diff --git a/app/scodoc/sco_archives_formsemestre.py b/app/scodoc/sco_archives_formsemestre.py index 0915b95cf10968140156d1616222b2d0075a1c35..24197dd43eaff1e5641dca8b879fad2ec26ffb6e 100644 --- a/app/scodoc/sco_archives_formsemestre.py +++ b/app/scodoc/sco_archives_formsemestre.py @@ -2,7 +2,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_bac.py b/app/scodoc/sco_bac.py index 7933f3514e00a5d0d1b110561de2b93226382844..c7411e2414d32df6e923128ea95b79c770df30e0 100644 --- a/app/scodoc/sco_bac.py +++ b/app/scodoc/sco_bac.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_bulletins.py b/app/scodoc/sco_bulletins.py index 9ac41e6d747e7af3e3e862675d5c860750709ce5..4cba4c69d6cf24e6f84ce5820f7ab63f21c86000 100644 --- a/app/scodoc/sco_bulletins.py +++ b/app/scodoc/sco_bulletins.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_bulletins_example.py b/app/scodoc/sco_bulletins_example.py index 663fc8d0de7aa2e4e1f1f1a2b6995b2bb6e0aa16..a7e61568f9fb376686d10627167d5c1269acdbe9 100644 --- a/app/scodoc/sco_bulletins_example.py +++ b/app/scodoc/sco_bulletins_example.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_bulletins_generator.py b/app/scodoc/sco_bulletins_generator.py index 4d76712d7990e8dee7e0268493915a0cfbda05e2..bda2567e9bfec27f9c39976b9eaaea5dfaa5555f 100644 --- a/app/scodoc/sco_bulletins_generator.py +++ b/app/scodoc/sco_bulletins_generator.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_bulletins_json.py b/app/scodoc/sco_bulletins_json.py index 7676ac162d643c7aab780860e03dce43a919cf07..3bce083a9a3db0205720e7c4525545f5ff75b320 100644 --- a/app/scodoc/sco_bulletins_json.py +++ b/app/scodoc/sco_bulletins_json.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_bulletins_legacy.py b/app/scodoc/sco_bulletins_legacy.py index 14ffb6cd7968b8951d7687b48b3fc9ef92dcce99..05c462f6cbe49217149cc42a34917bd3e5507926 100644 --- a/app/scodoc/sco_bulletins_legacy.py +++ b/app/scodoc/sco_bulletins_legacy.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_bulletins_pdf.py b/app/scodoc/sco_bulletins_pdf.py index cf0d1348cbbdd6df13d0a4fb2a6f56ab8a8eab00..f61ba8ac5bcabe8ec87634280f1523bfb557cf0b 100644 --- a/app/scodoc/sco_bulletins_pdf.py +++ b/app/scodoc/sco_bulletins_pdf.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_bulletins_signature.py b/app/scodoc/sco_bulletins_signature.py index f3a711b564188aeb1a36da7cb2693976caa9cf97..0b30f8d24cc2f8b03b281a77568a6aabf290fce8 100644 --- a/app/scodoc/sco_bulletins_signature.py +++ b/app/scodoc/sco_bulletins_signature.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -38,9 +38,9 @@ envois par mail). La signature est controlée par: - la présence d'un fichier .../ScoDoc/static/signatures/<DeptId>/<formsemestre_id>/bul_sig_{left|right} ou, à défaut, .../ScoDoc/signatures/<DeptId>/bul_sig_{left|right} -- les préférences booléennes bul_sig_left et bul_sig_right +- les préférences booléennes bul_sig_left et bul_sig_right (ne pas confondre avec bul_show_sig_left...) -- les préférences bul_sig_left_image_height et bul_sig_right_image_height +- les préférences bul_sig_left_image_height et bul_sig_right_image_height (hauteur de l'image, float, en mm) API: diff --git a/app/scodoc/sco_bulletins_standard.py b/app/scodoc/sco_bulletins_standard.py index d249f7fe6e53477f7b169289aa7f0d27cde85269..a35a021e26a2045ac32258322234c4bb9e35583e 100644 --- a/app/scodoc/sco_bulletins_standard.py +++ b/app/scodoc/sco_bulletins_standard.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_bulletins_ucac.py b/app/scodoc/sco_bulletins_ucac.py index c5a592438c9080ec72e82bd7a3c775e6cfc4cd76..6ec66cceeee351cf2a34680c01dcd434691acb6a 100644 --- a/app/scodoc/sco_bulletins_ucac.py +++ b/app/scodoc/sco_bulletins_ucac.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ # ############################################################################## -"""Generation bulletins de notes +"""Generation bulletins de notes Format table "UCAC" On redéfini la table centrale du bulletin de note et hérite de tout le reste du bulletin standard. diff --git a/app/scodoc/sco_bulletins_xml.py b/app/scodoc/sco_bulletins_xml.py index 58305f1458d26889d6545791c596230b0d10bbcb..25f2cfa64726aace0675317d2d6a7b3c5245ac54 100644 --- a/app/scodoc/sco_bulletins_xml.py +++ b/app/scodoc/sco_bulletins_xml.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_cache.py b/app/scodoc/sco_cache.py index c80049b1d595a44df7dfc63269cfb35e1c4242dd..4c9960dfd428244383dfa5acb3c5c24c5a5ebe78 100644 --- a/app/scodoc/sco_cache.py +++ b/app/scodoc/sco_cache.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_cal.py b/app/scodoc/sco_cal.py index 25179c01675bf92bfcf1214ec14754b5b4b7c79b..3ca918ffeeb6366a4efa68fc8c51e9da4d82efe7 100644 --- a/app/scodoc/sco_cal.py +++ b/app/scodoc/sco_cal.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_compute_moy.py b/app/scodoc/sco_compute_moy.py index e2642f5e9933523a7bc8711f10a76d5906babfbb..5f2959df0188915486f292f4ccf759083d80898b 100644 --- a/app/scodoc/sco_compute_moy.py +++ b/app/scodoc/sco_compute_moy.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_config_actions.py b/app/scodoc/sco_config_actions.py index 612027811fa549f3f0c1a447927fad5d91e3d4fc..d6f540906de754f9f0207ae722f8ab533a56e9a5 100644 --- a/app/scodoc/sco_config_actions.py +++ b/app/scodoc/sco_config_actions.py @@ -5,7 +5,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_cost_formation.py b/app/scodoc/sco_cost_formation.py index f266b0638e2bf695a6e85850eb07c978e30db180..5c167e6bc513e3133a2923026d95da16fa0fcc43 100644 --- a/app/scodoc/sco_cost_formation.py +++ b/app/scodoc/sco_cost_formation.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_cursus.py b/app/scodoc/sco_cursus.py index 53def6f9a9d732ada0961438b9b93bbd0002c7bc..1bd9983f66546f99b27001cf26848c6309c7c517 100644 --- a/app/scodoc/sco_cursus.py +++ b/app/scodoc/sco_cursus.py @@ -4,7 +4,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -37,6 +37,7 @@ from app.comp import res_sem from app.models import FormSemestre import app.scodoc.notesdb as ndb + # SituationEtudParcours -> get_situation_etud_cursus def get_situation_etud_cursus( etud: dict, formsemestre_id: int diff --git a/app/scodoc/sco_cursus_dut.py b/app/scodoc/sco_cursus_dut.py index f19fa00f3c4a0e271ff9e1ea1c805f0473eea8b1..b9e26e322da92bb9f0843f37a835b5d5a37ec67c 100644 --- a/app/scodoc/sco_cursus_dut.py +++ b/app/scodoc/sco_cursus_dut.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_debouche.py b/app/scodoc/sco_debouche.py index c08a6e999520e539e8a0c9368b2ff36aadca1688..cc08e8d98f2cf3ee3e6b15a6be0d8e8b8e91ec20 100644 --- a/app/scodoc/sco_debouche.py +++ b/app/scodoc/sco_debouche.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -212,7 +212,7 @@ def report_debouche_ask_date(msg: str) -> str: return f"""{html_sco_header.sco_header()} <h2>Table des débouchés des étudiants</h2> <form method="GET"> - {msg} + {msg} <input type="text" name="start_year" value="" size=10/> </form> {html_sco_header.sco_footer()} diff --git a/app/scodoc/sco_dept.py b/app/scodoc/sco_dept.py index b81ea09f5df895b85e47c2bab316d94099950d3f..3e050a817bcf8fdb2c8f5e48701f6452350bb4b2 100644 --- a/app/scodoc/sco_dept.py +++ b/app/scodoc/sco_dept.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_dump_db.py b/app/scodoc/sco_dump_db.py index 4474f38279531ffa140ae905aa6bcb3860080bed..a74fab8d3f9dc3fa9d00b28daa33ec6217c73f23 100644 --- a/app/scodoc/sco_dump_db.py +++ b/app/scodoc/sco_dump_db.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_edit_apc.py b/app/scodoc/sco_edit_apc.py index 60961c3e7a30fbcaaed9107198161f2ee8889ca1..3bd945952d53de9fcaadec0316c7b540a863075b 100644 --- a/app/scodoc/sco_edit_apc.py +++ b/app/scodoc/sco_edit_apc.py @@ -2,7 +2,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_edit_formation.py b/app/scodoc/sco_edit_formation.py index 0857656df2706ebe809a544305134d49c23fad5c..5b1f4ec42461e2870edc006448c6a453b8ddb711 100644 --- a/app/scodoc/sco_edit_formation.py +++ b/app/scodoc/sco_edit_formation.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_edit_matiere.py b/app/scodoc/sco_edit_matiere.py index 614113fdf308dc3b8cdbf8ed6ae82020d2f03701..277da08e67199c02e66d1fa26f52e7f353a56643 100644 --- a/app/scodoc/sco_edit_matiere.py +++ b/app/scodoc/sco_edit_matiere.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -109,7 +109,7 @@ def matiere_create(ue_id=None): d'une formation donnée. Les matières servent surtout pour la présentation (bulletins, etc) mais <em>n'ont pas de rôle dans le calcul des notes.</em> -</p> +</p> <p class="help">Si votre formation n'utilise pas la notion de "matières", créez une matière par UE, et donnez lui le même nom que l'UE @@ -281,7 +281,7 @@ def matiere_edit(matiere_id=None): d'une formation donnée. Les matières servent surtout pour la présentation (bulletins, etc) mais <em>n'ont pas de rôle dans le calcul des notes.</em> -</p> +</p> <p class="help">Si votre formation n'utilise pas la notion de "matières", créez une matière par UE, et donnez lui le même nom que l'UE diff --git a/app/scodoc/sco_edit_module.py b/app/scodoc/sco_edit_module.py index 4f5b9235ede7a05d08fe4469f7505cfdc9de1060..b7d6fab4e2e9153a46f0c60853d259a1f4cebf5d 100644 --- a/app/scodoc/sco_edit_module.py +++ b/app/scodoc/sco_edit_module.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_edit_ue.py b/app/scodoc/sco_edit_ue.py index 232507ead9268edba12a643b632ddedd47eefa7a..06975ba367b2e774384c06f6c8a490c0df40346f 100644 --- a/app/scodoc/sco_edit_ue.py +++ b/app/scodoc/sco_edit_ue.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_edt_cal.py b/app/scodoc/sco_edt_cal.py index bc7dc8d3a45b26b6028b90235f92a1094db2140b..c21ca8620f66cd9f11b1eaac6b9275a6f0a19de3 100644 --- a/app/scodoc/sco_edt_cal.py +++ b/app/scodoc/sco_edt_cal.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_etape_apogee.py b/app/scodoc/sco_etape_apogee.py index ce0f5457aff081cb4d4a23f6554a55d960aee4d0..a4fcdb02f9a9af24862d54082d3a778168279850 100644 --- a/app/scodoc/sco_etape_apogee.py +++ b/app/scodoc/sco_etape_apogee.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -25,7 +25,7 @@ # ############################################################################## -"""ScoDoc : stockage et vérifications des "maquettes" Apogée +"""ScoDoc : stockage et vérifications des "maquettes" Apogée (fichiers CSV pour l'export vers Apogée) associées aux années scolaires @@ -33,23 +33,23 @@ Stockage: utilise sco_archive.py exemple: - /opt/scodoc-data/archives/apo_csv/<dept_id>/2016-1/2016-07-03-16-12-19/V3ASR!111.csv + /opt/scodoc-data/archives/apo_csv/<dept_id>/2016-1/2016-07-03-16-12-19/V3ASR!111.csv pour une maquette de l'étape V3ASR version VDI 111. La version VDI sera ignorée sauf si elle est indiquée dans l'étape du semestre. - apo_csv_get() - + apo_csv_get() + API: - # apo_csv_store(csv_data, annee_scolaire, sem_id) + # apo_csv_store(csv_data, annee_scolaire, sem_id) store maq file (archive) - + apo_csv_get(etape_apo, annee_scolaire, sem_id, vdi_apo=None) get maq data (read stored file and returns string) if vdi_apo, get maq for this etape/vdi, else returns the first matching etape. apo_csv_delete(etape_apo, annee_scolaire, sem_id) - apo_csv_list_stored_etapes(annee_scolaire=None, sem_id=None, etapes=None) + apo_csv_list_stored_etapes(annee_scolaire=None, sem_id=None, etapes=None) returns: liste des codes etapes et version vdi stockés (pour l'annee_scolaire et le sem_id indiqués) apo_csv_semset_check(semset) @@ -60,7 +60,7 @@ - etudiants dans un CSV mais pas dans sem ScoDoc - etudiants dans plusieurs CSV (argh!) detecte aussi si on a plusieurs années scolaires - + returns: etuds_ok (in ScoDoc and CSVs) etuds_no_apo unknown_apo : liste de { 'NIP', 'nom', 'prenom' } @@ -69,7 +69,7 @@ apo_csv_check_etape(semset, set_nips, etape_apo) check une etape - + """ import re @@ -385,7 +385,7 @@ formsemestre = FormSemestre.get_formsemestre(formsemestre_id) nt: NotesTableCompat = res_sem.load_formsemestre_results(formsemestre) # s = SemSet('NSS29902') -apo_data = sco_apogee_csv.ApoData(open('/opt/scodoc/var/scodoc/archives/apo_csv/RT/2015-2/2016-07-10-11-26-15/V1RT.csv').read(), periode=1) +apo_data = sco_apogee_csv.ApoData(open('/opt/scodoc/var/scodoc/archives/apo_csv/RT/2015-2/2016-07-10-11-26-15/V1RT.csv').read(), periode=1) # cas Tiziri K. (inscrite en S1, démission en fin de S1, pas inscrite en S2) # => pas de décision, ce qui est voulu (?) diff --git a/app/scodoc/sco_etape_apogee_view.py b/app/scodoc/sco_etape_apogee_view.py index 8f11532b84079b14d61b7d368a0a010f82dddd07..6247d98695a892a99061ca36e6ac4b3562cef1a1 100644 --- a/app/scodoc/sco_etape_apogee_view.py +++ b/app/scodoc/sco_etape_apogee_view.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -126,7 +126,7 @@ def apo_semset_maq_status( # Upload fichier: H.append( """<form id="apo_csv_add" action="view_apo_csv_store" method="post" enctype="multipart/form-data"> - Charger votre fichier maquette Apogée: + Charger votre fichier maquette Apogée: <input type="file" size="30" name="csvfile"/> <input type="hidden" name="semset_id" value="%s"/> <input type="submit" value="Ajouter ce fichier"/> @@ -146,7 +146,7 @@ def apo_semset_maq_status( Ou récupérer maquette Apogée pour une étape: <script type="text/javascript"> function change_etape(e) { - $('#apo_csv_download_submit_btn').attr('disabled', (e.value == "")); + $('#apo_csv_download_submit_btn').attr('disabled', (e.value == "")); } </script> <select name="etape_apo" onchange="change_etape(this);"> @@ -355,8 +355,8 @@ def apo_semset_maq_status( <span class="apo_elems fontred">{ ", ".join(sorted(missing)) }</span> - <div class="help">Ces éléments de la maquette Apogée ne sont pas déclarés dans - ScoDoc et ne seront donc pas remplis.</div><div> Vous pouvez les déclarer + <div class="help">Ces éléments de la maquette Apogée ne sont pas déclarés dans + ScoDoc et ne seront donc pas remplis.</div><div> Vous pouvez les déclarer dans les programmes pédagogiques: """ ) H.append( @@ -377,10 +377,10 @@ def apo_semset_maq_status( H.append( f""" <p><a class="stdlink" href="semset_page">Retour aux ensembles de semestres</a></p> - + <div class="pas_help"> <h3>Explications</h3> - <p>Cette page permet de stocker les fichiers Apogée nécessaires pour + <p>Cette page permet de stocker les fichiers Apogée nécessaires pour l'export des résultats après les jurys, puis de remplir et exporter ces fichiers. </p> <p> @@ -417,14 +417,14 @@ def apo_semset_maq_status( apoL_a01_code apoL_a02_nom apoL_a03_prenom apoL_a04_naissance apoL_c0001 apoL_c0002 apoL_c0003 apoL_c0004 apoL_c0005 apoL_c0006 (...) 11681234 DUPONT TOTO 23/09/1986 18 20 ADM 18 20 ADM (...) </pre> - <p>Après avoir obtenu les fichier, stockez-les dans ScoDoc - (bouton "Ajouter fichier" en haut de cette page. Après vérification, il va - apparaitre dans une table. Vous pouvez supprimer ce fichier, ou en ajouter + <p>Après avoir obtenu les fichier, stockez-les dans ScoDoc + (bouton "Ajouter fichier" en haut de cette page. Après vérification, il va + apparaitre dans une table. Vous pouvez supprimer ce fichier, ou en ajouter d'autres si votre semestre correspond à plusieurs étapes Apogée. </p> - <p>ScoDoc vérifie que tous les étudiants du semestre sont mentionnés dans + <p>ScoDoc vérifie que tous les étudiants du semestre sont mentionnés dans un fichier Apogée et que les étapes correspondent.</p> - <p>Lorsque c'est le cas, et que les décisions de jury sont saisies, + <p>Lorsque c'est le cas, et que les décisions de jury sont saisies, un bouton "Export vers Apogée" apparait et vous pouvez exporter les résultats. <p> <p>Vous obtiendrez alors un fichier ZIP comprenant tous les fichiers nécessaires. diff --git a/app/scodoc/sco_etape_bilan.py b/app/scodoc/sco_etape_bilan.py index f3b0b954a2433d7a02d6227d62f1bb3f9190ca3d..575d2596af959381f432a4ec244e8006c25d81e0 100644 --- a/app/scodoc/sco_etape_bilan.py +++ b/app/scodoc/sco_etape_bilan.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -38,16 +38,16 @@ une section permettant de faire le point sur les cas particuliers. Cette section est composée de deux parties: - * Une partie effectif où figurent le nombre d'étudiants selon une répartition par - semestre (en ligne) et par code étape (en colonne). On ajoute également des + * Une partie effectif où figurent le nombre d'étudiants selon une répartition par + semestre (en ligne) et par code étape (en colonne). On ajoute également des colonnes/lignes correspondant à des anomalies (étudiant sans code étape, sans semestre, avec deux semestres, sans NIP, etc.). - - * Une seconde partie présente la liste des étudiants. Il est possible qu'un + + * Une seconde partie présente la liste des étudiants. Il est possible qu'un même nom figure deux fois dans la liste (si on a pas pu faire la correspondance entre une inscription Apogée et un étudiant d'un semestre, par exemple). - - L'activation d'un des nombres du tableau 'effectifs' restreint l'affichage de + + L'activation d'un des nombres du tableau 'effectifs' restreint l'affichage de la liste aux étudiants qui contribuent à ce nombre. ## Réalisation @@ -176,52 +176,52 @@ class DataEtudiant(object): def _help() -> str: return """ - <div id="export_help" class="pas_help"> <span>Explications sur les tableaux des effectifs et liste des - étudiants</span> - <div> <p>Le tableau des effectifs présente le nombre d'étudiants selon deux critères:</p> - <ul> - <li>En colonne le statut de l'étudiant par rapport à Apogée: - <ul> - <li><span class="libelle">Hors Apogée</span> - <span class="anomalie">(anomalie A</span>): Le NIP de l'étudiant n'est pas connu d'apogée ou - l'étudiant n'a pas de NIP</li> - <li><span class="libelle">Pas d'étape</span> <span class="anomalie">(anomalie B</span>): Le NIP de - l'étudiant ne correspond à aucune des étapes connues pour cet ensemble de semestre. Il est - possible qu'il soit inscrit ailleurs (dans une autre ensemble de semestres, un autre département, - une autre composante de l'université) ou en mobilité internationale.</li> - <li><span class="libelle">Plusieurs étapes</span> <span class="anomalie">(anomalie C)</span>: - Les étudiants inscrits dans plusieurs étapes apogée de l'ensemble de semestres</li> - <li>Un des codes étapes connus (la liste des codes étapes connus est l'union des codes étapes - déclarés pour chaque semestre particpant</li> - <li><span class="libelle">Total semestre</span>: cumul des effectifs de la ligne</li> - </ul> - </li> - <li>En ligne le statut de l'étudiant par rapport à ScoDoc: - <ul> - <li>Inscription dans un des semestres de l'ensemble</li> - <li><span class="libelle">Hors semestre</span> <span class="anomalie">(anomalie D)</span>: - L'étudiant, bien qu'enregistré par apogée dans un des codes étapes connus, ne figure dans aucun - des semestres de l'ensemble. On y trouve par exemple les étudiants régulièrement inscrits - mais non présents à la rentrée (donc non enregistrés dans ScoDoc) <p>Note: On ne considère - ici que les semestres de l'ensemble (l'inscription de l'étudiant dans un semestre étranger à - l'ensemble actuel n'est pas vérifiée).</p> </li> - <li><span class="libelle">Plusieurs semestres</span> <span class="anomalie">(anomalie E)</span>: - L'étudiant est enregistré dans plusieurs semestres de l'ensemble.</li> - <li><span class="libelle">Total</span>: cumul des effectifs de la colonne</li> - </ul> - </li> - <li>(<span class="anomalie">anomalie U</span>) On présente également les cas où un même NIP est affecté - à deux dossiers différents (Un dossier d'apogée et un dossier de ScoDoc). Un tel cas compte pour - deux unités dans le tableau des effcetifs et engendre 2 lignes distinctes dans la liste des étudiants</li> - </ul> - </div> + <div id="export_help" class="pas_help"> <span>Explications sur les tableaux des effectifs et liste des + étudiants</span> + <div> <p>Le tableau des effectifs présente le nombre d'étudiants selon deux critères:</p> + <ul> + <li>En colonne le statut de l'étudiant par rapport à Apogée: + <ul> + <li><span class="libelle">Hors Apogée</span> + <span class="anomalie">(anomalie A</span>): Le NIP de l'étudiant n'est pas connu d'apogée ou + l'étudiant n'a pas de NIP</li> + <li><span class="libelle">Pas d'étape</span> <span class="anomalie">(anomalie B</span>): Le NIP de + l'étudiant ne correspond à aucune des étapes connues pour cet ensemble de semestre. Il est + possible qu'il soit inscrit ailleurs (dans une autre ensemble de semestres, un autre département, + une autre composante de l'université) ou en mobilité internationale.</li> + <li><span class="libelle">Plusieurs étapes</span> <span class="anomalie">(anomalie C)</span>: + Les étudiants inscrits dans plusieurs étapes apogée de l'ensemble de semestres</li> + <li>Un des codes étapes connus (la liste des codes étapes connus est l'union des codes étapes + déclarés pour chaque semestre particpant</li> + <li><span class="libelle">Total semestre</span>: cumul des effectifs de la ligne</li> + </ul> + </li> + <li>En ligne le statut de l'étudiant par rapport à ScoDoc: + <ul> + <li>Inscription dans un des semestres de l'ensemble</li> + <li><span class="libelle">Hors semestre</span> <span class="anomalie">(anomalie D)</span>: + L'étudiant, bien qu'enregistré par apogée dans un des codes étapes connus, ne figure dans aucun + des semestres de l'ensemble. On y trouve par exemple les étudiants régulièrement inscrits + mais non présents à la rentrée (donc non enregistrés dans ScoDoc) <p>Note: On ne considère + ici que les semestres de l'ensemble (l'inscription de l'étudiant dans un semestre étranger à + l'ensemble actuel n'est pas vérifiée).</p> </li> + <li><span class="libelle">Plusieurs semestres</span> <span class="anomalie">(anomalie E)</span>: + L'étudiant est enregistré dans plusieurs semestres de l'ensemble.</li> + <li><span class="libelle">Total</span>: cumul des effectifs de la colonne</li> + </ul> + </li> + <li>(<span class="anomalie">anomalie U</span>) On présente également les cas où un même NIP est affecté + à deux dossiers différents (Un dossier d'apogée et un dossier de ScoDoc). Un tel cas compte pour + deux unités dans le tableau des effcetifs et engendre 2 lignes distinctes dans la liste des étudiants</li> + </ul> + </div> </div> """ def entete_liste_etudiant() -> str: return """ <ul> - <li id="sans_filtre">Pas de filtrage: Cliquez sur un des nombres du tableau ci-dessus pour + <li id="sans_filtre">Pas de filtrage: Cliquez sur un des nombres du tableau ci-dessus pour n'afficher que les étudiants correspondants</li> <li id="filtre_row" style="display:none"></li> <li id="filtre_col" style="display:none"></li> @@ -540,31 +540,31 @@ class EtapeBilan: # filtre_row: explicitation du filtre ligne éventuelle # filtre_col: explicitation du filtre colonne évnetuelle if ind_row == ROW_CUMUL and ind_col == COL_CUMUL: - javascript = f"""doFiltrage({self.all_rows_str}, {self.all_cols_str}, + javascript = f"""doFiltrage({self.all_rows_str}, {self.all_cols_str}, '*', '*', - '{comptage}', + '{comptage}', '', '' );""" elif ind_row == ROW_CUMUL: javascript = f"""doFiltrage({self.all_rows_str}, {self.all_cols_str}, '*', '.{ind_col}', - '{comptage}', '', + '{comptage}', '', '{json.dumps(self.titres[ind_col].replace("<br>", " / "))[1:-1]}' );""" elif ind_col == COL_CUMUL: javascript = f"""doFiltrage({self.all_rows_str}, {self.all_cols_str}, '.{ind_row}', '*', - ' ({count} étudiants)', + ' ({count} étudiants)', '{json.dumps(self.titres[ind_row])[1:-1]}', '' );""" else: - javascript = f"""doFiltrage({self.all_rows_str}, {self.all_cols_str}, + javascript = f"""doFiltrage({self.all_rows_str}, {self.all_cols_str}, '.{ind_row}', '.{ind_col}', - '{comptage}', - '{json.dumps(self.titres[ind_row])[1:-1]}', + '{comptage}', + '{json.dumps(self.titres[ind_row])[1:-1]}', '{json.dumps(self.titres[ind_col].replace("<br>", " / "))[1:-1]}' );""" diff --git a/app/scodoc/sco_etud.py b/app/scodoc/sco_etud.py index ea7de19c43415bd5d851a3c57f32adc9fc8d1f35..e7041021cea410216748d46d1b50b7b3dfc433e6 100644 --- a/app/scodoc/sco_etud.py +++ b/app/scodoc/sco_etud.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_evaluation_check_abs.py b/app/scodoc/sco_evaluation_check_abs.py index fe6a5ec5b9ef7e196b10a12b1d9dd873e9cf92a2..bd6b8ded4a03c02dfd1590e5222b09f330e8ff88 100644 --- a/app/scodoc/sco_evaluation_check_abs.py +++ b/app/scodoc/sco_evaluation_check_abs.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_evaluation_db.py b/app/scodoc/sco_evaluation_db.py index 2d58b5773487f4e93db64d23a812dd211dd7b153..e0668eb8586ffe9cc686c0aba65fba1797c3df58 100644 --- a/app/scodoc/sco_evaluation_db.py +++ b/app/scodoc/sco_evaluation_db.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_evaluation_edit.py b/app/scodoc/sco_evaluation_edit.py index ed63817cd9d322be8c68486dfd37a3bb23ca3455..9e0c487f4ebdd2dc85367ca62fadd4352e50ab9d 100644 --- a/app/scodoc/sco_evaluation_edit.py +++ b/app/scodoc/sco_evaluation_edit.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_evaluation_recap.py b/app/scodoc/sco_evaluation_recap.py index a5896ceb50552a3753f254409b6edfc5dadae12d..25042ecc24be2539e41ebb12a11af1dce47eecae 100644 --- a/app/scodoc/sco_evaluation_recap.py +++ b/app/scodoc/sco_evaluation_recap.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/scodoc/sco_evaluations.py b/app/scodoc/sco_evaluations.py index 8ae20755f078b3f6b756c35a690dd80eacd7abee..22aa43ebcde1550e79c1ff0842cd5e60dd8ceb8e 100644 --- a/app/scodoc/sco_evaluations.py +++ b/app/scodoc/sco_evaluations.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_excel.py b/app/scodoc/sco_excel.py index a336fa1a99c5ebc0e5ac31e619d8b8040ca86ebe..0d4095b6fa5462e678034fcb007693d689427e7e 100644 --- a/app/scodoc/sco_excel.py +++ b/app/scodoc/sco_excel.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_exceptions.py b/app/scodoc/sco_exceptions.py index 4fdc53c932efa5cf63a3a7774323c3c1ac9585fd..776dd98d68e68e76689d57fc7c6ad75f506acb5f 100644 --- a/app/scodoc/sco_exceptions.py +++ b/app/scodoc/sco_exceptions.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_export_results.py b/app/scodoc/sco_export_results.py index 9a4cee643630e7e3098edbbd8a4256e70eb635a3..d9a89b2b941a7fe5a1e84a13e0379ce0f4b0cc39 100644 --- a/app/scodoc/sco_export_results.py +++ b/app/scodoc/sco_export_results.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -210,7 +210,7 @@ def get_set_formsemestre_id_dates(start_date, end_date) -> set: s = ndb.SimpleDictFetch( """SELECT id FROM notes_formsemestre - WHERE date_debut >= %(start_date)s + WHERE date_debut >= %(start_date)s AND date_fin <= %(end_date)s AND dept_id = %(dept_id)s """, @@ -335,7 +335,7 @@ _DATE_FORM = """ # ------- debug """ -# /opt/scodoc/bin/zopectl debug +# /opt/scodoc/bin/zopectl debug from debug import * from app.scodoc.sco_export_results import * _ = go_dept(app, 'RT').Notes diff --git a/app/scodoc/sco_find_etud.py b/app/scodoc/sco_find_etud.py index eade74930c74ef3c1a0a9f3236e63f1390fbb6f4..579992da10b1f92f6793ca3de959e261113d9a8b 100644 --- a/app/scodoc/sco_find_etud.py +++ b/app/scodoc/sco_find_etud.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_formation_recap.py b/app/scodoc/sco_formation_recap.py index 957037c3502022563109d66b036c53f22d3f7c3f..fbd72b54cf1a052d657f7cf9e7f8f38d905a88b0 100644 --- a/app/scodoc/sco_formation_recap.py +++ b/app/scodoc/sco_formation_recap.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_formation_versions.py b/app/scodoc/sco_formation_versions.py index 8ffcb39c1912f6e76d39c22cc2731e5e0896b8f1..8c74ad25eff53402932b1aea114646fc8fe77c79 100644 --- a/app/scodoc/sco_formation_versions.py +++ b/app/scodoc/sco_formation_versions.py @@ -4,7 +4,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -110,9 +110,9 @@ def formsemestre_associate_new_version( + f"""<p><b>Formation: </b><a class="stdlink" href="{ url_for("notes.ue_table", scodoc_dept=g.scodoc_dept, formation_id=formation.id) }">{formation.titre} version {formation.version}</a></p> - + <p class="help">Le programme pédagogique ("formation") va être dupliqué - pour que vous puissiez le modifier sans affecter les semestres déjà terminés. + pour que vous puissiez le modifier sans affecter les semestres déjà terminés. </p> <p class="help">Veillez à ne pas abuser de cette possibilité, car créer trop de versions de formations va vous compliquer la gestion @@ -122,7 +122,7 @@ def formsemestre_associate_new_version( <div class="othersemlist"> <p>Si vous voulez associer des semestres à la nouvelle version, cochez-les maintenant <br> - (<b>attention : vous ne pourrez pas le faire plus tard car on ne peut pas + (<b>attention : vous ne pourrez pas le faire plus tard car on ne peut pas changer la formation d'un semestre !</b>): </p> { "".join(H) } diff --git a/app/scodoc/sco_formations.py b/app/scodoc/sco_formations.py index e17b4945a2faf1dcad007e12578bdd6dabded80a..1939d7f1f957de0c8f78feb797be7dcf0d8f09aa 100644 --- a/app/scodoc/sco_formations.py +++ b/app/scodoc/sco_formations.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_formsemestre.py b/app/scodoc/sco_formsemestre.py index d01c7af82fe0455bf579790b8988444c46dbb746..6659109d11571dc656ec908f3887dfb5dbf37973 100644 --- a/app/scodoc/sco_formsemestre.py +++ b/app/scodoc/sco_formsemestre.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_formsemestre_custommenu.py b/app/scodoc/sco_formsemestre_custommenu.py index 86c5bb3915814ebcb0de1e728baa2b050955cbb2..485fdcd1416474c3e264f80bc2335745b5da76cf 100644 --- a/app/scodoc/sco_formsemestre_custommenu.py +++ b/app/scodoc/sco_formsemestre_custommenu.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_formsemestre_edit.py b/app/scodoc/sco_formsemestre_edit.py index f34ba88b0f47af43581be73469609192eefd0e8c..b199aa9242e0beb4e45dc0e96c0ffd840b943da7 100644 --- a/app/scodoc/sco_formsemestre_edit.py +++ b/app/scodoc/sco_formsemestre_edit.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_formsemestre_exterieurs.py b/app/scodoc/sco_formsemestre_exterieurs.py index de32912f3e2ca505011958cbc6a50b6646ba8577..22b600af26a2e599ab14a1b385fd94219c474b24 100644 --- a/app/scodoc/sco_formsemestre_exterieurs.py +++ b/app/scodoc/sco_formsemestre_exterieurs.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -27,7 +27,7 @@ """Saisie et gestion des semestres extérieurs à ScoDoc dans un parcours. -On va créer/gérer des semestres de la même formation que le semestre ScoDoc +On va créer/gérer des semestres de la même formation que le semestre ScoDoc où est inscrit l'étudiant, leur attribuer la modalité 'EXT'. Ces semestres n'auront qu'un seul inscrit ! """ @@ -302,12 +302,12 @@ def _make_page(etud: Identite, formsemestre: FormSemestre, tf, message="") -> li ), tf_error_message(message), f"""<p><b>{etud.nomprenom}</b> est inscrit{etud.e} à ce semestre extérieur.</p> - <p>Voici ses UE enregistrées avec leur notes + <p>Voici ses UE enregistrées avec leur notes { "et coefficients" if not formsemestre.formation.is_apc() else " (en BUT, les coefficients sont égaux aux ECTS)"}. </p> """, - f"""<p>La moyenne de ce semestre serait: + f"""<p>La moyenne de ce semestre serait: <span class="ext_sem_moy"><span class="ext_sem_moy_val">{moy_gen}</span> / 20</span> </p> """, @@ -364,7 +364,7 @@ def _ue_form_description( select_name = f"valid_{ue.id}" menu_code_ue = f"""<select class="ueext_valid_select" name="{select_name}">""" cur_code_value = values.get("valid_{ue.id}", False) - for (code, explanation) in _UE_VALID_CODES.items(): + for code, explanation in _UE_VALID_CODES.items(): if cur_code_value is False: # pas dans le form, cherche en base validation = ScolarFormSemestreValidation.query.filter_by( ue_id=ue.id, etudid=etud.id, formsemestre_id=formsemestre.id @@ -404,7 +404,7 @@ def _ue_form_description( """ + ( f"""<td class="tf-field tf_field_coef"> - <input type="text" size="4" name="coef_{ue.id}" + <input type="text" size="4" name="coef_{ue.id}" class="{coef_input_class}" value="{cur_coef_value}" {coef_disabled}></input> </td>""" diff --git a/app/scodoc/sco_formsemestre_inscriptions.py b/app/scodoc/sco_formsemestre_inscriptions.py index 887a0625ea1db7b03851064dd418e46295120d94..b1d73150f10ca86a6564d90b5b947ad120c82844 100644 --- a/app/scodoc/sco_formsemestre_inscriptions.py +++ b/app/scodoc/sco_formsemestre_inscriptions.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_formsemestre_status.py b/app/scodoc/sco_formsemestre_status.py index 7254fc27581b416a7adca860c44c346bd6628e2c..2b89c1f7243d6a93b1be284bbde5a81a767eb81a 100755 --- a/app/scodoc/sco_formsemestre_status.py +++ b/app/scodoc/sco_formsemestre_status.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_formsemestre_validation.py b/app/scodoc/sco_formsemestre_validation.py index 26d9e6c16fa0a16113d2bc653fb484ae238d2457..d11b334c1d2b745daf64d0f2080d4343813485e5 100644 --- a/app/scodoc/sco_formsemestre_validation.py +++ b/app/scodoc/sco_formsemestre_validation.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_formulas.py b/app/scodoc/sco_formulas.py index 9a3273a5bceb41db75f979a0d866057d43512fe4..ad61573b159ee0e22bf524ae5bbe6785c5d0e8f2 100644 --- a/app/scodoc/sco_formulas.py +++ b/app/scodoc/sco_formulas.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_groups.py b/app/scodoc/sco_groups.py index 2e05297d70e4b9da3940314a4d29df53db3b694b..3e47e1e689d0e629aaf865d24ba6b7f044dfefa3 100644 --- a/app/scodoc/sco_groups.py +++ b/app/scodoc/sco_groups.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_groups_edit.py b/app/scodoc/sco_groups_edit.py index bb0429eff8e81a27e88cba8e61ad8c5f8dcad87d..a14498ce6e943a8c8bdd31891fbab12458a070ad 100644 --- a/app/scodoc/sco_groups_edit.py +++ b/app/scodoc/sco_groups_edit.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_groups_exports.py b/app/scodoc/sco_groups_exports.py index 232f4cc3c653094b76fb0eae1730bd829efc7a72..b8571fb4ab3de01335f743704f4fc25c2150648e 100644 --- a/app/scodoc/sco_groups_exports.py +++ b/app/scodoc/sco_groups_exports.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_groups_view.py b/app/scodoc/sco_groups_view.py index 04da7fb1fe5a6569e6753ef3b40a4c2e4b022685..aacbae646505ccbed91b9c992a8fdb50d1a424c2 100644 --- a/app/scodoc/sco_groups_view.py +++ b/app/scodoc/sco_groups_view.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_import_etuds.py b/app/scodoc/sco_import_etuds.py index 4cd7cca581650bc7644136838babdfb169a47c4d..7107217b3ac3f1eb50ff1016fc8f30e889b22596 100644 --- a/app/scodoc/sco_import_etuds.py +++ b/app/scodoc/sco_import_etuds.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_import_users.py b/app/scodoc/sco_import_users.py index 1f06f02847b2c76f6007efdff9b620c66992656f..8f0ac77008f63f31a6fb0fa538db65a3cb88d3c6 100644 --- a/app/scodoc/sco_import_users.py +++ b/app/scodoc/sco_import_users.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_inscr_passage.py b/app/scodoc/sco_inscr_passage.py index 5a44ddbd7b49597ae6f1ba1725814255928efb9a..8a9ef08f8f7ad91275eca8525acc3a5314aab40c 100644 --- a/app/scodoc/sco_inscr_passage.py +++ b/app/scodoc/sco_inscr_passage.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -597,7 +597,7 @@ def etuds_select_boxes( elems[i].checked=true; } else { elems[i].checked=false; - } + } } } </script> diff --git a/app/scodoc/sco_liste_notes.py b/app/scodoc/sco_liste_notes.py index 467808b33067f65320fafda867f22dacd4d54c6b..3bf7c0b6afc4fb4058f2500005343054b7986f20 100644 --- a/app/scodoc/sco_liste_notes.py +++ b/app/scodoc/sco_liste_notes.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_logos.py b/app/scodoc/sco_logos.py index 8f48f7443174b69582b5099137a9cda39426ebc9..e10e6de77aa7670a4a02ac988a2ff9b01bb4c7e6 100644 --- a/app/scodoc/sco_logos.py +++ b/app/scodoc/sco_logos.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_lycee.py b/app/scodoc/sco_lycee.py index 12af8528089b8acc2da780aa9cb983b597b142cd..606fabf2a7a226455c95d501c8904e72f9aadaaa 100644 --- a/app/scodoc/sco_lycee.py +++ b/app/scodoc/sco_lycee.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -98,7 +98,7 @@ def scodoc_table_etuds_lycees(fmt="html"): """<h2 class="formsemestre">Lycées d'origine des %d étudiants (%d semestres)</h2>""" % (len(etuds), len(semdepts)), t, - """<div id="lyc_map_canvas"></div> + """<div id="lyc_map_canvas"></div> """, js_coords_lycees(etuds_by_lycee), html_sco_header.sco_footer(), @@ -205,7 +205,7 @@ def formsemestre_etuds_lycees( """<h2 class="formsemestre">Lycées d'origine des étudiants</h2>""", "\n".join(F), t, - """<div id="lyc_map_canvas"></div> + """<div id="lyc_map_canvas"></div> """, js_coords_lycees(etuds_by_lycee), html_sco_header.sco_footer(), diff --git a/app/scodoc/sco_modalites.py b/app/scodoc/sco_modalites.py index 1f79201a363cf4dea281badeebc4653d77fcbdc2..805d0d48be9aa36ed2b4ccb4464b099d9425fa6a 100644 --- a/app/scodoc/sco_modalites.py +++ b/app/scodoc/sco_modalites.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -29,7 +29,7 @@ La "modalite" est utilisee pour organiser les listes de semestres sur la page d'accueil. -Elle n'est pas utilisée pour les parcours, ni pour rien d'autre +Elle n'est pas utilisée pour les parcours, ni pour rien d'autre (c'est donc un attribut "cosmétique"). """ diff --git a/app/scodoc/sco_moduleimpl.py b/app/scodoc/sco_moduleimpl.py index d677a7b0e315691b4487151de61e45436f261dd4..197180f1b55a125f58a657f4493f9ea9c06b98af 100644 --- a/app/scodoc/sco_moduleimpl.py +++ b/app/scodoc/sco_moduleimpl.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -232,12 +232,12 @@ def do_moduleimpl_inscription_list(moduleimpl_id=None, etudid=None): def moduleimpl_listeetuds(moduleimpl_id): # XXX OBSOLETE "retourne liste des etudids inscrits a ce module" - req = """SELECT DISTINCT Im.etudid - FROM notes_moduleimpl_inscription Im, - notes_formsemestre_inscription Isem, - notes_moduleimpl M - WHERE Isem.etudid = Im.etudid - and Im.moduleimpl_id = M.id + req = """SELECT DISTINCT Im.etudid + FROM notes_moduleimpl_inscription Im, + notes_formsemestre_inscription Isem, + notes_moduleimpl M + WHERE Isem.etudid = Im.etudid + and Im.moduleimpl_id = M.id and M.id = %(moduleimpl_id)s """ cnx = ndb.GetDBConnexion() diff --git a/app/scodoc/sco_moduleimpl_inscriptions.py b/app/scodoc/sco_moduleimpl_inscriptions.py index 11d8529ac807af8b2c03316cc6ddcc59089b23e4..34b3d3bd6e570cf5176bdc780d3f6646fe70f815 100644 --- a/app/scodoc/sco_moduleimpl_inscriptions.py +++ b/app/scodoc/sco_moduleimpl_inscriptions.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -144,7 +144,7 @@ def moduleimpl_inscriptions_edit(moduleimpl_id, etuds=[], submitted=False): var cells = elems[i].parentNode.parentNode.getElementsByTagName("td")[partitionIdx].childNodes; if (cells.length && cells[0].nodeValue == groupName) { elems[i].checked=check; - } + } } } } @@ -475,7 +475,7 @@ def moduleimpl_inscriptions_stats(formsemestre_id): if can_change: H.append( f"""<div><a class="stdlink" href="{ - url_for("notes.etud_inscrit_ue", + url_for("notes.etud_inscrit_ue", scodoc_dept=g.scodoc_dept, etudid=etud["etudid"], formsemestre_id=formsemestre_id, ue_id=ue["ue_id"]) }">inscrire à {"" if is_apc else "tous les modules de"} cette UE</a></div> @@ -799,7 +799,7 @@ def do_etud_inscrit_ue(etudid, formsemestre_id, ue_id): cnx = ndb.GetDBConnexion() cursor = cnx.cursor(cursor_factory=ndb.ScoDocCursor) cursor.execute( - """SELECT mi.id + """SELECT mi.id FROM notes_moduleimpl mi, notes_modules mod, notes_formsemestre sem WHERE sem.id = %(formsemestre_id)s AND mi.formsemestre_id = sem.id diff --git a/app/scodoc/sco_moduleimpl_status.py b/app/scodoc/sco_moduleimpl_status.py index 67119d5d11ae29a10878c19c9d71c981e636a037..d3f83c287c04a18fb5f6448018165528897afd07 100644 --- a/app/scodoc/sco_moduleimpl_status.py +++ b/app/scodoc/sco_moduleimpl_status.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_page_etud.py b/app/scodoc/sco_page_etud.py index 010273d49fc88616a7749878878c388d7459fe1b..2a23059fe8bc9e27483114bd90e2cd797d1757e1 100644 --- a/app/scodoc/sco_page_etud.py +++ b/app/scodoc/sco_page_etud.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_pdf.py b/app/scodoc/sco_pdf.py index b21f626709834296febcdf852a1d1b1301f6b891..02d6af7aecd9fe2bcb7b8ee6940b9a3f5c97de16 100755 --- a/app/scodoc/sco_pdf.py +++ b/app/scodoc/sco_pdf.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_photos.py b/app/scodoc/sco_photos.py index 3a37124aad13e62385ea79ea1decdb6f2100af1d..5c4bfbdcfa9f8fbe74d2d4c44e840807f13773c5 100755 --- a/app/scodoc/sco_photos.py +++ b/app/scodoc/sco_photos.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -28,7 +28,7 @@ """(Nouvelle) (Nouvelle) gestion des photos d'etudiants Les images sont stockées dans .../var/scodoc/photos -L'attribut "photo_filename" de la table identite donne le nom du fichier image, +L'attribut "photo_filename" de la table identite donne le nom du fichier image, sans extension (e.g. "F44/RT_EID31545"). Toutes les images sont converties en jpg, et stockées dans photo_filename.jpg en taille originale. Elles sont aussi réduites en 90 pixels de hauteur, et stockées dans photo_filename.h90.jpg @@ -37,7 +37,7 @@ Les images sont servies par ScoDoc, via la méthode getphotofile?etudid=xxx ## Historique: - - jusqu'à novembre 2009, les images étaient stockées dans Zope (ZODB). + - jusqu'à novembre 2009, les images étaient stockées dans Zope (ZODB). - jusqu'à v1908, stockées dans .../static/photos (et donc accessibles sans authentification). - support for legacy ZODB removed in v1909. diff --git a/app/scodoc/sco_placement.py b/app/scodoc/sco_placement.py index daaa2f1866e1fd2a8d973a5bb59cb6efaa4e5866..db50809813623156bfbe34e704545041ff7118dc 100644 --- a/app/scodoc/sco_placement.py +++ b/app/scodoc/sco_placement.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_portal_apogee.py b/app/scodoc/sco_portal_apogee.py index ae58aa737ce6801a8604b92addb4b19117cde611..bfec3eb526d71f530e0af3a0873a576f3a39a57d 100644 --- a/app/scodoc/sco_portal_apogee.py +++ b/app/scodoc/sco_portal_apogee.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_poursuite_dut.py b/app/scodoc/sco_poursuite_dut.py index 428f60aec6991b3d3c009bb48dcd42dcf3f521eb..cfb4a2ed9506658c1602bef9b89a518202ee7938 100644 --- a/app/scodoc/sco_poursuite_dut.py +++ b/app/scodoc/sco_poursuite_dut.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_preferences.py b/app/scodoc/sco_preferences.py index 08ffa7007a9f3d111e4b9fd3a7bd0570b7cd2d4a..ed126bce799cd52c9ca9882279d7c17fc5ef6fea 100644 --- a/app/scodoc/sco_preferences.py +++ b/app/scodoc/sco_preferences.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_prepajury.py b/app/scodoc/sco_prepajury.py index ba74b0aa9c1144c53c9dc069c2d34286b681d501..4806a06813dffc7add4284be498021cbbca5e71d 100644 --- a/app/scodoc/sco_prepajury.py +++ b/app/scodoc/sco_prepajury.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_pv_dict.py b/app/scodoc/sco_pv_dict.py index e4e58ca121c50e3640108675350fcafa612e5aa7..9944417af6941a58a77096ae316c8117c2f8a50a 100644 --- a/app/scodoc/sco_pv_dict.py +++ b/app/scodoc/sco_pv_dict.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_pv_forms.py b/app/scodoc/sco_pv_forms.py index 97d94c5c15b1b17dde6b4fcbadbf5bdd033e438a..54722be17fcd6a6e8f93ca21588bec0ef2a58ab5 100644 --- a/app/scodoc/sco_pv_forms.py +++ b/app/scodoc/sco_pv_forms.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_pv_lettres_inviduelles.py b/app/scodoc/sco_pv_lettres_inviduelles.py index 747a0da75e62988913b19943144c755040c0aba1..e5bf055c39740860d7c9b27b55594d473aa18aa5 100644 --- a/app/scodoc/sco_pv_lettres_inviduelles.py +++ b/app/scodoc/sco_pv_lettres_inviduelles.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_pv_pdf.py b/app/scodoc/sco_pv_pdf.py index 797582bd48937c5b59ac3290093e5f096210b384..bc398128ce28ec0a3cd2147facc5568e7843f359 100644 --- a/app/scodoc/sco_pv_pdf.py +++ b/app/scodoc/sco_pv_pdf.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_pv_templates.py b/app/scodoc/sco_pv_templates.py index da1c963a7d35d1441ca6198ee39a923d3be7f7be..cc22ac4022b48ecdac2f70500631f4090b8666b4 100644 --- a/app/scodoc/sco_pv_templates.py +++ b/app/scodoc/sco_pv_templates.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_recapcomplet.py b/app/scodoc/sco_recapcomplet.py index 7ddcbcc9c99e9f3182a7f040c15cadbda63dcca9..d17f37c79ea67475f7399038a70fda192aae628e 100644 --- a/app/scodoc/sco_recapcomplet.py +++ b/app/scodoc/sco_recapcomplet.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_report.py b/app/scodoc/sco_report.py index 4f80b26b84d4d12f26b93557e8e5933bcf884a33..d532ea2c91f8db05d7dfc4b5f481b14ed69000c9 100644 --- a/app/scodoc/sco_report.py +++ b/app/scodoc/sco_report.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -408,7 +408,7 @@ def formsemestre_report_counts( "\n".join(F), """<p class="help">Le tableau affiche le nombre d'étudiants de ce semestre dans chacun des cas choisis: à l'aide des deux menus, vous pouvez choisir les catégories utilisées - pour les lignes et les colonnes. Le <tt>codedecision</tt> est le code de la décision + pour les lignes et les colonnes. Le <tt>codedecision</tt> est le code de la décision du jury. </p>""", html_sco_header.sco_footer(), diff --git a/app/scodoc/sco_report_but.py b/app/scodoc/sco_report_but.py index f44cdde6c4612367825a03ecda452322fee6a7a1..5692c32321febeff2289f8cec4ad86afff473d34 100644 --- a/app/scodoc/sco_report_but.py +++ b/app/scodoc/sco_report_but.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_saisie_notes.py b/app/scodoc/sco_saisie_notes.py index 642411e194dd6f54d2d28e873ca9da41b4459f9e..1cf207d54fbd6eeec965bdf14fb46602a07db593 100644 --- a/app/scodoc/sco_saisie_notes.py +++ b/app/scodoc/sco_saisie_notes.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_semset.py b/app/scodoc/sco_semset.py index 34f940fc4e687dfb66e59d2404d073844806928a..fba228fe3c0d45dcf33195d5600136b08b8f90b2 100644 --- a/app/scodoc/sco_semset.py +++ b/app/scodoc/sco_semset.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -28,7 +28,7 @@ """Gestion des ensembles de semestres: class SemSet: un ensemble de semestres d'un département, à exporter ves Apogée. En principe de la meme annee scolaire. - + SemSet.annees_scolaires() : les annees scolaires. e.g. [ 2015, 2016 ], ou le plus souvent, une seule: [2016] SemSet.list_etapes(): listes des étapes apogee et vdi des semestres (instances de ApoEtapeVDI) @@ -196,7 +196,7 @@ class SemSet(dict): def remove(self, formsemestre_id): ndb.SimpleQuery( """DELETE FROM notes_semset_formsemestre - WHERE semset_id=%(semset_id)s + WHERE semset_id=%(semset_id)s AND formsemestre_id=%(formsemestre_id)s """, {"formsemestre_id": formsemestre_id, "semset_id": self.semset_id}, diff --git a/app/scodoc/sco_synchro_etuds.py b/app/scodoc/sco_synchro_etuds.py index da4813f3f538e07f7c537d67ddd3f81ec27dbb71..9982dfba1164d0f5a44bf94f8863f9f4ef605285 100644 --- a/app/scodoc/sco_synchro_etuds.py +++ b/app/scodoc/sco_synchro_etuds.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_tag_module.py b/app/scodoc/sco_tag_module.py index 809facac0f0175ec2631e230f0e37746c8c42ac6..cf535e3b1badcac9dc459867cf2c2c48948edefd 100644 --- a/app/scodoc/sco_tag_module.py +++ b/app/scodoc/sco_tag_module.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -126,8 +126,8 @@ class ScoTag(object): if not r: # log("tag %s with %s" % (object_id, self.title)) cnx = ndb.GetDBConnexion() - query = f"""INSERT INTO {self.assoc_table} - (tag_id, {self.obj_colname}) + query = f"""INSERT INTO {self.assoc_table} + (tag_id, {self.obj_colname}) VALUES""" ndb.SimpleQuery( query + " (%(tag_id)s, %(object_id)s)", @@ -187,7 +187,7 @@ class ModuleTag(ScoTag): args["formation_code"] = formation_code r = ndb.SimpleDictFetch( - """SELECT mt.module_id + """SELECT mt.module_id FROM notes_modules_tags mt, notes_modules m, notes_formations f WHERE mt.tag_id = %(tag_id)s AND m.id = mt.module_id diff --git a/app/scodoc/sco_trombino.py b/app/scodoc/sco_trombino.py index d5fbdebb1b921bd7e3b54fd8170edc1b0ef58cd7..c197cefd9f56678c8d9875c4b30d95392138086d 100644 --- a/app/scodoc/sco_trombino.py +++ b/app/scodoc/sco_trombino.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_trombino_doc.py b/app/scodoc/sco_trombino_doc.py index 7cdbad974efb83866033e6eb5ae871960d373b51..91b573e5a81cd7029c7312765c518bb97a7ae945 100644 --- a/app/scodoc/sco_trombino_doc.py +++ b/app/scodoc/sco_trombino_doc.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/scodoc/sco_trombino_tours.py b/app/scodoc/sco_trombino_tours.py index a709653636061b028cf62f4026f9a318d9474859..ddec2349243234a2c51c3907a451b1eea7cbbd50 100644 --- a/app/scodoc/sco_trombino_tours.py +++ b/app/scodoc/sco_trombino_tours.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_ue_external.py b/app/scodoc/sco_ue_external.py index 69f6103dc98828505bbaea0f0c3822dee161316a..593d0568b436c828debc9504607362f4b8017c2a 100644 --- a/app/scodoc/sco_ue_external.py +++ b/app/scodoc/sco_ue_external.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -208,7 +208,7 @@ def get_external_moduleimpl_id(formsemestre_id: int, ue_id: int) -> int: return r[0]["moduleimpl_id"] else: raise ScoValueError( - f"""Aucun module externe ne correspond + f"""Aucun module externe ne correspond (formsemestre_id={formsemestre_id}, ue_id={ue_id})""" ) @@ -241,10 +241,10 @@ def external_ue_create_form(formsemestre_id: int, etudid: int): "Ajout d'une UE externe pour %(nomprenom)s" % etud, javascripts=["js/sco_ue_external.js"], ), - """<p class="help">Cette page permet d'indiquer que l'étudiant a suivi une UE + """<p class="help">Cette page permet d'indiquer que l'étudiant a suivi une UE dans un autre établissement et qu'elle doit être intégrée dans le semestre courant.<br> La note (/20) obtenue par l'étudiant doit toujours être spécifiée.</br> - On peut choisir une UE externe existante (dans le menu), ou bien en créer une, qui sera + On peut choisir une UE externe existante (dans le menu), ou bien en créer une, qui sera alors ajoutée à la formation. </p> """, diff --git a/app/scodoc/sco_undo_notes.py b/app/scodoc/sco_undo_notes.py index dd1895048529087c458a4bd9daadd45d3f57cfa6..b04ba870ccfbf383ce3db7d61a0b1487ec4e0468 100644 --- a/app/scodoc/sco_undo_notes.py +++ b/app/scodoc/sco_undo_notes.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -32,7 +32,7 @@ note = {evaluation_id, etudid, value, date, uid, comment} Pour une évaluation: - notes actuelles: table notes_notes - - historique: table notes_notes_log + - historique: table notes_notes_log saisie de notes == saisir ou supprimer une ou plusieurs notes (mêmes date et uid) ! tolérance sur les dates (200ms ?) @@ -179,7 +179,7 @@ def formsemestre_list_saisies_notes(formsemestre_id, fmt="html"): """ formsemestre: FormSemestre = FormSemestre.query.get_or_404(formsemestre_id) rows = ndb.SimpleDictFetch( - """SELECT i.nom, i.prenom, code_nip, n.*, mod.titre, e.description, e.date_debut, + """SELECT i.nom, i.prenom, code_nip, n.*, mod.titre, e.description, e.date_debut, u.user_name, e.id as evaluation_id FROM notes_notes n, notes_evaluation e, notes_moduleimpl mi, notes_modules mod, identite i, "user" u @@ -257,7 +257,7 @@ def get_note_history(evaluation_id, etudid, fmt=""): cursor.execute( """ SELECT * FROM notes_notes - WHERE evaluation_id=%(evaluation_id)s AND etudid=%(etudid)s + WHERE evaluation_id=%(evaluation_id)s AND etudid=%(etudid)s """, {"evaluation_id": evaluation_id, "etudid": etudid}, ) @@ -267,7 +267,7 @@ def get_note_history(evaluation_id, etudid, fmt=""): cursor.execute( """ SELECT * FROM notes_notes_log - WHERE evaluation_id=%(evaluation_id)s AND etudid=%(etudid)s + WHERE evaluation_id=%(evaluation_id)s AND etudid=%(etudid)s ORDER BY date DESC""", {"evaluation_id": evaluation_id, "etudid": etudid}, ) diff --git a/app/scodoc/sco_up_to_date.py b/app/scodoc/sco_up_to_date.py index 464a5ba0900579380711f68f043e633766a8b4ae..4e93a293bff2252e155ec9b3aae94267af4cebc9 100644 --- a/app/scodoc/sco_up_to_date.py +++ b/app/scodoc/sco_up_to_date.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -54,7 +54,7 @@ def is_up_to_date() -> str: current_app.logger.debug("is_up_to_date: %s", diag) return f"""<div>Attention: installation de {SCONAME} non fonctionnelle.</div> <div>Détails: pas de connexion à {scu.SCO_WEBSITE}. - Vérifier paramètrages réseau, + Vérifier paramètrages réseau, <a href="https://scodoc.org/GuideInstallDebian11/#informations-sur-les-flux-reseau">voir la documentation</a>. </div> """ @@ -62,7 +62,7 @@ def is_up_to_date() -> str: current_app.logger.debug("is_up_to_date: %s", diag) return f"""<div>Attention: installation de {SCONAME} non fonctionnelle.</div> <div>Détails: erreur inconnue lors de la connexion à {scu.SCO_WEBSITE}. - Vérifier paramètrages réseau, + Vérifier paramètrages réseau, <a href="https://scodoc.org/GuideInstallDebian11/#informations-sur-les-flux-reseau">voir la documentation</a>. </div> """ diff --git a/app/scodoc/sco_users.py b/app/scodoc/sco_users.py index 76f3f3a87a0b427d3a9bdce2a5be1ebea1cadb28..c896c2af7d99563ae11576a034b6a5e19d617dc9 100644 --- a/app/scodoc/sco_users.py +++ b/app/scodoc/sco_users.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_utils.py b/app/scodoc/sco_utils.py index 277f188c68daf77ccbd443dc6434164546d7481f..7f23f846556f66da4a5d63d90d2dcc182c2c52a4 100644 --- a/app/scodoc/sco_utils.py +++ b/app/scodoc/sco_utils.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_vdi.py b/app/scodoc/sco_vdi.py index 47d77c21df0cf8c1beb9d6790e056821b992dc4b..9b8e50fe71102721a0eebfe5d2d2b7a393188588 100644 --- a/app/scodoc/sco_vdi.py +++ b/app/scodoc/sco_vdi.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/scodoc/sco_xml.py b/app/scodoc/sco_xml.py index 8634b8a4fb2e1ba05be72bbb2efd9c889b1cb0de..852951560fb805a576e6a20c1acf0717e9e64cb1 100644 --- a/app/scodoc/sco_xml.py +++ b/app/scodoc/sco_xml.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -116,7 +116,7 @@ def _dictlist2xml(dictlist, root=None, tagname=None, quote=False): elem.set(k, d_scalar[k]) d_list = dict([(k, v) for (k, v) in d.items() if isinstance(v, list)]) if d_list: - for (k, v) in d_list.items(): + for k, v in d_list.items(): _dictlist2xml(v, tagname=k, root=elem, quote=quote) return root diff --git a/app/scodoc/scolog.py b/app/scodoc/scolog.py index a3b07f05f15a9695c9e159450b3b3db33923cc3b..f972d3b4b7cdacd3a652542206fc85f4b8ba9f42 100644 --- a/app/scodoc/scolog.py +++ b/app/scodoc/scolog.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/tables/__init__.py b/app/tables/__init__.py index 59fca9d76ecfdc6528a0d8b5234a0793aa2addde..ad6ee4e5c83ea53aca8ab5e2da71007d7ab7f2e3 100644 --- a/app/tables/__init__.py +++ b/app/tables/__init__.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/tables/jury_recap.py b/app/tables/jury_recap.py index aca2491399ea67dd192e3ee29073c0ebdb5d2ecd..abe11e740090562f65b77e2f75de27917c4d3112 100644 --- a/app/tables/jury_recap.py +++ b/app/tables/jury_recap.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/tables/list_etuds.py b/app/tables/list_etuds.py index bd3c5ff9de2c587fac803e20cc618d22232b5ae3..463295d93f390944849122e22549a7284b19986c 100644 --- a/app/tables/list_etuds.py +++ b/app/tables/list_etuds.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/tables/recap.py b/app/tables/recap.py index df9247bcfe1d5257a478dd3767e1f001c5b20311..ff8c1eb76988e7c43a1c3d42b868260d0e6af16d 100644 --- a/app/tables/recap.py +++ b/app/tables/recap.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## @@ -523,7 +523,7 @@ class TableRecap(tb.Table): if self.is_empty() else super().html( extra_classes=[ - "table_recap", + "table_recap", "apc" if self.res.formsemestre.formation.is_apc() else "classic", "jury" if self.mode_jury else "", "with_evaluations" if self.include_evaluations else "", diff --git a/app/tables/table_builder.py b/app/tables/table_builder.py index aea76c0d5e1a9b59f411ba60eed4c6be4f94f69a..d478470445431503fb181a1563d60fc9f4fa0f53 100644 --- a/app/tables/table_builder.py +++ b/app/tables/table_builder.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/tables/visu_assiduites.py b/app/tables/visu_assiduites.py index 304ab405e7fda426b9afbdf0e26af68064d5437a..0b7ee3fc5db9480b929c16f14c98e86a7f5ad487 100644 --- a/app/tables/visu_assiduites.py +++ b/app/tables/visu_assiduites.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/app/views/absences.py b/app/views/absences.py index fe9cc8f79d59f2251d563822dc33db3fb391fb9d..408605bc62b0142889d7115e9ff2678f1f06342d 100644 --- a/app/views/absences.py +++ b/app/views/absences.py @@ -3,7 +3,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -393,9 +393,9 @@ def process_billet_absence_form(billet_id: int): <em>Vérifiez le justificatif avant d'enregistrer.</em></p>""" ) F = f"""<p><a class="stdlink" href="{ - url_for("absences.delete_billets_absence", + url_for("absences.delete_billets_absence", scodoc_dept=g.scodoc_dept, billet_id=billet_id) - }">Supprimer ce billet</a> + }">Supprimer ce billet</a> (utiliser en cas d'erreur, par ex. billet en double) </p> <p><a class="stdlink" href="{ diff --git a/app/views/assiduites.py b/app/views/assiduites.py index 0f8e8a3c218605348a609f1fb62ac0d632750ff3..44ca2ba8a37e0f0001bffa95cc2324371cec9bdd 100644 --- a/app/views/assiduites.py +++ b/app/views/assiduites.py @@ -3,7 +3,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/views/but_formation.py b/app/views/but_formation.py index 7af20d2a777303a63b7ae45ee45a39117109f020..e4bd83670ef3d28a5d653dfb80850f3f6865ce96 100644 --- a/app/views/but_formation.py +++ b/app/views/but_formation.py @@ -2,7 +2,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/views/notes.py b/app/views/notes.py index 7f21b2bd664c3813f9b7364ebf52a161de281155..08086b4444897820f0c2eb5b42b75bf1f1f00db2 100644 --- a/app/views/notes.py +++ b/app/views/notes.py @@ -5,7 +5,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/views/notes_formsemestre.py b/app/views/notes_formsemestre.py index 1373f63fbced10e207423aeb6a413904dd84411b..b683d0a22d6910a88e1c72675682e0d16edccbee 100644 --- a/app/views/notes_formsemestre.py +++ b/app/views/notes_formsemestre.py @@ -4,7 +4,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/views/pn_modules.py b/app/views/pn_modules.py index fdf6542ec6469da49c1e3d438722017a1edfb365..5ec9d20819bc0b6a6c98f058c4ce09fdf18d0ff1 100644 --- a/app/views/pn_modules.py +++ b/app/views/pn_modules.py @@ -5,7 +5,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -214,7 +214,7 @@ def edit_modules_ue_coefs(): {lockicon} </h2> """, - """<span class="warning">Formation verrouilée car un ou plusieurs + """<span class="warning">Formation verrouilée car un ou plusieurs semestres verrouillés l'utilisent. </span>""" if locked diff --git a/app/views/scodoc.py b/app/views/scodoc.py index bd2a642ef330a282dcebb259f7c13a5e0a9b0f46..8a8b5319cf772b51f4a80dd42f8ef9ec4688a875 100644 --- a/app/views/scodoc.py +++ b/app/views/scodoc.py @@ -5,7 +5,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/views/scolar.py b/app/views/scolar.py index 78c6930524cc76a6b755e47be31b74f486ec2e4d..7be21ee042e0383985fb500168ea0506b8658992 100644 --- a/app/views/scolar.py +++ b/app/views/scolar.py @@ -3,7 +3,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/app/views/users.py b/app/views/users.py index 0b4d6bed48983f47072c710f23787175486fbca1..03785d7597809cd7eb68478e72d772b373af2f1e 100644 --- a/app/views/users.py +++ b/app/views/users.py @@ -5,7 +5,7 @@ # # ScoDoc # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/misc/csv2rules.py b/misc/csv2rules.py index 6db81965f03fac95dd8a52d16a8872acdc431c92..d60fd998db9e5993b44fb6ee6f8fc33af735486d 100755 --- a/misc/csv2rules.py +++ b/misc/csv2rules.py @@ -6,7 +6,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -47,7 +47,7 @@ HEAD = """# -*- coding: utf-8 -*- # Generated by csv2rules.py *** DO NOT EDIT *** # # Command: %s %s -# +# from codes_cursus import ( DUTRule, ADC, diff --git a/misc/geolocalize_lycees.py b/misc/geolocalize_lycees.py index ab16cd2dbd1db7b457a777510a51f73df855fabe..5e4f9d6b3d923e45dff59d54aff80fe90be67401 100644 --- a/misc/geolocalize_lycees.py +++ b/misc/geolocalize_lycees.py @@ -5,7 +5,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -57,7 +57,7 @@ for line in inf: place, (lat, lng) = g.geocode(address + ' France', exactly_one=False)[0] except: place, (lat, lng) = 'NOT FOUND', (0.,0.) - print "%s: %.5f, %.5f" % (address, lat, lng) + print "%s: %.5f, %.5f" % (address, lat, lng) out.write( line.strip() + ';%s;%s\n' % (lat,lng) ) time.sleep(0.11) # Google API Rate limit of 10 requests per second. diff --git a/sco_version.py b/sco_version.py index 88104d8814f587272c92dd6c3f0421af4d5090c1..d7fb73ab8d4d58f701e76237c397b10bba13fda8 100644 --- a/sco_version.py +++ b/sco_version.py @@ -1,7 +1,7 @@ # -*- mode: python -*- # -*- coding: utf-8 -*- -SCOVERSION = "9.6.72" +SCOVERSION = "9.6.73" SCONAME = "ScoDoc" diff --git a/tests/unit/test_apogee_csv.py b/tests/unit/test_apogee_csv.py index ae8b22d5530161de3b8af3516d1e19564dd0d6e6..eb4b31bb84369008157662318ef2619653040059 100644 --- a/tests/unit/test_apogee_csv.py +++ b/tests/unit/test_apogee_csv.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/tests/unit/test_apogee_export.py b/tests/unit/test_apogee_export.py index 4b84f0a86478c6e70180a76c4647dd0033ed1fda..90e66ce1c4c7993cd2e6c87309078f4a6f82e95f 100644 --- a/tests/unit/test_apogee_export.py +++ b/tests/unit/test_apogee_export.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/tests/unit/test_but_jury.py b/tests/unit/test_but_jury.py index 0eb2458af196111ac85c24d2aca3dca04b50b20d..ca61d2c6032fe0cd8c9b6593500466a531262d13 100644 --- a/tests/unit/test_but_jury.py +++ b/tests/unit/test_but_jury.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/tests/unit/yaml_setup.py b/tests/unit/yaml_setup.py index 6140537ce05e0d0dd8c3fd425c67c6345e70d453..142a3c6ec4eb6309dfc498d6b25bdcdfeb46867d 100644 --- a/tests/unit/yaml_setup.py +++ b/tests/unit/yaml_setup.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/tests/unit/yaml_setup_but.py b/tests/unit/yaml_setup_but.py index 0198fcf6545afb7cfdadc668031bb407a511067a..a0bbff8eabbea62aeb9798d69ade5072c9eda734 100644 --- a/tests/unit/yaml_setup_but.py +++ b/tests/unit/yaml_setup_but.py @@ -1,6 +1,6 @@ ############################################################################## # ScoDoc -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # See LICENSE ############################################################################## diff --git a/tools/anonymize_db.py b/tools/anonymize_db.py index cc7a5a042bb531e94334d77884d391dfc056de47..e537d43f0ba438883fe7cbf554de37ddfa267b66 100755 --- a/tools/anonymize_db.py +++ b/tools/anonymize_db.py @@ -6,7 +6,7 @@ # # Gestion scolarite IUT # -# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved. +# Copyright (c) 1999 - 2024 Emmanuel Viennet. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -70,8 +70,8 @@ ANONYMIZED_FIELDS = { "identite.nom": anonymize_name, "identite.prenom": anonymize_name, "identite.nom_usuel": anonymize_null, - "identite.civilite_etat_civil" : anonymize_null, - "identite.prenom_etat_civil" : anonymize_null, + "identite.civilite_etat_civil": anonymize_null, + "identite.prenom_etat_civil": anonymize_null, "identite.date_naissance": anonymize_date, "identite.lieu_naissance": anonymize_question_str, "identite.dept_naissance": anonymize_question_str,