Event timeline: add direct links, payment provider availability (Z#23195903) (#5209)

* link directly to tabs/fields
* add missing payment provider availability_start dates
This commit is contained in:
luelista
2025-06-05 12:59:26 +02:00
committed by GitHub
parent 6aa3747403
commit 87fb3d2df8

View File

@@ -58,7 +58,7 @@ def timeline_for_event(event, subevent=None):
event=event, subevent=subevent, event=event, subevent=subevent,
datetime=ev.date_from, datetime=ev.date_from,
description=pgettext_lazy('timeline', 'Your event starts'), description=pgettext_lazy('timeline', 'Your event starts'),
edit_url=ev_edit_url edit_url=ev_edit_url + '#id_date_from_0'
)) ))
if ev.date_to: if ev.date_to:
@@ -66,7 +66,7 @@ def timeline_for_event(event, subevent=None):
event=event, subevent=subevent, event=event, subevent=subevent,
datetime=ev.date_to, datetime=ev.date_to,
description=pgettext_lazy('timeline', 'Your event ends'), description=pgettext_lazy('timeline', 'Your event ends'),
edit_url=ev_edit_url edit_url=ev_edit_url + '#id_date_to_0'
)) ))
if ev.date_admission: if ev.date_admission:
@@ -74,7 +74,7 @@ def timeline_for_event(event, subevent=None):
event=event, subevent=subevent, event=event, subevent=subevent,
datetime=ev.date_admission, datetime=ev.date_admission,
description=pgettext_lazy('timeline', 'Admissions for your event start'), description=pgettext_lazy('timeline', 'Admissions for your event start'),
edit_url=ev_edit_url edit_url=ev_edit_url + '#id_date_admission_0'
)) ))
if ev.presale_start: if ev.presale_start:
@@ -82,7 +82,7 @@ def timeline_for_event(event, subevent=None):
event=event, subevent=subevent, event=event, subevent=subevent,
datetime=ev.presale_start, datetime=ev.presale_start,
description=pgettext_lazy('timeline', 'Start of ticket sales'), description=pgettext_lazy('timeline', 'Start of ticket sales'),
edit_url=ev_edit_url edit_url=ev_edit_url + '#id_presale_start_0'
)) ))
tl.append(TimelineEvent( tl.append(TimelineEvent(
@@ -95,7 +95,7 @@ def timeline_for_event(event, subevent=None):
pgettext_lazy('timeline', 'End of ticket sales'), pgettext_lazy('timeline', 'End of ticket sales'),
pgettext_lazy('timeline', 'automatically because the event is over and no end of presale has been configured') if not ev.presale_end else "" pgettext_lazy('timeline', 'automatically because the event is over and no end of presale has been configured') if not ev.presale_end else ""
), ),
edit_url=ev_edit_url edit_url=ev_edit_url + '#id_presale_end_0'
)) ))
rd = event.settings.get('last_order_modification_date', as_type=RelativeDateWrapper) rd = event.settings.get('last_order_modification_date', as_type=RelativeDateWrapper)
@@ -104,7 +104,7 @@ def timeline_for_event(event, subevent=None):
event=event, subevent=subevent, event=event, subevent=subevent,
datetime=rd.datetime(ev), datetime=rd.datetime(ev),
description=pgettext_lazy('timeline', 'Customers can no longer modify their order information'), description=pgettext_lazy('timeline', 'Customers can no longer modify their order information'),
edit_url=ev_edit_url edit_url=ev_edit_url + '#id_settings-last_order_modification_date_0_0'
)) ))
rd = event.settings.get('payment_term_last', as_type=RelativeDateWrapper) rd = event.settings.get('payment_term_last', as_type=RelativeDateWrapper)
@@ -281,7 +281,7 @@ def timeline_for_event(event, subevent=None):
'event': event.slug, 'event': event.slug,
'organizer': event.organizer.slug, 'organizer': event.organizer.slug,
'item': p.pk, 'item': p.pk,
}) }) + '#id_available_from_0'
)) ))
if p.available_until: if p.available_until:
tl.append(TimelineEvent( tl.append(TimelineEvent(
@@ -292,7 +292,7 @@ def timeline_for_event(event, subevent=None):
'event': event.slug, 'event': event.slug,
'organizer': event.organizer.slug, 'organizer': event.organizer.slug,
'item': p.pk, 'item': p.pk,
}) }) + '#id_available_until_0'
)) ))
for v in ItemVariation.objects.filter( for v in ItemVariation.objects.filter(
@@ -311,7 +311,7 @@ def timeline_for_event(event, subevent=None):
'event': event.slug, 'event': event.slug,
'organizer': event.organizer.slug, 'organizer': event.organizer.slug,
'item': v.item.pk, 'item': v.item.pk,
}) }) + '#tab-0-3-open'
)) ))
if v.available_until: if v.available_until:
tl.append(TimelineEvent( tl.append(TimelineEvent(
@@ -325,7 +325,7 @@ def timeline_for_event(event, subevent=None):
'event': event.slug, 'event': event.slug,
'organizer': event.organizer.slug, 'organizer': event.organizer.slug,
'item': v.item.pk, 'item': v.item.pk,
}) }) + '#tab-0-3-open'
)) ))
pprovs = event.get_payment_providers() pprovs = event.get_payment_providers()
@@ -339,6 +339,24 @@ def timeline_for_event(event, subevent=None):
continue continue
except: except:
pass pass
availability_start = pprov.settings.get('_availability_start', as_type=RelativeDateWrapper)
if availability_start:
d = make_aware(datetime.combine(
availability_start.date(ev),
time(hour=0, minute=0, second=0)
), event.timezone)
tl.append(TimelineEvent(
event=event, subevent=subevent,
datetime=d,
description=pgettext_lazy('timeline', 'Payment provider "{name}" becomes active').format(
name=str(pprov.verbose_name)
),
edit_url=reverse('control:event.settings.payment.provider', kwargs={
'event': event.slug,
'organizer': event.organizer.slug,
'provider': pprov.identifier,
})
))
availability_date = pprov.settings.get('_availability_date', as_type=RelativeDateWrapper) availability_date = pprov.settings.get('_availability_date', as_type=RelativeDateWrapper)
if availability_date: if availability_date:
d = make_aware(datetime.combine( d = make_aware(datetime.combine(