From 9987a26d9e3a77be04c5e7853a49a8b07cda3c0c Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Sun, 31 Dec 2023 23:04:06 +0100 Subject: [PATCH] Version 9.6.73 + copyright 2024 --- app/api/assiduites.py | 2 +- app/api/billets_absences.py | 2 +- app/api/departements.py | 2 +- app/api/etudiants.py | 2 +- app/api/evaluations.py | 2 +- app/api/formations.py | 2 +- app/api/formsemestres.py | 2 +- app/api/jury.py | 2 +- app/api/logos.py | 2 +- app/api/moduleimpl.py | 2 +- app/api/partitions.py | 2 +- app/api/semset.py | 2 +- app/api/tools.py | 2 +- app/api/users.py | 2 +- app/but/apc_edit_ue.py | 8 +- app/but/bulletin_but.py | 2 +- app/but/bulletin_but_court.py | 2 +- app/but/bulletin_but_court_pdf.py | 2 +- app/but/bulletin_but_pdf.py | 4 +- app/but/bulletin_but_xml_compat.py | 2 +- app/but/cursus_but.py | 2 +- app/but/forms/jury_but_forms.py | 2 +- app/but/forms/refcomp_forms.py | 2 +- app/but/import_refcomp.py | 4 +- app/but/jury_but.py | 26 ++--- app/but/jury_but_pv.py | 4 +- app/but/jury_but_results.py | 2 +- app/but/jury_but_validation_auto.py | 2 +- app/but/jury_but_view.py | 16 +-- app/but/jury_edit_manual.py | 2 +- app/but/rcue.py | 2 +- app/but/validations_view.py | 2 +- app/comp/aux_stats.py | 6 +- app/comp/bonus_spo.py | 2 +- app/comp/df_cache.py | 2 +- app/comp/jury.py | 12 +-- app/comp/moy_mat.py | 2 +- app/comp/moy_mod.py | 2 +- app/comp/moy_sem.py | 4 +- app/comp/moy_ue.py | 2 +- app/comp/res_but.py | 2 +- app/comp/res_cache.py | 2 +- app/comp/res_classic.py | 2 +- app/comp/res_common.py | 2 +- app/comp/res_compat.py | 2 +- app/comp/res_sem.py | 2 +- app/email.py | 2 +- app/entreprises/app_relations_entreprises.py | 2 +- app/entreprises/forms.py | 2 +- app/forms/assiduite/ajout_assiduite_etud.py | 2 +- app/forms/formsemestre/change_formation.py | 3 +- app/forms/main/config_apo.py | 2 +- app/forms/main/config_assiduites.py | 2 +- app/forms/main/config_cas.py | 2 +- app/forms/main/config_logos.py | 2 +- app/forms/main/config_main.py | 2 +- app/forms/main/create_dept.py | 2 +- app/forms/main/role_create.py | 2 +- app/models/but_refcomp.py | 2 +- app/models/formsemestre.py | 2 +- app/models/groups.py | 2 +- app/pe/pe_avislatex.py | 8 +- app/pe/pe_jurype.py | 29 ++--- app/pe/pe_semestretag.py | 2 +- app/pe/pe_settag.py | 2 +- app/pe/pe_tagtable.py | 2 +- app/pe/pe_tools.py | 3 +- app/pe/pe_view.py | 2 +- app/scodoc/__init__.py | 2 +- app/scodoc/codes_cursus.py | 2 +- app/scodoc/gen_tables.py | 2 +- app/scodoc/html_sco_header.py | 2 +- app/scodoc/html_sidebar.py | 2 +- app/scodoc/htmlutils.py | 2 +- app/scodoc/notes_users.py | 2 +- app/scodoc/safehtml.py | 3 +- app/scodoc/sco_abs.py | 16 +-- app/scodoc/sco_abs_billets.py | 2 +- app/scodoc/sco_abs_notification.py | 2 +- app/scodoc/sco_apogee_compare.py | 14 +-- app/scodoc/sco_apogee_csv.py | 8 +- app/scodoc/sco_apogee_reader.py | 6 +- app/scodoc/sco_archives.py | 2 +- app/scodoc/sco_archives_etud.py | 10 +- app/scodoc/sco_archives_formsemestre.py | 2 +- app/scodoc/sco_bac.py | 2 +- app/scodoc/sco_bulletins.py | 2 +- app/scodoc/sco_bulletins_example.py | 2 +- app/scodoc/sco_bulletins_generator.py | 2 +- app/scodoc/sco_bulletins_json.py | 2 +- app/scodoc/sco_bulletins_legacy.py | 2 +- app/scodoc/sco_bulletins_pdf.py | 2 +- app/scodoc/sco_bulletins_signature.py | 6 +- app/scodoc/sco_bulletins_standard.py | 2 +- app/scodoc/sco_bulletins_ucac.py | 4 +- app/scodoc/sco_bulletins_xml.py | 2 +- app/scodoc/sco_cache.py | 2 +- app/scodoc/sco_cal.py | 2 +- app/scodoc/sco_compute_moy.py | 2 +- app/scodoc/sco_config_actions.py | 2 +- app/scodoc/sco_cost_formation.py | 2 +- app/scodoc/sco_cursus.py | 3 +- app/scodoc/sco_cursus_dut.py | 2 +- app/scodoc/sco_debouche.py | 4 +- app/scodoc/sco_dept.py | 2 +- app/scodoc/sco_dump_db.py | 2 +- app/scodoc/sco_edit_apc.py | 2 +- app/scodoc/sco_edit_formation.py | 2 +- app/scodoc/sco_edit_matiere.py | 6 +- app/scodoc/sco_edit_module.py | 2 +- app/scodoc/sco_edit_ue.py | 2 +- app/scodoc/sco_edt_cal.py | 2 +- app/scodoc/sco_etape_apogee.py | 22 ++-- app/scodoc/sco_etape_apogee_view.py | 24 ++--- app/scodoc/sco_etape_bilan.py | 108 +++++++++---------- app/scodoc/sco_etud.py | 2 +- app/scodoc/sco_evaluation_check_abs.py | 2 +- app/scodoc/sco_evaluation_db.py | 2 +- app/scodoc/sco_evaluation_edit.py | 2 +- app/scodoc/sco_evaluation_recap.py | 2 +- app/scodoc/sco_evaluations.py | 2 +- app/scodoc/sco_excel.py | 2 +- app/scodoc/sco_exceptions.py | 2 +- app/scodoc/sco_export_results.py | 6 +- app/scodoc/sco_find_etud.py | 2 +- app/scodoc/sco_formation_recap.py | 2 +- app/scodoc/sco_formation_versions.py | 8 +- app/scodoc/sco_formations.py | 2 +- app/scodoc/sco_formsemestre.py | 2 +- app/scodoc/sco_formsemestre_custommenu.py | 2 +- app/scodoc/sco_formsemestre_edit.py | 2 +- app/scodoc/sco_formsemestre_exterieurs.py | 12 +-- app/scodoc/sco_formsemestre_inscriptions.py | 2 +- app/scodoc/sco_formsemestre_status.py | 2 +- app/scodoc/sco_formsemestre_validation.py | 2 +- app/scodoc/sco_formulas.py | 2 +- app/scodoc/sco_groups.py | 2 +- app/scodoc/sco_groups_edit.py | 2 +- app/scodoc/sco_groups_exports.py | 2 +- app/scodoc/sco_groups_view.py | 2 +- app/scodoc/sco_import_etuds.py | 2 +- app/scodoc/sco_import_users.py | 2 +- app/scodoc/sco_inscr_passage.py | 4 +- app/scodoc/sco_liste_notes.py | 2 +- app/scodoc/sco_logos.py | 2 +- app/scodoc/sco_lycee.py | 6 +- app/scodoc/sco_modalites.py | 4 +- app/scodoc/sco_moduleimpl.py | 14 +-- app/scodoc/sco_moduleimpl_inscriptions.py | 8 +- app/scodoc/sco_moduleimpl_status.py | 2 +- app/scodoc/sco_page_etud.py | 2 +- app/scodoc/sco_pdf.py | 2 +- app/scodoc/sco_photos.py | 6 +- app/scodoc/sco_placement.py | 2 +- app/scodoc/sco_portal_apogee.py | 2 +- app/scodoc/sco_poursuite_dut.py | 2 +- app/scodoc/sco_preferences.py | 2 +- app/scodoc/sco_prepajury.py | 2 +- app/scodoc/sco_pv_dict.py | 2 +- app/scodoc/sco_pv_forms.py | 2 +- app/scodoc/sco_pv_lettres_inviduelles.py | 2 +- app/scodoc/sco_pv_pdf.py | 2 +- app/scodoc/sco_pv_templates.py | 2 +- app/scodoc/sco_recapcomplet.py | 2 +- app/scodoc/sco_report.py | 4 +- app/scodoc/sco_report_but.py | 2 +- app/scodoc/sco_saisie_notes.py | 2 +- app/scodoc/sco_semset.py | 6 +- app/scodoc/sco_synchro_etuds.py | 2 +- app/scodoc/sco_tag_module.py | 8 +- app/scodoc/sco_trombino.py | 2 +- app/scodoc/sco_trombino_doc.py | 2 +- app/scodoc/sco_trombino_tours.py | 2 +- app/scodoc/sco_ue_external.py | 8 +- app/scodoc/sco_undo_notes.py | 10 +- app/scodoc/sco_up_to_date.py | 6 +- app/scodoc/sco_users.py | 2 +- app/scodoc/sco_utils.py | 2 +- app/scodoc/sco_vdi.py | 2 +- app/scodoc/sco_xml.py | 4 +- app/scodoc/scolog.py | 2 +- app/tables/__init__.py | 2 +- app/tables/jury_recap.py | 2 +- app/tables/list_etuds.py | 2 +- app/tables/recap.py | 4 +- app/tables/table_builder.py | 2 +- app/tables/visu_assiduites.py | 2 +- app/views/absences.py | 6 +- app/views/assiduites.py | 2 +- app/views/but_formation.py | 2 +- app/views/notes.py | 2 +- app/views/notes_formsemestre.py | 2 +- app/views/pn_modules.py | 4 +- app/views/scodoc.py | 2 +- app/views/scolar.py | 2 +- app/views/users.py | 2 +- misc/csv2rules.py | 4 +- misc/geolocalize_lycees.py | 4 +- sco_version.py | 2 +- tests/unit/test_apogee_csv.py | 2 +- tests/unit/test_apogee_export.py | 2 +- tests/unit/test_but_jury.py | 2 +- tests/unit/yaml_setup.py | 2 +- tests/unit/yaml_setup_but.py | 2 +- tools/anonymize_db.py | 6 +- 205 files changed, 411 insertions(+), 404 deletions(-) diff --git a/app/api/assiduites.py b/app/api/assiduites.py index eaebe1ad..d75b796c 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 98c89dfb..160b00b7 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 7214032d..04cb8e75 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 b709218e..a508ee3b 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 60a03e9b..76b9be7c 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 8a5afe5b..7ff02a07 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 eca8786c..6fc38aea 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 f6d140d9..e71531eb 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 db3a28cd..08b59e37 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 556f3d07..a4843fdf 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 268e64c9..50660fb6 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 9869e6f8..981c5a09 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 10464e63..7ed1a44e 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 3dffd277..0a9f7397 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 b2fcec0d..0ae48a21 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"""
Pas de référentiel de compétence associé à cette formation !
-
associer un référentiel de compétence
@@ -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"""
{ - _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 "" ) }
- + """ @@ -423,7 +423,7 @@ def jury_but_semestriel( # GET if formsemestre.semestre_id % 2 == 0: warning = f"""
- 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.
""" else: diff --git a/app/but/jury_edit_manual.py b/app/but/jury_edit_manual.py index d144c125..29a81ced 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 5a5fce3e..2fce54ff 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 ef7dd882..83c84301 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 b0d47924..36b2efdf 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 b5b4e966..96505d16 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 1dea77c2..fb4c6cad 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 ee2c1373..1a4c8768 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 09518857..e95e4c96 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 7ca6c25e..ad7c4594 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 15313550..3701f3dd 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 !
- (formation:
{formation.get_titre_version()})""" ) ) diff --git a/app/comp/moy_ue.py b/app/comp/moy_ue.py index ea9124ee..6f800418 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 1d7b3ad7..880f1b8e 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 941caad2..9374598b 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 50976668..89ff95e7 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 175e38df..c6985ff5 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 7d23bea4..a9b605aa 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 212f9710..8c28d7e4 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 a983ef2d..cecaa68b 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 b8bd683d..e02a0c93 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 c39ac750..804e232b 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 dae8419b..44b7f9c7 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 9161c93a..c66e9677 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 5db90405..adac92c0 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 129b2d47..05654304 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 3a31b47f..a85a9b1a 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 d01cc5cc..fcea427c 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 df8ec7df..68b161eb 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 1ab7f667..059af39c 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 c3a2b150..aee79c0c 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 a47bac1b..aa36c08d 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 3a9e0015..994e201d 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 d4905cda..6c112058 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 d68f9509..3c498f47 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 a18626d6..01687f7c 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 9e2d9b45..8384551c 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 94e80cd9..f8c35bd4 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 e14ca6ad..49bf22cc 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 932a2a00..ead3a2d1 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 8c2a40b7..7a49e721 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 1b9a5925..1edc8d5f 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 b11c7b6b..ea6d09ca 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 8fcda8fb..499c16eb 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 1b9e4519..886f0cf4 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 3c35157c..9806b115 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 51a0b19b..41e452d4 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 33d25a68..b1ead894 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 5c897cd2..d74bf40f 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 8ef9de03..2f55f3c6 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 82f8b094..18fe777f 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 6d292323..b97f4418 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 3b82862d..d67dde9f 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, """
- Fichier Apogée A: + Fichier Apogée A:
- Fichier Apogée B: + Fichier Apogée B:
autodétecter encodage @@ -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"""

aucune différence de résultats - sur les {nb_etuds_communs} étudiants communs - (les éléments Apogée n'apparaissant pas dans les deux + f"""

aucune différence de résultats + sur les {nb_etuds_communs} étudiants communs + (les éléments Apogée n'apparaissant pas dans les deux fichiers sont omis)

""" diff --git a/app/scodoc/sco_apogee_csv.py b/app/scodoc/sco_apogee_csv.py index 61af26bd..965222f0 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 2a56d85d..44ab7fa6 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 - + 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 5fb9aa56..4f3eb763 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 e3275a8c..1dca9f02 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, ), - """

Chargement d'un document associé à %(nomprenom)s

+ """

Chargement d'un document associé à %(nomprenom)s

""" % etud, - """

Le fichier ne doit pas dépasser %sMo.

+ """

Le fichier ne doit pas dépasser %sMo.

""" % (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" ), """

Téléchargement de fichier associés aux étudiants

-

Les fichiers associés (dossiers d'admission, certificats, ...), de - types quelconques (pdf, doc, images) sont accessibles aux utilisateurs via +

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.

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 0915b95c..24197dd4 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 7933f351..c7411e24 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 9ac41e6d..4cba4c69 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 663fc8d0..a7e61568 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 4d76712d..bda2567e 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 7676ac16..3bce083a 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 14ffb6cd..05c462f6 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 cf0d1348..f61ba8ac 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 f3a711b5..0b30f8d2 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///bul_sig_{left|right} ou, à défaut, .../ScoDoc/signatures//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 d249f7fe..a35a021e 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 c5a59243..6ec66cce 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 58305f14..25f2cfa6 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 c80049b1..4c9960df 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 25179c01..3ca918ff 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 e2642f5e..5f2959df 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 61202781..d6f54090 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 f266b063..5c167e6b 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 53def6f9..1bd9983f 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 f19fa00f..b9e26e32 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 c08a6e99..cc08e8d9 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()}

Table des débouchés des étudiants

- {msg} + {msg}
{html_sco_header.sco_footer()} diff --git a/app/scodoc/sco_dept.py b/app/scodoc/sco_dept.py index b81ea09f..3e050a81 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 4474f382..a74fab8d 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 60961c3e..3bd94595 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 0857656d..5b1f4ec4 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 614113fd..277da08e 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 n'ont pas de rôle dans le calcul des notes. -

+

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 n'ont pas de rôle dans le calcul des notes. -

+

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 4f5b9235..b7d6fab4 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 232507ea..06975ba3 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 bc7dc8d3..c21ca862 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 ce0f5457..a4fcdb02 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//2016-1/2016-07-03-16-12-19/V3ASR!111.csv + /opt/scodoc-data/archives/apo_csv//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 8f11532b..6247d986 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( """

- Charger votre fichier maquette Apogée: + Charger votre fichier maquette Apogée: @@ -146,7 +146,7 @@ def apo_semset_maq_status( Ou récupérer maquette Apogée pour une étape: """ 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""" - """ diff --git a/app/scodoc/sco_formsemestre_inscriptions.py b/app/scodoc/sco_formsemestre_inscriptions.py index 887a0625..b1d73150 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 7254fc27..2b89c1f7 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 26d9e6c1..d11b334c 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 9a3273a5..ad61573b 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 2e05297d..3e47e1e6 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 bb0429ef..a14498ce 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 232f4cc3..b8571fb4 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 04da7fb1..aacbae64 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 4cd7cca5..7107217b 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 1f06f028..8f0ac770 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 5a44ddbd..8a9ef08f 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; - } + } } } diff --git a/app/scodoc/sco_liste_notes.py b/app/scodoc/sco_liste_notes.py index 467808b3..3bf7c0b6 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 8f48f744..e10e6de7 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 12af8528..606fabf2 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"): """

Lycées d'origine des %d étudiants (%d semestres)

""" % (len(etuds), len(semdepts)), t, - """
+ """
""", js_coords_lycees(etuds_by_lycee), html_sco_header.sco_footer(), @@ -205,7 +205,7 @@ def formsemestre_etuds_lycees( """

Lycées d'origine des étudiants

""", "\n".join(F), t, - """
+ """
""", 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 1f79201a..805d0d48 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 d677a7b0..197180f1 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 11d8529a..34b3d3bd 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"""
inscrire à {"" if is_apc else "tous les modules de"} cette UE
@@ -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 67119d5d..d3f83c28 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 010273d4..2a23059f 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 b21f6267..02d6af7a 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 3a37124a..5c4bfbdc 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 daaa2f18..db508098 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 ae58aa73..bfec3eb5 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 428f60ae..cfb4a2ed 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 08ffa700..ed126bce 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 ba74b0aa..4806a068 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 e4e58ca1..9944417a 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 97d94c5c..54722be1 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 747a0da7..e5bf055c 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 797582bd..bc398128 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 da1c963a..cc22ac40 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 7ddcbcc9..d17f37c7 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 4f80b26b..d532ea2c 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), """

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 codedecision est le code de la décision + pour les lignes et les colonnes. Le codedecision est le code de la décision du jury.

""", html_sco_header.sco_footer(), diff --git a/app/scodoc/sco_report_but.py b/app/scodoc/sco_report_but.py index f44cdde6..5692c323 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 642411e1..1cf207d5 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 34f940fc..fba228fe 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 da4813f3..9982dfba 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 809facac..cf535e3b 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 d5fbdebb..c197cefd 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 7cdbad97..91b573e5 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 a7096536..ddec2349 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 69f6103d..593d0568 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"], ), - """

Cette page permet d'indiquer que l'étudiant a suivi une UE + """

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.
La note (/20) obtenue par l'étudiant doit toujours être spécifiée.
- 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.

""", diff --git a/app/scodoc/sco_undo_notes.py b/app/scodoc/sco_undo_notes.py index dd189504..b04ba870 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 464a5ba0..4e93a293 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"""
Attention: installation de {SCONAME} non fonctionnelle.
Détails: pas de connexion à {scu.SCO_WEBSITE}. - Vérifier paramètrages réseau, + Vérifier paramètrages réseau, voir la documentation.
""" @@ -62,7 +62,7 @@ def is_up_to_date() -> str: current_app.logger.debug("is_up_to_date: %s", diag) return f"""
Attention: installation de {SCONAME} non fonctionnelle.
Détails: erreur inconnue lors de la connexion à {scu.SCO_WEBSITE}. - Vérifier paramètrages réseau, + Vérifier paramètrages réseau, voir la documentation.
""" diff --git a/app/scodoc/sco_users.py b/app/scodoc/sco_users.py index 76f3f3a8..c896c2af 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 277f188c..7f23f846 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 47d77c21..9b8e50fe 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 8634b8a4..85295156 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 a3b07f05..f972d3b4 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 59fca9d7..ad6ee4e5 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 aca24913..abe11e74 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 bd3c5ff9..463295d9 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 df9247bc..ff8c1eb7 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 aea76c0d..d4784704 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 304ab405..0b7ee3fc 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 fe9cc8f7..408605bc 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): Vérifiez le justificatif avant d'enregistrer.

""" ) F = f"""

Supprimer ce billet + }">Supprimer ce billet (utiliser en cas d'erreur, par ex. billet en double)

Formation verrouilée car un ou plusieurs + """Formation verrouilée car un ou plusieurs semestres verrouillés l'utilisent. """ if locked diff --git a/app/views/scodoc.py b/app/views/scodoc.py index bd2a642e..8a8b5319 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 78c69305..7be21ee0 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 0b4d6bed..03785d75 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 6db81965..d60fd998 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 ab16cd2d..5e4f9d6b 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 88104d88..d7fb73ab 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 ae8b22d5..eb4b31bb 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 4b84f0a8..90e66ce1 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 0eb2458a..ca61d2c6 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 6140537c..142a3c6e 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 0198fcf6..a0bbff8e 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 cc7a5a04..e537d43f 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,