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 date_tools
|
||||||
import rooms_get as ro
|
import rooms_get as ro
|
||||||
|
|
||||||
# Constantes
|
# Constantes :
|
||||||
MAX_DEPT = 5
|
MAX_DEPT = 5 # Le maximum de départements qu'il est possible de sélectionner
|
||||||
|
|
||||||
app = Flask(__name__)
|
app = Flask(__name__)
|
||||||
|
|
||||||
|
@ -90,33 +90,32 @@ def free_rooms() :
|
||||||
# Récupération des ID des départements depuis le formulaire :
|
# Récupération des ID des départements depuis le formulaire :
|
||||||
dident_list = request.args.getlist("dept")
|
dident_list = request.args.getlist("dept")
|
||||||
if len(dident_list)>MAX_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 :
|
# Récupération de l'éventuelle date personnalisée (depuis la page de sélection de date :
|
||||||
date_uf = request.args.get("date")
|
date_uf = request.args.get("date")
|
||||||
if date_uf == None :
|
if date_uf == None :
|
||||||
print("hey")
|
|
||||||
date_uf = [""]
|
date_uf = [""]
|
||||||
else :
|
else :
|
||||||
date_uf = date_uf.split("-")
|
date_uf = date_uf.split("-")
|
||||||
|
|
||||||
time_uf = request.args.get("time")
|
time_uf = request.args.get("time")
|
||||||
if time_uf == None :
|
if time_uf == None :
|
||||||
print("hey")
|
|
||||||
time_uf = [""]
|
time_uf = [""]
|
||||||
else :
|
else :
|
||||||
time_uf = time_uf.split(":")
|
time_uf = time_uf.split(":")
|
||||||
|
|
||||||
date = dti.datetime.now()
|
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 != [""] :
|
if time_uf != [""] :
|
||||||
date = date.replace(hour = int(time_uf[0]), minute = int(time_uf[1]))
|
date = date.replace(hour = int(time_uf[0]), minute = int(time_uf[1]))
|
||||||
if date_uf != [""] :
|
date_str += ", à " + time_uf[0] + ":" + time_uf[1]
|
||||||
date = date.replace(year = int(date_uf[0]), month = int(date_uf[1]), day = int(date_uf[2]))
|
|
||||||
|
|
||||||
print(date)
|
|
||||||
|
|
||||||
|
|
||||||
# Récupération de la liste des départements :
|
# Récupération de la liste des départements :
|
||||||
|
@ -153,7 +152,7 @@ def free_rooms() :
|
||||||
"end":date_tools.hour_disp(r.end),
|
"end":date_tools.hour_disp(r.end),
|
||||||
"rtime":remain_time_str}
|
"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")
|
url_for("static", filename="style.css")
|
||||||
return render_template("free-rooms.html", **context)
|
return render_template("free-rooms.html", **context)
|
||||||
|
@ -179,6 +178,7 @@ def date_select() :
|
||||||
|
|
||||||
return render_template("date-select.html", **context)
|
return render_template("date-select.html", **context)
|
||||||
|
|
||||||
|
|
||||||
@app.errorhandler(404)
|
@app.errorhandler(404)
|
||||||
def error(e):
|
def error(e):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -285,11 +285,11 @@ def getrooms(datet, depts, ignore_list) :
|
||||||
for r in total_rooms :
|
for r in total_rooms :
|
||||||
if r.name == roomname :
|
if r.name == roomname :
|
||||||
if datestart.timestamp() < r.end.timestamp() :
|
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
|
start = dateend
|
||||||
end = r.end
|
end = r.end
|
||||||
else :
|
else :
|
||||||
start = r.end
|
start = r.start
|
||||||
end = datestart
|
end = datestart
|
||||||
|
|
||||||
# Réglage du fuseau horaire :
|
# Réglage du fuseau horaire :
|
||||||
|
|
|
@ -11,6 +11,9 @@
|
||||||
<main>
|
<main>
|
||||||
Départements sélectionnés :
|
Départements sélectionnés :
|
||||||
<b>{{ depts_str }}</b>
|
<b>{{ depts_str }}</b>
|
||||||
|
{% if date_str != "" : %}
|
||||||
|
<b>Le {{ date_str }}</b>
|
||||||
|
{% endif %}
|
||||||
<form class="flex" action="/app/date-select" method="get">
|
<form class="flex" action="/app/date-select" method="get">
|
||||||
{% for d in dident_list : %}
|
{% for d in dident_list : %}
|
||||||
<span style="display: none;"><input type="text" name="dept" value="{{ d }}"/></span>
|
<span style="display: none;"><input type="text" name="dept" value="{{ d }}"/></span>
|
||||||
|
|
Loading…
Reference in New Issue