Converted views

This commit is contained in:
Ben Arc
2021-08-21 01:55:07 +01:00
parent d3d24abb17
commit bbdb96f4ac
21 changed files with 177 additions and 112 deletions
+32 -25
View File
@@ -6,46 +6,51 @@ from lnbits.decorators import check_user_exists, validate_uuids
from . import events_ext
from .crud import get_ticket, get_event
from fastapi import FastAPI, Request
from fastapi.templating import Jinja2Templates
templates = Jinja2Templates(directory="templates")
@events_ext.route("/")
@validate_uuids(["usr"], required=True)
@check_user_exists()
async def index():
return await render_template("events/index.html", user=g.user)
async def index(request: Request):
return templates.TemplateResponse("events/index.html", {"user":g.user})
@events_ext.route("/<event_id>")
async def display(event_id):
async def display(request: Request, event_id):
event = await get_event(event_id)
if not event:
abort(HTTPStatus.NOT_FOUND, "Event does not exist.")
if event.amount_tickets < 1:
return await render_template(
return await templates.TemplateResponse(
"events/error.html",
event_name=event.name,
event_error="Sorry, tickets are sold out :(",
{"request":request,
"event_name":event.name,
"event_error":"Sorry, tickets are sold out :("}
)
datetime_object = datetime.strptime(event.closing_date, "%Y-%m-%d").date()
if date.today() > datetime_object:
return await render_template(
return await templates.TemplateResponse(
"events/error.html",
event_name=event.name,
event_error="Sorry, ticket closing date has passed :(",
{"request":request,
"event_name":event.name,
"event_error":"Sorry, ticket closing date has passed :("}
)
return await render_template(
return await templates.TemplateResponse(
"events/display.html",
event_id=event_id,
event_name=event.name,
event_info=event.info,
event_price=event.price_per_ticket,
{"request":request,
"event_id":event_id,
"event_name":event.name,
"event_info":event.info,
"event_price":event.price_per_ticket}
)
@events_ext.route("/ticket/<ticket_id>")
async def ticket(ticket_id):
async def ticket(request: Request, ticket_id):
ticket = await get_ticket(ticket_id)
if not ticket:
abort(HTTPStatus.NOT_FOUND, "Ticket does not exist.")
@@ -54,23 +59,25 @@ async def ticket(ticket_id):
if not event:
abort(HTTPStatus.NOT_FOUND, "Event does not exist.")
return await render_template(
return await templates.TemplateResponse(
"events/ticket.html",
ticket_id=ticket_id,
ticket_name=event.name,
ticket_info=event.info,
{"request":request,
"ticket_id":ticket_id,
"ticket_name":event.name,
"ticket_info":event.info}
)
@events_ext.route("/register/<event_id>")
async def register(event_id):
async def register(request: Request, event_id):
event = await get_event(event_id)
if not event:
abort(HTTPStatus.NOT_FOUND, "Event does not exist.")
return await render_template(
return await templates.TemplateResponse(
"events/register.html",
event_id=event_id,
event_name=event.name,
wallet_id=event.wallet,
{"request":request,
"event_id":event_id,
"event_name":event.name,
"wallet_id":event.wallet}
)