From aeab3c752e336c77c2a7646ebabbbd7a5fec235b Mon Sep 17 00:00:00 2001 From: Emmanuel Viennet Date: Mon, 31 Oct 2022 10:22:25 +0100 Subject: [PATCH] =?UTF-8?q?BUT:=20=C3=A9dition=20des=20coefs:=20visualise?= =?UTF-8?q?=20mods=20hors=20parcours?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/static/css/table_editor.css | 10 ++++++++++ app/views/pn_modules.py | 12 +++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/app/static/css/table_editor.css b/app/static/css/table_editor.css index be32892c..6a031683 100644 --- a/app/static/css/table_editor.css +++ b/app/static/css/table_editor.css @@ -65,6 +65,16 @@ div.title_STANDARD, background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='32' viewBox='0 0 16 32'%3E%3Cg fill='%239C92AC' fill-opacity='0.21'%3E%3Cpath fill-rule='evenodd' d='M0 24h4v2H0v-2zm0 4h6v2H0v-2zm0-8h2v2H0v-2zM0 0h4v2H0V0zm0 4h2v2H0V4zm16 20h-6v2h6v-2zm0 4H8v2h8v-2zm0-8h-4v2h4v-2zm0-20h-6v2h6V0zm0 4h-4v2h4V4zm-2 12h2v2h-2v-2zm0-8h2v2h-2V8zM2 8h10v2H2V8zm0 8h10v2H2v-2zm-2-4h14v2H0v-2zm4-8h6v2H4V4zm0 16h6v2H4v-2zM6 0h2v2H6V0zm0 24h2v2H6v-2z'/%3E%3C/g%3E%3C/svg%3E"); } +div.champs_coef_hors_parcours { + background: conic-gradient(rgb(255, 226, 226) 90deg, + white 90deg 180deg, + rgb(241, 241, 241) 180deg 270deg, + white 270deg); + background-size: 12px 12px; + background-repeat: repeat; + background-position: top left; +} + div.title_MALUS { background-color: #ff4700; } diff --git a/app/views/pn_modules.py b/app/views/pn_modules.py index 049b8e7c..0e48290a 100644 --- a/app/views/pn_modules.py +++ b/app/views/pn_modules.py @@ -124,11 +124,21 @@ def table_modules_ue_coefs(formation_id, semestre_idx=None, parcours_id: int = N for (row, mod) in enumerate(modules, start=2): style = "champs champs_" + scu.ModuleType(mod.module_type).name for (col, ue) in enumerate(ues, start=2): + # met en gris les coefs qui devraient ĂȘtre nuls + # car le module n'est pas dans le parcours de l'UE: + if ( + (mod.parcours is not None) + and (ue.parcour_id is not None) + and ue.parcour_id not in (p.id for p in mod.parcours) + ): + cell_style += style + " champs_coef_hors_parcours" + else: + cell_style = style cells.append( { "x": col, "y": row, - "style": style, + "style": cell_style, "data": df[mod.id][ue.id] or "", "editable": mod.ue.type != UE_SPORT, "module_id": mod.id,