From 1244f265c0cb412a2ba5c14c1c0cad5ac05bdcab Mon Sep 17 00:00:00 2001
From: Emmanuel Viennet <emmanuel.viennet@gmail.com>
Date: Thu, 26 Jan 2023 12:35:15 -0300
Subject: [PATCH] =?UTF-8?q?Acc=C3=A8s=20lecture=20d=C3=A9cisions=20jury=20?=
 =?UTF-8?q?BUT=20depuis=20la=20fiche.=20Am=C3=A9liore=20navigation.=20MAJ?=
 =?UTF-8?q?=20textes=20de=20r=C3=A9f=C3=A9rence.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 app/but/jury_but_view.py                      | 24 +++++++++++++++----
 app/comp/res_common.py                        |  3 ++-
 app/scodoc/sco_formsemestre_validation.py     | 14 ++++++++++-
 app/static/css/scodoc.css                     |  5 ++++
 app/static/js/jury_but.js                     |  5 +++-
 .../but/documentation_codes_jury.html         |  7 +++---
 app/views/notes.py                            | 11 ++++++---
 7 files changed, 56 insertions(+), 13 deletions(-)

diff --git a/app/but/jury_but_view.py b/app/but/jury_but_view.py
index ac454195e..a58f41e2c 100644
--- a/app/but/jury_but_view.py
+++ b/app/but/jury_but_view.py
@@ -11,7 +11,7 @@ import re
 import numpy as np
 
 import flask
-from flask import flash, url_for
+from flask import flash, render_template, url_for
 from flask import g, request
 
 from app import db
@@ -32,8 +32,10 @@ from app.models import (
     ScolarAutorisationInscription,
     ScolarFormSemestreValidation,
 )
+from app.models.config import ScoDocSiteConfig
 from app.scodoc import html_sco_header
 from app.scodoc.sco_exceptions import ScoValueError
+from app.scodoc import sco_preferences
 from app.scodoc import sco_utils as scu
 
 
@@ -463,8 +465,10 @@ def jury_but_semestriel(
 
     if read_only:
         H.append(
-            """<div class="but_explanation">
-            Vous n'avez pas la permission de modifier ces décisions.
+            f"""<div class="but_explanation">
+            {"Vous n'avez pas la permission de modifier ces décisions."
+            if formsemestre.etat
+            else "Semestre verrouillé."}
             Les champs entourés en vert sont enregistrés.
             </div>
             """
@@ -491,7 +495,19 @@ def jury_but_semestriel(
             </div>
             """
         )
-        H.append(navigation_div)
+
+    H.append(navigation_div)
+    H.append("</div>")
+    H.append(
+        render_template(
+            "but/documentation_codes_jury.html",
+            nom_univ=f"""Export {sco_preferences.get_preference("InstituteName")
+            or sco_preferences.get_preference("UnivName")
+            or "Apogée"}""",
+            codes=ScoDocSiteConfig.get_codes_apo_dict(),
+        )
+    )
+
     return "\n".join(H)
 
 
diff --git a/app/comp/res_common.py b/app/comp/res_common.py
index 7632ec28b..35f2a637e 100644
--- a/app/comp/res_common.py
+++ b/app/comp/res_common.py
@@ -733,7 +733,8 @@ class ResultatsSemestre(ResultatsCache):
                     f"""<a href="{url_for('notes.formsemestre_validation_etud_form',
                     scodoc_dept=g.scodoc_dept, formsemestre_id=self.formsemestre.id, etudid=etudid
                     )
-                    }">{"saisir" if not jury_code_sem else "modifier"} décision</a>""",
+                    }">{("saisir" if not jury_code_sem else "modifier")
+                        if self.formsemestre.etat else "voir"} décisions</a>""",
                     "col_jury_link",
                     idx,
                 )
diff --git a/app/scodoc/sco_formsemestre_validation.py b/app/scodoc/sco_formsemestre_validation.py
index 25b47df3f..3d2a7835a 100644
--- a/app/scodoc/sco_formsemestre_validation.py
+++ b/app/scodoc/sco_formsemestre_validation.py
@@ -602,9 +602,21 @@ def formsemestre_recap_parcours_table(
         <td class="datedebut">{sem['mois_debut']}</td>
         <td class="rcp_titre_sem"><a class="formsemestre_status_link"
         href="{a_url}formsemestre_bulletinetud?formsemestre_id={formsemestre.id}&etudid={etudid}"
-        title="Bulletin de notes">{formsemestre.titre_annee()}{parcours_name}</a></td>
+        title="Bulletin de notes">{formsemestre.titre_annee()}{parcours_name}</a>
         """
         )
+        if nt.is_apc:
+            H.append(
+                f"""<a class="stdlink jury_link" title="Validations du semestre BUT"
+                href="{ url_for("notes.formsemestre_validation_but",
+                scodoc_dept=g.scodoc_dept,
+                formsemestre_id=formsemestre.id,
+                etudid=etudid,
+                )
+            }">jury</a>"""
+            )
+        H.append("""</td>""")
+
         if nt.is_apc:
             H.append('<td class="rcp_but">BUT</td>')
         elif decision_sem:
diff --git a/app/static/css/scodoc.css b/app/static/css/scodoc.css
index e66360983..42c2ecac1 100644
--- a/app/static/css/scodoc.css
+++ b/app/static/css/scodoc.css
@@ -1661,6 +1661,11 @@ td.formsemestre_status_inscrits {
   text-align: center;
 }
 
+td.rcp_titre_sem a.jury_link {
+  margin-left: 8px;
+  color: red;
+}
+
 td.formsemestre_status_cell {
   white-space: nowrap;
 }
diff --git a/app/static/js/jury_but.js b/app/static/js/jury_but.js
index 909a76d95..c53b223ad 100644
--- a/app/static/js/jury_but.js
+++ b/app/static/js/jury_but.js
@@ -78,7 +78,10 @@ $(function () {
         } else {
             document.querySelector("div.next").innerHTML = "";
         }
-
+    } else {
+        // Supprime les liens de navigation
+        document.querySelector("div.prev").innerHTML = "";
+        document.querySelector("div.next").innerHTML = "";
     }
 });
 
diff --git a/app/templates/but/documentation_codes_jury.html b/app/templates/but/documentation_codes_jury.html
index cc4c7e179..f54807f2a 100644
--- a/app/templates/but/documentation_codes_jury.html
+++ b/app/templates/but/documentation_codes_jury.html
@@ -262,10 +262,11 @@
         <b>Textes de référence:</b>
         <ul>
             <li><a href="https://www.enseignementsup-recherche.gouv.fr/fr/bo/21/Special4/ESRS2114777A.htm">Bulletin
-                    officiel spécial n°4 du 17 juin 2021</a></li>
+                    officiel spécial n°4 du 26 mai 2022 </a></li>
             <li><a
-                    href="https://cache.media.enseignementsup-recherche.gouv.fr//file/SPE4-MESRI-17-6-2021/19/4/SP4_ESR_17_6_2021_1413194.pdf">Version
-                    pdf complète</a></li>
+                    href="https://cache.media.education.gouv.fr/file/SP4-MESRI-26-5-2022/10/0/spe617_annexe1_1426100.pdf">Version
+                    pdf de l'arrêté de mai 2022 sur la licence professionnelle « bachelor universitaire de technologie
+                    »</a></li>
         </ul>
 
     </div>
diff --git a/app/views/notes.py b/app/views/notes.py
index ce4b14725..969233d03 100644
--- a/app/views/notes.py
+++ b/app/views/notes.py
@@ -2508,15 +2508,20 @@ def formsemestre_validation_but(
         </div>
     """
         if autorisations_idx
-        else """<div class="but_autorisations_passage but_explanation">pas d'autorisations de passage enregistrées.</div>"""
+        else """<div class="but_autorisations_passage but_explanation">
+            pas d'autorisations de passage enregistrées.
+            </div>
+            """
     )
     H.append(div_autorisations_passage)
 
     if read_only:
         H.append(
-            """
+            f"""
             <div class="but_explanation">
-            Vous n'avez pas la permission de modifier ces décisions.
+            {"Vous n'avez pas la permission de modifier ces décisions."
+            if formsemestre.etat
+            else "Semestre verrouillé."}
             Les champs entourés en vert sont enregistrés.
             </div>"""
         )
-- 
GitLab