Correction de bug sur l'algorithme de recherche de salles libres.
Affichage de la date choisie sur la page des salles libres.
This commit is contained in:
parent
1d9cc59404
commit
6dc44168fe
22
app.py
22
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):
|
||||
"""
|
||||
|
@ -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 :
|
||||
|
@ -11,6 +11,9 @@
|
||||
<main>
|
||||
Départements sélectionnés :
|
||||
<b>{{ depts_str }}</b>
|
||||
{% if date_str != "" : %}
|
||||
<b>Le {{ date_str }}</b>
|
||||
{% endif %}
|
||||
<form class="flex" action="/app/date-select" method="get">
|
||||
{% for d in dident_list : %}
|
||||
<span style="display: none;"><input type="text" name="dept" value="{{ d }}"/></span>
|
||||
|
Loading…
x
Reference in New Issue
Block a user