From 76510b78925899adb4b67fd00ab7dfd45b85931f Mon Sep 17 00:00:00 2001 From: benarc Date: Sun, 10 May 2020 18:10:45 +0100 Subject: [PATCH] Events extension mostly functional Can register attendees via camera --- lnbits/extensions/events/crud.py | 9 +++ .../events/templates/events/register.html | 57 +++++++++++++++---- .../events/templates/events/ticket.html | 3 +- lnbits/extensions/events/views_api.py | 7 ++- .../{config.json.example => config.json} | 0 5 files changed, 63 insertions(+), 13 deletions(-) rename lnbits/extensions/lnticket/{config.json.example => config.json} (100%) diff --git a/lnbits/extensions/events/crud.py b/lnbits/extensions/events/crud.py index d0a23d89..6c8503bd 100644 --- a/lnbits/extensions/events/crud.py +++ b/lnbits/extensions/events/crud.py @@ -113,4 +113,13 @@ def get_event_tickets(event_id: str, wallet_id: str) -> Tickets: rows = db.fetchall("SELECT * FROM tickets WHERE wallet = ? AND event = ?", (wallet_id, event_id)) print(rows) + return [Tickets(**row) for row in rows] + +def reg_ticket(ticket_id: str) -> Tickets: + with open_ext_db("events") as db: + db.execute("UPDATE tickets SET registered = ? WHERE id = ?", (True, ticket_id)) + ticket = db.fetchone("SELECT * FROM tickets WHERE id = ?", (ticket_id,)) + print(ticket[2]) + rows = db.fetchall("SELECT * FROM tickets WHERE event = ?", (ticket[2],)) + return [Tickets(**row) for row in rows] \ No newline at end of file diff --git a/lnbits/extensions/events/templates/events/register.html b/lnbits/extensions/events/templates/events/register.html index 42e776d8..e64e4624 100644 --- a/lnbits/extensions/events/templates/events/register.html +++ b/lnbits/extensions/events/templates/events/register.html @@ -1,4 +1,5 @@ {% extends "public.html" %} {% block page %} +
@@ -60,6 +61,22 @@
+ + + +
+ +
+
+ Cancel +
+
+
{% endblock %} {% block styles %} {% endblock %} {% block scripts %} +{% assets filters='rjsmin', output='__bundle__/core/chart.js', +'vendor/moment@2.25.1/moment.min.js', 'vendor/chart.js@2.9.3/chart.min.js' %} + +{% endassets %} {% assets filters='rjsmin', output='__bundle__/core/wallet.js', +'vendor/bolt11/utils.js', 'vendor/bolt11/decoder.js', +'vendor/vue-qrcode-reader@2.2.0/vue-qrcode-reader.min.js' %} + +{% endassets %} + -{% assets filters='rjsmin', output='__bundle__/core/chart.js', -'vendor/moment@2.25.1/moment.min.js', 'vendor/chart.js@2.9.3/chart.min.js' %} - -{% endassets %} {% assets filters='rjsmin', output='__bundle__/core/wallet.js', -'vendor/bolt11/utils.js', 'vendor/bolt11/decoder.js', -'vendor/vue-qrcode-reader@2.2.0/vue-qrcode-reader.min.js' %} - -{% endassets %} {% endblock %} +{% endblock %} diff --git a/lnbits/extensions/events/templates/events/ticket.html b/lnbits/extensions/events/templates/events/ticket.html index 48ca6b46..c6d0a148 100644 --- a/lnbits/extensions/events/templates/events/ticket.html +++ b/lnbits/extensions/events/templates/events/ticket.html @@ -11,8 +11,9 @@ and present it for registration!
+ diff --git a/lnbits/extensions/events/views_api.py b/lnbits/extensions/events/views_api.py index 4589ae30..8a856df1 100644 --- a/lnbits/extensions/events/views_api.py +++ b/lnbits/extensions/events/views_api.py @@ -7,7 +7,7 @@ from lnbits.decorators import api_check_wallet_key, api_validate_post_request from lnbits.settings import WALLET from lnbits.extensions.events import events_ext -from .crud import create_ticket, get_ticket, get_tickets, delete_ticket, create_event, update_event, get_event, get_events, delete_event, get_event_tickets +from .crud import create_ticket, get_ticket, get_tickets, delete_ticket, create_event, update_event, get_event, get_events, delete_event, get_event_tickets, reg_ticket #########Events########## @@ -153,3 +153,8 @@ def api_event_tickets(wallet_id, event_id): return jsonify([ticket._asdict() for ticket in get_event_tickets(wallet_id=wallet_id, event_id=event_id)]), HTTPStatus.OK +@events_ext.route("/api/v1/register/ticket/", methods=["GET"]) +def api_event_register_ticket(ticket_id): + + return jsonify([ticket._asdict() for ticket in reg_ticket(ticket_id)]), HTTPStatus.OK + diff --git a/lnbits/extensions/lnticket/config.json.example b/lnbits/extensions/lnticket/config.json similarity index 100% rename from lnbits/extensions/lnticket/config.json.example rename to lnbits/extensions/lnticket/config.json