From 6dc44168fe7b22cd4b3ad8202e030c40e260304e Mon Sep 17 00:00:00 2001 From: Antoine Waehren Date: Fri, 13 May 2022 16:27:21 +0200 Subject: [PATCH] Correction de bug sur l'algorithme de recherche de salles libres. Affichage de la date choisie sur la page des salles libres. --- app.py | 22 +++++++++++----------- rooms_get.py | 4 ++-- templates/free-rooms.html | 3 +++ 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/app.py b/app.py index 98103b6..26fce0d 100644 --- a/app.py +++ b/app.py @@ -24,8 +24,8 @@ from flask import request import date_tools import rooms_get as ro -# Constantes -MAX_DEPT = 5 +# Constantes : +MAX_DEPT = 5 # Le maximum de départements qu'il est possible de sélectionner app = Flask(__name__) @@ -90,33 +90,32 @@ def free_rooms() : # Récupération des ID des départements depuis le formulaire : dident_list = request.args.getlist("dept") if len(dident_list)>MAX_DEPT: - return render_template("error.html", error="Trop de départements sélectionnés ! ( max : "+str(MAX_DEPT)+" )") + return render_template("error.html", error="Trop de départements sélectionnés ! Vous pouvez en sélectionner "+str(MAX_DEPT)+" au maximum.") # Récupération de l'éventuelle date personnalisée (depuis la page de sélection de date : date_uf = request.args.get("date") if date_uf == None : - print("hey") date_uf = [""] else : date_uf = date_uf.split("-") time_uf = request.args.get("time") if time_uf == None : - print("hey") time_uf = [""] else : time_uf = time_uf.split(":") date = dti.datetime.now() - print(date_uf, time_uf) + date_str = "" # Date affichée sur la page (si personnalisée) + + if date_uf != [""] : + date = date.replace(year = int(date_uf[0]), month = int(date_uf[1]), day = int(date_uf[2])) + date_str += date_uf[2] + "/" + date_uf[1] + "/" + date_uf[0] if time_uf != [""] : date = date.replace(hour = int(time_uf[0]), minute = int(time_uf[1])) - if date_uf != [""] : - date = date.replace(year = int(date_uf[0]), month = int(date_uf[1]), day = int(date_uf[2])) - - print(date) + date_str += ", à " + time_uf[0] + ":" + time_uf[1] # Récupération de la liste des départements : @@ -153,7 +152,7 @@ def free_rooms() : "end":date_tools.hour_disp(r.end), "rtime":remain_time_str} - context = {"free_rooms":free_rooms, "frooms_disp":frooms_disp, "depts_str":depts_str, "dident_list":dident_list} + context = {"free_rooms":free_rooms, "frooms_disp":frooms_disp, "depts_str":depts_str, "dident_list":dident_list, "date_str":date_str} url_for("static", filename="style.css") return render_template("free-rooms.html", **context) @@ -179,6 +178,7 @@ def date_select() : return render_template("date-select.html", **context) + @app.errorhandler(404) def error(e): """ diff --git a/rooms_get.py b/rooms_get.py index d35233b..47e3b5e 100644 --- a/rooms_get.py +++ b/rooms_get.py @@ -285,11 +285,11 @@ def getrooms(datet, depts, ignore_list) : for r in total_rooms : if r.name == roomname : if datestart.timestamp() < r.end.timestamp() : - if datestart.timestamp() == r.start.timestamp() : + if not(r.is_free) and (datestart.timestamp() == r.start.timestamp()) : start = dateend end = r.end else : - start = r.end + start = r.start end = datestart # Réglage du fuseau horaire : diff --git a/templates/free-rooms.html b/templates/free-rooms.html index b3ed45b..d8153f0 100644 --- a/templates/free-rooms.html +++ b/templates/free-rooms.html @@ -11,6 +11,9 @@
Départements sélectionnés : {{ depts_str }} + {% if date_str != "" : %} + Le {{ date_str }} + {% endif %}
{% for d in dident_list : %}