Skip to content

Commit 4f5fe80

Browse files
authored
Merge pull request #25 from lnbits/add_image_banner
allow for an image banner
2 parents 07d2f59 + 38951a7 commit 4f5fe80

File tree

6 files changed

+27
-6
lines changed

6 files changed

+27
-6
lines changed

crud.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,14 +106,15 @@ async def create_event(data: CreateEvent) -> Event:
106106
event_id = urlsafe_short_hash()
107107
await db.execute(
108108
"""
109-
INSERT INTO events.events (id, wallet, name, info, closing_date, event_start_date, event_end_date, currency, amount_tickets, price_per_ticket, sold)
110-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
109+
INSERT INTO events.events (id, wallet, name, info, banner, closing_date, event_start_date, event_end_date, currency, amount_tickets, price_per_ticket, sold)
110+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
111111
""",
112112
(
113113
event_id,
114114
data.wallet,
115115
data.name,
116116
data.info,
117+
data.banner,
117118
data.closing_date,
118119
data.event_start_date,
119120
data.event_end_date,

migrations.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -153,3 +153,10 @@ async def m004_add_currency(db):
153153
)
154154

155155
await db.execute("DROP TABLE events.events_old")
156+
157+
158+
async def m005_add_image_banner(db):
159+
"""
160+
Add a column to allow an image banner for the event
161+
"""
162+
await db.execute("ALTER TABLE events.events ADD COLUMN banner TEXT;")

models.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ class CreateEvent(BaseModel):
77
wallet: str
88
name: str
99
info: str
10+
banner: Optional[str]
1011
closing_date: str
1112
event_start_date: str
1213
event_end_date: str
@@ -25,6 +26,7 @@ class Event(BaseModel):
2526
wallet: str
2627
name: str
2728
info: str
29+
banner: Optional[str]
2830
closing_date: str
2931
event_start_date: str
3032
event_end_date: str

templates/events/display.html

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
{% extends "public.html" %} {% block page %}
22
<div class="row q-col-gutter-md justify-center">
33
<div class="col-12 col-md-7 col-lg-6 q-gutter-y-md">
4-
<q-card class="q-pa-lg">
4+
<q-card>
5+
<q-img v-if="banner" :src="banner" transition="slide-up"></q-img>
56
<q-card-section class="q-pa-none">
6-
<h3 class="q-my-none">{{ event_name }}</h3>
7+
<h3 class="q-my-none q-pa-lg">{{ event_name }}</h3>
78
<br />
89
<div v-html="formatDescription"></div>
910
<br />
@@ -125,6 +126,7 @@ <h5 class="q-mt-none">Buy Ticket</h5>
125126
async created() {
126127
this.info = '{{ event_info | tojson }}'
127128
this.info = this.info.substring(1, this.info.length - 1)
129+
this.banner = JSON.parse('{{ event_banner | tojson |safe }}')
128130
await this.purgeUnpaidTickets()
129131
},
130132
computed: {

templates/events/index.html

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,15 @@ <h6 class="text-subtitle1 q-my-none">
209209
label="Info about the event"
210210
hint="Markdown supported"
211211
></q-input>
212-
<div class="row">
212+
<q-input
213+
filled
214+
dense
215+
v-model.trim="formDialog.data.banner"
216+
type="url"
217+
label="Image URL"
218+
hint="Optional banner image to display on the event page"
219+
></q-input>
220+
<div class="row q-mt-lg">
213221
<div class="col-4">Ticket closing date</div>
214222
<div class="col-8">
215223
<q-input
@@ -334,6 +342,7 @@ <h6 class="text-subtitle1 q-my-none">
334342
{name: 'id', align: 'left', label: 'ID', field: 'id'},
335343
{name: 'name', align: 'left', label: 'Name', field: 'name'},
336344
{name: 'info', align: 'left', label: 'Info', field: 'info'},
345+
{name: 'banner', align: 'left', label: 'Banner', field: 'banner'},
337346
{
338347
name: 'event_start_date',
339348
align: 'left',
@@ -449,7 +458,6 @@ <h6 class="text-subtitle1 q-my-none">
449458
exportticketsCSV: function () {
450459
LNbits.utils.exportCSV(this.ticketsTable.columns, this.tickets)
451460
},
452-
453461
getEvents: function () {
454462
var self = this
455463

views.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ async def display(request: Request, event_id):
5858
"event_name": event.name,
5959
"event_info": event.info,
6060
"event_price": event.price_per_ticket,
61+
"event_banner": event.banner,
6162
},
6263
)
6364

0 commit comments

Comments
 (0)