Ajout du choix du départements (possibilité d'en choisir plusieurs) (Flask uniquement).
Ajout d'un identifiant pour les départements.
This commit is contained in:
parent
1c9b10a54e
commit
01d3aee55d
35
app.py
35
app.py
@ -45,6 +45,7 @@ def select_dept() :
|
|||||||
dept_filen = "data/dept_list.txt"
|
dept_filen = "data/dept_list.txt"
|
||||||
|
|
||||||
dept_list = ro.get_depts(dept_filen)
|
dept_list = ro.get_depts(dept_filen)
|
||||||
|
|
||||||
content = {"dept_list":dept_list}
|
content = {"dept_list":dept_list}
|
||||||
|
|
||||||
url_for("static", filename="style.css")
|
url_for("static", filename="style.css")
|
||||||
@ -66,26 +67,38 @@ def free_rooms() :
|
|||||||
flask.render_template
|
flask.render_template
|
||||||
"""
|
"""
|
||||||
|
|
||||||
depts = request.form["dept"]
|
# Récupération des ID des départements depuis le formulaire :
|
||||||
|
if request.method == "POST" :
|
||||||
|
dident_list = request.form["dept"]
|
||||||
|
else :
|
||||||
|
dident_list = request.args.getlist("dept")
|
||||||
|
|
||||||
print(depts)
|
# Récupération de la liste des départements :
|
||||||
|
dept_filen = "data/dept_list.txt"
|
||||||
|
dept_list = ro.get_depts(dept_filen)
|
||||||
|
|
||||||
#hdelay = 1 #TODO : décalage horaire (pb de fuseau ?)
|
# Récupération des départements choisis à partir des données du formulaire :
|
||||||
|
i = 0
|
||||||
|
depts = list()
|
||||||
|
for d in dept_list :
|
||||||
|
if i < len(dident_list) and d.ident == int(dident_list[i]) :
|
||||||
|
depts.append(d)
|
||||||
|
i += 1
|
||||||
|
|
||||||
#if time.localtime().tm_isdst != 0 :
|
hdelay = 1 #TODO : décalage horaire (pb de fuseau ?)
|
||||||
#hdelay = 2
|
|
||||||
|
|
||||||
#ignore_list = ["salle non définie", "salle en Distanciel"]
|
if time.localtime().tm_isdst != 0 :
|
||||||
|
hdelay = 2
|
||||||
|
|
||||||
##dept = dept_list[0] #TODO : proposer d'autres départements
|
ignore_list = ["salle non définie", "salle en Distanciel"]
|
||||||
|
|
||||||
#date = dti.datetime(2022, 5, 5, 10, 30)
|
#dept = dept_list[0] #TODO : proposer d'autres départements
|
||||||
|
|
||||||
#available_rooms = ro.getrooms(date, depts, ignore_list)
|
date = dti.datetime(2022, 5, 5, 10, 30)
|
||||||
|
|
||||||
#context = {"available_rooms":available_rooms, "hdelay":hdelay}
|
available_rooms = ro.getrooms(date, depts, ignore_list)
|
||||||
|
|
||||||
context = {}
|
context = {"available_rooms":available_rooms, "hdelay":hdelay}
|
||||||
|
|
||||||
url_for("static", filename="style.css")
|
url_for("static", filename="style.css")
|
||||||
return render_template("free-rooms.html", **context)
|
return render_template("free-rooms.html", **context)
|
@ -57,6 +57,9 @@ class Dept :
|
|||||||
Attributes
|
Attributes
|
||||||
----------
|
----------
|
||||||
|
|
||||||
|
ident : int
|
||||||
|
Identifiant du département.
|
||||||
|
|
||||||
name : string
|
name : string
|
||||||
Nom du département.
|
Nom du département.
|
||||||
|
|
||||||
@ -67,7 +70,8 @@ class Dept :
|
|||||||
La liste des salles de ce département
|
La liste des salles de ce département
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, name, link, rooms) :
|
def __init__(self, ident, name, link, rooms) :
|
||||||
|
self.ident = ident
|
||||||
self.name = name
|
self.name = name
|
||||||
self.link = link
|
self.link = link
|
||||||
self.rooms = rooms
|
self.rooms = rooms
|
@ -140,8 +140,11 @@ def get_depts(filename) :
|
|||||||
|
|
||||||
dfile_content = dept_file.readlines()
|
dfile_content = dept_file.readlines()
|
||||||
|
|
||||||
for i in range(len(dfile_content) - 1) :
|
ident = 0 # Compteur pour les identifiants des départements
|
||||||
dept_list.append(Dept(dfile_content[i], dfile_content[i + 1], []))
|
|
||||||
|
for i in range(0, len(dfile_content) - 1, 2) :
|
||||||
|
dept_list.append(Dept(ident, dfile_content[i], dfile_content[i + 1], []))
|
||||||
|
ident += 1
|
||||||
|
|
||||||
# for l in dfile_content :
|
# for l in dfile_content :
|
||||||
# """
|
# """
|
||||||
@ -250,7 +253,7 @@ def getrooms(datet, depts, ignore_list) :
|
|||||||
# Récupération des calendriers correspondants au lien du département :
|
# Récupération des calendriers correspondants au lien du département :
|
||||||
cals = list() # Liste des emplois du temps des départements choisis
|
cals = list() # Liste des emplois du temps des départements choisis
|
||||||
for d in depts :
|
for d in depts :
|
||||||
result = sched_get(datet, d.link, datet.replace(month = datet.month + margintime))
|
result = sched_get(datet, d.link, datet)
|
||||||
cals.append(icalendar.Calendar.from_ical(result))
|
cals.append(icalendar.Calendar.from_ical(result))
|
||||||
|
|
||||||
# Ajout des infos supplémentaires sur les salles (heures de début-fin de dispo, indicateur de dispo), s'il y en a :
|
# Ajout des infos supplémentaires sur les salles (heures de début-fin de dispo, indicateur de dispo), s'il y en a :
|
||||||
|
@ -104,6 +104,10 @@ button, input {
|
|||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input checkbox {
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
.done {
|
.done {
|
||||||
background: var(--bg-dark);
|
background: var(--bg-dark);
|
||||||
text-decoration: line-through;
|
text-decoration: line-through;
|
||||||
|
@ -9,11 +9,14 @@
|
|||||||
<header>UniSquat</header>
|
<header>UniSquat</header>
|
||||||
<main>
|
<main>
|
||||||
Sélectionnez des départements dans la liste :
|
Sélectionnez des départements dans la liste :
|
||||||
<form action="/free-rooms" method="post">
|
<form action="/free-rooms" method="get">
|
||||||
<input type="submit" value="Valider">
|
<input type="submit" value="Valider">
|
||||||
<br>
|
<br>
|
||||||
{% for d in dept_list : %}
|
{% for d in dept_list : %}
|
||||||
<input type="radio" id="{{ d }}" name="dept" value="{{ d }}"><br>
|
<div>
|
||||||
|
<input type="checkbox" id="{{ d.ident }}" name="dept" value="{{ d.ident }}">
|
||||||
|
<label for="{{ d.ident }}">{{ d.name }}</label>
|
||||||
|
</div>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
</form>
|
</form>
|
||||||
</main>
|
</main>
|
||||||
|
Loading…
Reference in New Issue
Block a user