Ahora la renovacion es personalizable
This commit is contained in:
parent
f9b4716aee
commit
c0b880b4ab
@ -54,8 +54,8 @@ def ver_alquileres(info = None):
|
|||||||
|
|
||||||
return render_template("ver_alquileres.html", alquileres=alquileres, info=info)
|
return render_template("ver_alquileres.html", alquileres=alquileres, info=info)
|
||||||
|
|
||||||
@alquileres.route("/renovar/<id_taquilla>")
|
@alquileres.route("/renovar/<id_taquilla>", methods=["GET", "POST"])
|
||||||
def renovar_alquiler(id_taquilla):
|
def renovar_alquiler(id_taquilla):
|
||||||
if not id_taquilla:
|
if not id_taquilla:
|
||||||
return redirect("/")
|
return redirect("/")
|
||||||
|
|
||||||
@ -65,14 +65,11 @@ def renovar_alquiler(id_taquilla):
|
|||||||
.first()
|
.first()
|
||||||
)
|
)
|
||||||
|
|
||||||
current_date = datetime.datetime.now()
|
taquilla = (
|
||||||
validez = current_date + relativedelta(months=3)
|
db.session.query(Taquilla)
|
||||||
validez = validez.replace(hour=23, minute=59, second=0, microsecond=0)
|
.filter(Taquilla.id == id_taquilla)
|
||||||
validez = int(validez.timestamp())
|
.first()
|
||||||
|
)
|
||||||
alquiler.validez = validez
|
|
||||||
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
usuario = (
|
usuario = (
|
||||||
db.session.query(Usuario)
|
db.session.query(Usuario)
|
||||||
@ -80,7 +77,38 @@ def renovar_alquiler(id_taquilla):
|
|||||||
.first()
|
.first()
|
||||||
)
|
)
|
||||||
|
|
||||||
return ver_alquileres(info=f"Alquiler renovado correctamente para {usuario.nombre}")
|
error = None
|
||||||
|
|
||||||
|
if request.method == "GET":
|
||||||
|
return render_template(
|
||||||
|
"renovar_taquilla.html",
|
||||||
|
nombre_usuario=usuario.nombre,
|
||||||
|
numero_taquilla=taquilla.id_taquilla,
|
||||||
|
id_taquilla=taquilla.id
|
||||||
|
)
|
||||||
|
|
||||||
|
else:
|
||||||
|
fecha_caducidad = request.form.get("fecha_caducidad")
|
||||||
|
fecha_caducidad = datetime.datetime.strptime(fecha_caducidad, "%Y-%m-%d")
|
||||||
|
current_date = datetime.datetime.now()
|
||||||
|
|
||||||
|
if not fecha_caducidad > current_date:
|
||||||
|
error = "La fecha introducida no es válida. Tiene que ser mayor que la fecha actual."
|
||||||
|
|
||||||
|
if not error:
|
||||||
|
alquiler.validez = fecha_caducidad.timestamp()
|
||||||
|
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
return ver_alquileres(info=f"Alquiler renovado correctamente para {usuario.nombre}")
|
||||||
|
|
||||||
|
else:
|
||||||
|
return render_template(
|
||||||
|
"renovar_taquilla.html",
|
||||||
|
nombre_usuario = usuario.nombre,
|
||||||
|
numero_taquilla = taquilla.id_taquilla,
|
||||||
|
info=error
|
||||||
|
)
|
||||||
|
|
||||||
@alquileres.route("/confirmar-baja/<id_taquilla>")
|
@alquileres.route("/confirmar-baja/<id_taquilla>")
|
||||||
def confirmar_baja(id_taquilla):
|
def confirmar_baja(id_taquilla):
|
||||||
|
|||||||
@ -62,19 +62,40 @@ def alquilar_taquilla(id_taquilla):
|
|||||||
)
|
)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
error = None
|
||||||
nombre = request.form.get("nombre_usuario").upper()
|
nombre = request.form.get("nombre_usuario").upper()
|
||||||
dni = request.form.get("dni_usuario").upper()
|
dni = request.form.get("dni_usuario").upper()
|
||||||
correo = request.form.get("correo_electronico")
|
correo = request.form.get("correo_electronico")
|
||||||
|
|
||||||
|
fecha_caducidad = request.form.get("fecha_caducidad")
|
||||||
agreement = request.form.get("agreement")
|
agreement = request.form.get("agreement")
|
||||||
|
|
||||||
print(nombre, dni, correo, agreement)
|
try:
|
||||||
error = None
|
fecha_caducidad = datetime.datetime.strptime(fecha_caducidad, "%Y-%m-%d")
|
||||||
|
|
||||||
|
except Exception:
|
||||||
|
error = "No se ha introducido la fecha de forma correcta."
|
||||||
|
return render_template(
|
||||||
|
"alquilar_taquilla.html",
|
||||||
|
id_taquilla=id_taquilla,
|
||||||
|
info=error
|
||||||
|
)
|
||||||
|
|
||||||
if not (dni and correo and nombre):
|
if not (dni and correo and nombre):
|
||||||
error = "Faltan datos."
|
error = "Faltan datos."
|
||||||
|
return render_template(
|
||||||
|
"alquilar_taquilla.html",
|
||||||
|
id_taquilla=id_taquilla,
|
||||||
|
info=error
|
||||||
|
)
|
||||||
|
|
||||||
if not agreement:
|
if not agreement:
|
||||||
error = "No está de acuerdo con las políticas."
|
error = "No está de acuerdo con las políticas."
|
||||||
|
return render_template(
|
||||||
|
"alquilar_taquilla.html",
|
||||||
|
id_taquilla=id_taquilla,
|
||||||
|
info=error
|
||||||
|
)
|
||||||
|
|
||||||
user = (
|
user = (
|
||||||
db.session.query(Usuario)
|
db.session.query(Usuario)
|
||||||
@ -98,6 +119,11 @@ def alquilar_taquilla(id_taquilla):
|
|||||||
|
|
||||||
if alquiler_user:
|
if alquiler_user:
|
||||||
error = "Usuario ya tiene una taquilla alquilada. Debe renovar o dar de baja el alquiler."
|
error = "Usuario ya tiene una taquilla alquilada. Debe renovar o dar de baja el alquiler."
|
||||||
|
return render_template(
|
||||||
|
"alquilar_taquilla.html",
|
||||||
|
id_taquilla=id_taquilla,
|
||||||
|
info=error
|
||||||
|
)
|
||||||
|
|
||||||
taquilla = (
|
taquilla = (
|
||||||
db.session.query(Taquilla)
|
db.session.query(Taquilla)
|
||||||
@ -107,32 +133,35 @@ def alquilar_taquilla(id_taquilla):
|
|||||||
|
|
||||||
if not taquilla:
|
if not taquilla:
|
||||||
error = "La taquilla en cuestión no existe"
|
error = "La taquilla en cuestión no existe"
|
||||||
|
|
||||||
if not error:
|
|
||||||
alquiler_user = Alquiler()
|
|
||||||
alquiler_user.id_usuario = user.id
|
|
||||||
alquiler_user.id_taquilla = taquilla.id
|
|
||||||
|
|
||||||
current_date = datetime.datetime.now()
|
|
||||||
validez = current_date + relativedelta(months=3)
|
|
||||||
validez = validez.replace(hour=23, minute=59, second=0, microsecond=0)
|
|
||||||
|
|
||||||
alquiler_user.validez = int(validez.timestamp())
|
|
||||||
|
|
||||||
db.session.add(alquiler_user)
|
|
||||||
|
|
||||||
db.session.commit()
|
|
||||||
|
|
||||||
return render_template(
|
|
||||||
"pagina_principal.html",
|
|
||||||
info=f"¡La taquilla {id_taquilla} ha sido alquilada a {nombre}!"
|
|
||||||
)
|
|
||||||
|
|
||||||
else:
|
|
||||||
print(error)
|
|
||||||
return render_template(
|
return render_template(
|
||||||
"alquilar_taquilla.html",
|
"alquilar_taquilla.html",
|
||||||
id_taquilla=id_taquilla,
|
id_taquilla=id_taquilla,
|
||||||
info=error
|
info=error
|
||||||
)
|
)
|
||||||
|
|
||||||
|
current_date = datetime.datetime.now()
|
||||||
|
|
||||||
|
if not fecha_caducidad > current_date:
|
||||||
|
error = "La fecha introducida no es válida. Tiene que ser mayor que la fecha actual."
|
||||||
|
return render_template(
|
||||||
|
"alquilar_taquilla.html",
|
||||||
|
id_taquilla=id_taquilla,
|
||||||
|
info=error
|
||||||
|
)
|
||||||
|
|
||||||
|
alquiler_user = Alquiler()
|
||||||
|
alquiler_user.id_usuario = user.id
|
||||||
|
alquiler_user.id_taquilla = taquilla.id
|
||||||
|
alquiler_user.validez = int(fecha_caducidad.timestamp())
|
||||||
|
|
||||||
|
db.session.add(alquiler_user)
|
||||||
|
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
|
return render_template(
|
||||||
|
"pagina_principal.html",
|
||||||
|
info=f"¡La taquilla {id_taquilla} ha sido alquilada a {nombre}!"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -9,12 +9,6 @@ Alquilar taquilla
|
|||||||
|
|
||||||
<div class="form-content">
|
<div class="form-content">
|
||||||
<form method="post" action="/alquilar/{{ id_taquilla }}" class="form">
|
<form method="post" action="/alquilar/{{ id_taquilla }}" class="form">
|
||||||
{% if error %}
|
|
||||||
<div class="error-message">
|
|
||||||
{{ error }}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<div class="form-element">
|
<div class="form-element">
|
||||||
<label for="id_taquilla">Numero de la Taquilla</label>
|
<label for="id_taquilla">Numero de la Taquilla</label>
|
||||||
<input type="text" name="id_taquilla" id="id_taquilla" placeholder="Número de la taquilla" value="{{ id_taquilla }}" disabled>
|
<input type="text" name="id_taquilla" id="id_taquilla" placeholder="Número de la taquilla" value="{{ id_taquilla }}" disabled>
|
||||||
@ -34,6 +28,11 @@ Alquilar taquilla
|
|||||||
<label for="correo_electronico">Correo electrónico</label>
|
<label for="correo_electronico">Correo electrónico</label>
|
||||||
<input type="text" name="correo_electronico" id="correo_electronico" placeholder="Correo electrónico">
|
<input type="text" name="correo_electronico" id="correo_electronico" placeholder="Correo electrónico">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-element">
|
||||||
|
<label for="fecha_caducidad">Fecha de caducidad</label>
|
||||||
|
<input type="date" name="fecha_caducidad" id="fecha_caducidad">
|
||||||
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<input type="checkbox" id="agreement" name="agreement">
|
<input type="checkbox" id="agreement" name="agreement">
|
||||||
|
|||||||
32
templates/renovar_taquilla.html
Normal file
32
templates/renovar_taquilla.html
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
{% extends "base.html" %}
|
||||||
|
|
||||||
|
{% block title %}
|
||||||
|
Alquilar taquilla
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="content">
|
||||||
|
<div class="form-content">
|
||||||
|
<form method="post" action="/renovar/{{ id_taquilla }}" class="form">
|
||||||
|
<div class="form-element">
|
||||||
|
<p>Renovando la taquilla {{ numero_taquilla }}</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-element">
|
||||||
|
<label for="nombre_usuario">Nombre completo</label>
|
||||||
|
<input type="text" name="nombre_usuario" id="nombre_usuario" placeholder="Nombre completo" value="{{ nombre_usuario }}" disabled>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-element">
|
||||||
|
<label for="fecha_caducidad">Fecha de caducidad</label>
|
||||||
|
<input type="date" name="fecha_caducidad" id="fecha_caducidad">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="form-submit">
|
||||||
|
<button onclick="history.back()" class="button">Atrás</button>
|
||||||
|
<input type="submit" class="button" value="Renovar">
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{% endblock %}
|
||||||
Loading…
x
Reference in New Issue
Block a user