forked from ScoDoc/ScoDoc
Compare commits
2 Commits
7689cc9c31
...
a4e07a2d58
Author | SHA1 | Date | |
---|---|---|---|
a4e07a2d58 | |||
3358e27e04 |
32
app/but/jury_export.py
Normal file
32
app/but/jury_export.py
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
##############################################################################
|
||||||
|
# ScoDoc
|
||||||
|
# Copyright (c) 1999 - 2023 Emmanuel Viennet. All rights reserved.
|
||||||
|
# See LICENSE
|
||||||
|
##############################################################################
|
||||||
|
|
||||||
|
"""Feuille d'export Jury BUT
|
||||||
|
"""
|
||||||
|
import datetime
|
||||||
|
|
||||||
|
from flask import render_template, url_for
|
||||||
|
|
||||||
|
import app
|
||||||
|
from app import Departement
|
||||||
|
from app.models import FormSemestre, FormSemestreInscription
|
||||||
|
from app.views import ScoData
|
||||||
|
|
||||||
|
|
||||||
|
def feuille_preparation_jury_but(formsemestre_id: int):
|
||||||
|
formsemestre: FormSemestre = FormSemestre.query.filter_by(
|
||||||
|
id=formsemestre_id
|
||||||
|
).first_or_404()
|
||||||
|
departement: Departement = Departement.query.filter_by(
|
||||||
|
id = formsemestre.formsemestre_id
|
||||||
|
).first_or_404()
|
||||||
|
return render_template(
|
||||||
|
"but/jury_export.j2",
|
||||||
|
datetime=datetime,
|
||||||
|
formsemestre=formsemestre,
|
||||||
|
dept=departement.acronym,
|
||||||
|
sco=ScoData(formsemestre=formsemestre),
|
||||||
|
)
|
|
@ -185,6 +185,7 @@ def formsemestre_recapcomplet(
|
||||||
)
|
)
|
||||||
|
|
||||||
H.append(table_html) # La table
|
H.append(table_html) # La table
|
||||||
|
|
||||||
if len(formsemestre.inscriptions) > 0:
|
if len(formsemestre.inscriptions) > 0:
|
||||||
H.append("""<div class="links_under_recap"><ul>""")
|
H.append("""<div class="links_under_recap"><ul>""")
|
||||||
if not mode_jury:
|
if not mode_jury:
|
||||||
|
@ -268,7 +269,7 @@ def formsemestre_recapcomplet(
|
||||||
if stats_lille[StatsLille.TOTAL] > 0:
|
if stats_lille[StatsLille.TOTAL] > 0:
|
||||||
H.append(
|
H.append(
|
||||||
f"""
|
f"""
|
||||||
<div><b>Statistiques Lille:</b></div>
|
<div><b>Statistiques :</b></div>
|
||||||
<table class="jury_stats_codes">
|
<table class="jury_stats_codes">
|
||||||
"""
|
"""
|
||||||
)
|
)
|
||||||
|
|
61
app/templates/but/jury_export.j2
Normal file
61
app/templates/but/jury_export.j2
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
{# -*- mode: jinja-html -*- #}
|
||||||
|
{% extends "sco_page.j2" %}
|
||||||
|
|
||||||
|
{% block styles %}
|
||||||
|
{{super()}}
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block app_content %}
|
||||||
|
|
||||||
|
<H1>Export xlsx de fichier de jury</H1>
|
||||||
|
|
||||||
|
<form onsubmit="do_export()">
|
||||||
|
Formsemestre: {{ formsemestre.id }}
|
||||||
|
API root: {{ api_root }}
|
||||||
|
<button>Exporter</button>
|
||||||
|
</form>
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block scripts %}
|
||||||
|
{{super()}}
|
||||||
|
|
||||||
|
<script src="{{scu.STATIC_DIR}}/js/export-jury-but.js"></script>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
let dataSrc = "{{bul_url|safe}}";
|
||||||
|
let dept = {{dept}};
|
||||||
|
let fsem_id = {{ formsemestre.formsemestre_id }}
|
||||||
|
let rootapi = `/ScoDoc/${dept}/formsemestre/{fsem_id}/etudiants`
|
||||||
|
fetch(dataSrc)
|
||||||
|
.then(r => { return r.json() })
|
||||||
|
.then(json => {
|
||||||
|
let releve = document.querySelector("releve-but");
|
||||||
|
releve.showData = json;
|
||||||
|
// Syle custom à ajouter
|
||||||
|
let style = document.createElement("style");
|
||||||
|
style.textContent = `
|
||||||
|
.module>div,
|
||||||
|
.dateInscription,
|
||||||
|
.numerosEtudiant,
|
||||||
|
.dateNaissance{
|
||||||
|
display: none;
|
||||||
|
}`;
|
||||||
|
releve.shadowRoot.appendChild(style);
|
||||||
|
});
|
||||||
|
// .catch(error => {
|
||||||
|
// let div = document.createElement("div");
|
||||||
|
// div.innerText = "Une erreur s'est produite lors du transfert des données.";
|
||||||
|
// div.style.fontSize = "24px";
|
||||||
|
// div.style.color = "#d93030";
|
||||||
|
|
||||||
|
// let releve = document.querySelector("releve-but");
|
||||||
|
// releve.after(div);
|
||||||
|
// releve.remove();
|
||||||
|
|
||||||
|
// throw 'Fin du script - données invalides';
|
||||||
|
// });
|
||||||
|
document.querySelector("html").style.scrollBehavior = "smooth";
|
||||||
|
</script>
|
||||||
|
|
||||||
|
{% endblock %}
|
Loading…
Reference in New Issue
Block a user