{% extends 'base.j2' %} {% block styles %} {{super()}} <link href="{{scu.STATIC_DIR}}/css/jury_delete_manual.css" rel="stylesheet" type="text/css" /> {% endblock %} {% block app_content %} <h2>Décisions de jury enregistrées pour {{etud.html_link_fiche()|safe}}</h2> <p class="help"> Cette page liste toutes les décisions de jury connus de ScoDoc concernant cet étudiant et permet de les effacer une par une. </p> <p class="help"> <b>Attention</b>, il vous appartient de vérifier la cohérence du résultat ! En principe, <b>l'usage de cette page devrait rester exceptionnel</b>. Aucune annulation n'est ici possible (vous devrez re-saisir les décisions via les pages de saisie de jury habituelles). </p> {% if sem_vals.first() %} <div class="jury_decisions_list jury_decisions_sems"> <div>Décisions de semestres</div> <ul> {% for v in sem_vals %} <li>{{v.html()|safe}} <form> <button data-v_id="{{v.id}}" data-type="validation_formsemestre" data-etudid="{{etud.id}}" >effacer</button></form> </li> {% endfor %} </ul> </div> {% endif %} {% if ue_vals.first() %} <div class="jury_decisions_list jury_decisions_ues"> <div>Décisions d'UEs</div> <ul> {% for v in ue_vals %} <li>{{v.html(detail=True)|safe}} <form class="inline-form"> <button data-v_id="{{v.id}}" data-type="validation_ue" data-etudid="{{etud.id}}" >effacer</button> </form> </li> {% endfor %} </ul> </div> {% endif %} {% if rcue_vals.first() %} <div class="jury_decisions_list jury_decisions_rcues"> <div>Décisions de RCUE (niveaux de compétences)</div> <ul> {% for v in rcue_vals %} <li>{{v.html()|safe}} <form> <button data-v_id="{{v.id}}" data-type="validation_rcue" data-etudid="{{etud.id}}" >effacer</button> </form> </li> {% endfor %} </ul> </div> {% endif %} {% if annee_but_vals.first() %} <div class="jury_decisions_list jury_decisions_annees_but"> <div>Décisions d'années BUT</div> <ul> {% for v in annee_but_vals %} <li>{{v.html()|safe}} <form> <button data-v_id="{{v.id}}" data-type="validation_annee_but" data-etudid="{{etud.id}}" >effacer</button> </form> </li> {% endfor %} </ul> </div> {% endif %} {% if autorisations.first() %} <div class="jury_decisions_list jury_decisions_autorisation_inscription"> <div>Autorisations d'inscriptions (passages)</div> <ul> {% for v in autorisations %} <li>{{v.html()|safe}} <form> <button data-v_id="{{v.id}}" data-type="autorisation_inscription" data-etudid="{{etud.id}}" >effacer</button> </form> </li> {% endfor %} </ul> </div> {% endif %} {% if not( sem_vals.first() or ue_vals.first() or rcue_vals.first() or annee_but_vals.first() or autorisations.first()) %} <div> <p class="fontred">aucune décision enregistrée</p> </div> {% endif %} <div> <p>retour à la fiche de {{etud.html_link_fiche()|safe}} </p> </div> {% endblock %} {% block scripts %} {{super()}} <script> document.addEventListener('DOMContentLoaded', () => { const buttons = document.querySelectorAll('.jury_decisions_list button'); buttons.forEach(button => { button.addEventListener('click', (event) => { // Handle button click event here event.preventDefault(); const etudid = event.target.dataset.etudid; const v_id = event.target.dataset.v_id; const validation_type = event.target.dataset.type; if (confirm("Supprimer cette validation ?")) { fetch(`${SCO_URL}/../api/etudiant/${etudid}/jury/${validation_type}/${v_id}/delete`, { method: "POST", }).then(response => { // Handle the response if (response.ok) { location.reload(); } else { throw new Error('Request failed'); } }); } }); }); }); </script> {% endblock %}