Filtrage selon les favoris

This commit is contained in:
theo@manjaro 2022-06-15 13:52:16 +02:00
parent 09975eb013
commit 2a03dde566
2 changed files with 15 additions and 1 deletions

14
app.py
View File

@ -33,6 +33,7 @@ GLOBAL_CONTEXT = {} # Contexte constant pour les templates Jinja
GLOBAL_CONTEXT["SOURCE"] = "https://forge.chapril.org/Wantoo/UniSquat_Python" # Le lien du code source
GLOBAL_CONTEXT["CREDITSLINK"] = "https://forge.chapril.org/Wantoo" # Le lien de l'organisation
GLOBAL_CONTEXT["CREDITSNAME"] = "Wantoo" # Le nom de l'organisation
GLOBAL_CONTEXT["DEBUG"] = True # Fait en sorte que le logiciel soit un peu plus expressif
# Globales
logs = [] # Stoque les différentes requêtes faite sur la route /free_rooms/, sous la forme {"timestamp":timestamp,"depts":[]}
@ -148,6 +149,11 @@ def free_rooms() :
else :
time_uf = time_uf.split(":")
# Récupére les IDs des salles favorites
favs_ids = request.args.get("favs")
if favs_ids==None:
favs_ids = []
date = dti.datetime.now()
date_str = "" # Date affichée sur la page (si personnalisée)
@ -180,6 +186,13 @@ def free_rooms() :
ignore_list = ["salle non définie", "salle en Distanciel"]
free_rooms = ro.getrooms(date, depts, ignore_list)
# Filtre selon les favoris ( s'il y en a )
if len(favs_ids)>0:
final_rooms = list()
for r in free_rooms:
if r.id in favs_ids:
final_rooms.append(r)
free_rooms = final_rooms
frooms_disp = dict() # Mise en forme des infos pour la page Web
@ -195,6 +208,7 @@ def free_rooms() :
"end":date_tools.hour_disp(r.end),
"rtime":remain_time_str}
change_date_str = "?"
i = 0
for v in dident_list:

View File

@ -22,7 +22,7 @@
<ul>
{% for room in free_rooms : %}
{% if room.is_free : %}
<dt>{{ room.name }}
<dt>{{ room.name }} {% if DEBUG :%}( {{ room.id }} ){% endif %}
{% if not(room.end.hour == 23 and room.end.minute == 59 and room.end.second == 59) : %}
<br><span class=details>Jusqu'à {{ frooms_disp[room.name]["end"] }} (dans {{ frooms_disp[room.name]["rtime"] }})</span>
{% endif %}