diff --git a/lnbits/extensions/lnticket/crud.py b/lnbits/extensions/lnticket/crud.py index b940e090..94eae7aa 100644 --- a/lnbits/extensions/lnticket/crud.py +++ b/lnbits/extensions/lnticket/crud.py @@ -4,7 +4,7 @@ from lnbits.helpers import urlsafe_short_hash from . import db from .models import Tickets, Forms - +import httpx async def create_ticket( payment_hash: str, @@ -52,10 +52,25 @@ async def set_ticket_paid(payment_hash: str) -> Tickets: """, (amount, row[1]), ) - + + ticket = await get_ticket(payment_hash) + async with httpx.AsyncClient() as client: + try: + r = await client.post( + formdata.webhook, + json={ + "form": ticket.form, + "name": ticket.name, + "email": ticket.email, + "comment": ticket.ltext + }, + timeout=40, + ) + except AssertionError: + webhook = None + return ticket ticket = await get_ticket(payment_hash) - assert ticket, "Newly updated ticket couldn't be retrieved" - return ticket + return async def get_ticket(ticket_id: str) -> Optional[Tickets]: diff --git a/lnbits/extensions/lnticket/templates/lnticket/display.html b/lnbits/extensions/lnticket/templates/lnticket/display.html index 100e105b..e56954b1 100644 --- a/lnbits/extensions/lnticket/templates/lnticket/display.html +++ b/lnbits/extensions/lnticket/templates/lnticket/display.html @@ -164,29 +164,30 @@ .get('/lnticket/api/v1/tickets/' + self.paymentCheck) .then(function (res) { if (res.data.paid) { - self.$q.notify({ - type: 'positive', - message: 'Sent, thank you!', - icon: null - }) + clearInterval(paymentChecker) self.receive = { show: false, status: 'complete', paymentReq: null } - clearInterval(paymentChecker) dismissMsg() + + self.formDialog.data.name = '' self.formDialog.data.email = '' self.formDialog.data.text = '' + self.$q.notify({ + type: 'positive', + message: 'Sent, thank you!', + icon: 'thumb_up', + }) + } }) .catch(function (error) { LNbits.utils.notifyApiError(error) }) }, 2000) - - }) .catch(function (error) { LNbits.utils.notifyApiError(error) diff --git a/lnbits/extensions/lnticket/views_api.py b/lnbits/extensions/lnticket/views_api.py index 4af73b08..d22a3eb6 100644 --- a/lnbits/extensions/lnticket/views_api.py +++ b/lnbits/extensions/lnticket/views_api.py @@ -139,7 +139,7 @@ async def api_ticket_send_ticket(payment_hash): payment = await wallet.get_payment(payment_hash) await payment.set_pending(False) ticket = await set_ticket_paid(payment_hash=payment_hash) - return jsonify({"paid": True, "ticket_id": ticket.id}), HTTPStatus.OK + return jsonify({"paid": True}), HTTPStatus.OK return jsonify({"paid": False}), HTTPStatus.OK diff --git a/lnbits/extensions/lnurlp/templates/lnurlp/index.html b/lnbits/extensions/lnurlp/templates/lnurlp/index.html index 5d096716..79c44a50 100644 --- a/lnbits/extensions/lnurlp/templates/lnurlp/index.html +++ b/lnbits/extensions/lnurlp/templates/lnurlp/index.html @@ -205,7 +205,7 @@ v-model="formDialog.data.webhook_url" type="text" label="Webhook URL (optional)" - hint="An URL to be called whenever this link receives a payment." + hint="A URL to be called whenever this link receives a payment." >