From 104feb31b94b582307cdd6b11f0c53282ebb83a2 Mon Sep 17 00:00:00 2001 From: "theo@manjaro" Date: Wed, 15 Jun 2022 23:34:38 +0200 Subject: [PATCH] =?UTF-8?q?Affichage=20des=20salles=20lambda=20quand=20des?= =?UTF-8?q?=20favoris=20sont=20s=C3=A9lectionn=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.py | 19 ++++++----- templates/free-rooms.html | 68 +++++++++++++++++++++++++++------------ 2 files changed, 59 insertions(+), 28 deletions(-) diff --git a/app.py b/app.py index b9f48b5..d469350 100644 --- a/app.py +++ b/app.py @@ -195,13 +195,6 @@ 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 @@ -231,7 +224,17 @@ def free_rooms() : for dept in dident_list: nofavslink+="dept="+str(dept)+"&" nofavslink = nofavslink[:-1] # Enlever le dernier & - context = {"free_rooms":free_rooms, "frooms_disp":frooms_disp, "depts_str":depts_str, "dident_list":dident_list, "date_str":date_str, "change_date_str":change_date_str, "favs":len(favs_ids)>0,"nofavslink":nofavslink} + + # Trier les salles selon leurs catégories + favs_free_rooms = [] + favs_soon_rooms = [] + soon_rooms = [] + final_rooms = [] + + for r in free_rooms: + [[soon_rooms,final_rooms],[favs_soon_rooms,favs_free_rooms]][r.id in favs_ids][r.is_free].append(r) + + context = {"favs_free_rooms":favs_free_rooms, "favs_soon_rooms":favs_soon_rooms, "free_rooms":final_rooms, "soon_rooms":soon_rooms, "frooms_disp":frooms_disp, "depts_str":depts_str, "dident_list":dident_list, "date_str":date_str, "change_date_str":change_date_str, "favs":len(favs_ids)>0,"nofavslink":nofavslink} # Crée un log de la date et des départements demandés ( pour des futures statistiques ) log = {} diff --git a/templates/free-rooms.html b/templates/free-rooms.html index 126f058..adcb89c 100644 --- a/templates/free-rooms.html +++ b/templates/free-rooms.html @@ -9,14 +9,6 @@ {% include "base.html" %}
- {% if favs: %} -
-

Attention, tu as des favoris de précisé, les résultats sont donc filtrés et tu ne vois pas toute les salles !

-
-
- Retirer -
- {% endif %}

Départements sélectionnés :
@@ -32,45 +24,81 @@ Choisir une date

-

Disponibles maintenant

+ {% if favs: %} + + {% if favs_free_rooms|length>0: %} +
+

Favoris disponibles maintenant

    - {% for room in free_rooms : %} - {% if room.is_free : %} -
    {{ room.name }} {% if DEBUG :%}( {{ room.id }} ){% endif %}{%if not favs:%} {% endif %} + {% for room in favs_free_rooms : %} +
    {{ room.name }} {% if DEBUG :%}( {{ room.id }} ){% endif %} {% if not(room.end.hour == 23 and room.end.minute == 59 and room.end.second == 59) : %}
    Jusqu'à {{ frooms_disp[room.name]["end"] }} (dans {{ frooms_disp[room.name]["rtime"] }}) {% endif %}
    - {% endif %} {% endfor %}
+ {% endif %} + {% if favs_soon_rooms|length>0: %}
-

Disponibles prochainement

+

Favoris disponibles prochainement

    - {% for room in free_rooms : %} - {% if not room.is_free : %} -
    {{ room.name }} {% if DEBUG :%}( {{ room.id }} ){% endif %}{%if not favs:%} {% endif %} + {% for room in favs_soon_rooms: %} +
    {{ room.name }} {% if DEBUG :%}( {{ room.id }} ){% endif %} {% if room.end.hour == 23 and room.end.minute == 59 and room.end.second == 59 : %}
    À {{ frooms_disp[room.name]["start"] }} (dans {{ frooms_disp[room.name]["rtime"] }}) {% else %}
    De {{ frooms_disp[room.name]["start"] }} à {{ frooms_disp[room.name]["end"] }} (dans {{ frooms_disp[room.name]["rtime"] }}) {% endif %}
    - {% endif %} {% endfor %}
+ {% endif %} + {% endif %} + {% if free_rooms|length>0 %} +
+

Disponibles maintenant

+
+
    + {% for room in free_rooms: %} +
    {{ room.name }} {% if DEBUG :%}( {{ room.id }} ){% endif %} + {% if not(room.end.hour == 23 and room.end.minute == 59 and room.end.second == 59) : %} +
    Jusqu'à {{ frooms_disp[room.name]["end"] }} (dans {{ frooms_disp[room.name]["rtime"] }}) + {% endif %} +
    + {% endfor %} +
+
+ {% endif %} + {% if soon_rooms|length>0 %} +
+

Disponibles prochainement

+
+
    + {% for room in soon_rooms: %} +
    {{ room.name }} {% if DEBUG :%}( {{ room.id }} ){% endif %} + {% if room.end.hour == 23 and room.end.minute == 59 and room.end.second == 59 : %} +
    À {{ frooms_disp[room.name]["start"] }} (dans {{ frooms_disp[room.name]["rtime"] }}) + {% else %} +
    De {{ frooms_disp[room.name]["start"] }} à {{ frooms_disp[room.name]["end"] }} (dans {{ frooms_disp[room.name]["rtime"] }}) + {% endif %} +
    + {% endfor %} +
+
+ {% endif %}
{% for d in dident_list : %} {% endfor %} - {% if not favs:%} - {% endif %}