Browse Source

Cambios estéticos

politica
Celestino Rey 1 year ago
parent
commit
c8706279e7
2 changed files with 48 additions and 31 deletions
  1. +0
    -2
      Padel/padel/paginas.py
  2. +48
    -29
      Padel/padel/reservas.py

+ 0
- 2
Padel/padel/paginas.py View File

@ -17,8 +17,6 @@ app.config['MAIL_PASSWORD'] = 'kbryvwxkockqckss'
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True
mail = Mail(app)
#mail.init_app(app)
@bp.route("/")
def inicio():


+ 48
- 29
Padel/padel/reservas.py View File

@ -1,44 +1,41 @@
from flask import Blueprint, render_template, request, redirect, url_for
from flask import Flask, Blueprint, render_template, request, redirect, url_for
from datetime import date, timedelta
from padel.basededatos import get_db
from flask_login import login_required, current_user
from flask_mail import Mail, Message
bp = Blueprint("reservas", __name__)
# Parámetros para el envío de correos
app = Flask(__name__)
app.config['MAIL_SERVER']= 'smtp.mail.yahoo.com'
app.config['MAIL_PORT'] = 465
app.config['MAIL_USERNAME'] = 'celestino_rey@ymail.com'
app.config['MAIL_PASSWORD'] = 'kbryvwxkockqckss'
app.config['MAIL_USE_TLS'] = False
app.config['MAIL_USE_SSL'] = True
mail = Mail(app)
# Ruta para mostrar las reservas del usuario.
@bp.route("/misreservas")
@login_required
def misreservas():
db = get_db()
hoy = date.today()
manana = hoy + timedelta(days=1)
pasado = hoy + timedelta(days=2)
reservas = db.execute(
# "SELECT id, nombre, fecha, hora FROM reservas WHERE fecha>=? AND fecha<=? ORDER BY fecha DESC", (hoy,pasado)
"SELECT id, nombre, fecha, hora FROM reservas WHERE nombre=? ORDER BY fecha DESC", (current_user.name,)
).fetchall()
return render_template("reservas/misreservas.html", reservas=reservas, name=current_user.name)
@bp.route("/inserta/<diaelegido>", methods=['GET', 'POST'])
@login_required
def inserta(diaelegido):
if request.method == "POST":
fecha = diaelegido
hora = request.form["hora"]
db = get_db()
db.execute(
"INSERT INTO reservas (nombre, fecha, hora) VALUES (?, ?, ?)", (current_user.name, fecha, hora),
)
db.commit()
return redirect(url_for("reservas.misreservas"))
# ruta para mostrar la tabla del día en concreto con todas las horas
# las horas no usadas aparecen con el botón "Reservar" y las horas reservadas por el usuario
# aparecen con el botón "Eliminar"
@bp.route("/reservar/<diaelegido>")
@login_required
@ -46,20 +43,14 @@ def reservar(diaelegido):
db = get_db()
hoy = date.today()
manana = hoy + timedelta(days=1)
pasado = hoy + timedelta(days=2)
reservas = db.execute(
"SELECT id, nombre, fecha, hora FROM reservas WHERE fecha=? ORDER BY fecha DESC", (diaelegido,)
).fetchall()
for fila in reservas:
print("Fecha ", fila["fecha"] , ". Hora: ", fila["hora"])
return render_template("reservas/reservar.html", diaelegido=diaelegido, name=current_user.name, reservas=reservas)
# Ruta para eliminar una reserva
#
@bp.route('/eliminar_reserva/<int:id>', methods=['POST'])
@login_required
def eliminar_reserva(id):
@ -72,6 +63,8 @@ def eliminar_reserva(id):
return redirect(url_for('reservas.misreservas'))
# ruta para actualizar la reserva. Actualiza porque en la bd están todas las horas de un día
# y lo que se hace es simplemente colocar el nombre del usuario en la hora elegida
@bp.route('/actualizar_reserva/<int:id>', methods=['POST'])
@login_required
@ -82,9 +75,26 @@ def actualizar_reserva(id):
"UPDATE reservas SET nombre=? WHERE id=?", (current_user.name, id,)
)
db.commit()
print("Buscando correo del usuario '",current_user.name.strip()
,"'")
usuario = db.execute(
"SELECT email FROM usuarios WHERE nombre=?", (current_user.name,)
)
for fila in usuario:
print("Correo del usuario: ",fila["email"])
msg = Message('Reserva de pista de padel confirmada', sender='celestino_rey@ymail.com', recipients=['king.bernard.b@gmail.com'])
msg.body = "Hola, te confirmo que has reservado la pista de Devesa Park"
mail.send(msg)
return redirect(url_for('reservas.misreservas'))
# Ruta para elegir el día en el que se va a efectuar la reserva
# Se ofrece el día actual y los dos siguientes.
# si el día que se elige no está en la base de datos, se crean los registros de todas las horas para ese día.
@bp.route("/eligedia", methods=['GET', 'POST'])
@login_required
@ -92,11 +102,21 @@ def eligedia():
hoy = date.today()
manana = hoy + timedelta(days=1)
pasado = hoy + timedelta(days=2)
ayer = hoy - timedelta(days=1)
print("Ayer fue: ", ayer)
print("Hoy es: ", hoy)
print("Mañana será: ", manana)
print("Pasado será: ", pasado)
# borra los registros del día anterior al de hoy
db = get_db()
db.execute(
"DELETE FROM reservas WHERE fecha=?", (ayer,)
)
db.commit()
if request.method == "POST":
diaelegido = request.form['dias']
@ -128,7 +148,6 @@ def eligedia():
db.commit()
print("eligedia: horashoy: ", horashoy)
return redirect(url_for("reservas.reservar",diaelegido=diaelegido))
return render_template("reservas/eligedia.html",hoy=hoy,manana=manana,pasado=pasado)

Loading…
Cancel
Save