diff --git a/src/pretix/presale/templates/pretixpresale/base.html b/src/pretix/presale/templates/pretixpresale/base.html index 985ac0d75f..dabd4c171b 100644 --- a/src/pretix/presale/templates/pretixpresale/base.html +++ b/src/pretix/presale/templates/pretixpresale/base.html @@ -46,14 +46,19 @@ {{ html_page_header|safe }} +
{% block above %} {% endblock %} +
{% block page %} {% endblock %}
{% include "pretixpresale/fragment_modals.html" %} diff --git a/src/pretix/presale/templates/pretixpresale/event/base.html b/src/pretix/presale/templates/pretixpresale/event/base.html index bb575d18cc..f3882f02ed 100644 --- a/src/pretix/presale/templates/pretixpresale/event/base.html +++ b/src/pretix/presale/templates/pretixpresale/event/base.html @@ -6,6 +6,9 @@ {% load safelink %} {% load rich_text %} {% block thetitle %} + {% if messages %} + {{ messages|join:" " }} :: + {% endif %} {% block title %}{% endblock %}{% if request.resolver_match.url_name != "event.index" %} :: {% endif %}{{ event.name }} {% endblock %} {% block custom_header %} @@ -22,7 +25,7 @@ {% if not event.live %}
- + {% trans "This shop is currently only visible to you and your team." %} {% trans "Take it live now" %} @@ -34,12 +37,12 @@ {% if event.settings.locales|length > 1 %} {% if event.settings.theme_color_background|upper != "#FFFFFF" or event.settings.logo_image_large %} {% endif %} {% endif %} @@ -80,12 +83,12 @@ {% if event.settings.locales|length > 1 %} {% if event.settings.theme_color_background|upper == "#FFFFFF" and not event.settings.logo_image_large %} {% endif %} {% endif %} @@ -120,6 +123,8 @@ {% endif %} {% block content %} {% endblock %} +{% endblock %} +{% block footer %} {% if request.event.settings.banner_text_bottom %}
{{ request.event.settings.banner_text_bottom|rich_text }} @@ -141,7 +146,7 @@ {% endif %} {% endif %} {% endblock %} -{% block footer %} +{% block footernav %} {% if request.event.settings.contact_mail %} {% trans "Contact event organizer" %} · {% endif %} diff --git a/src/pretix/presale/templates/pretixpresale/event/checkout_addons.html b/src/pretix/presale/templates/pretixpresale/event/checkout_addons.html index 40fd521cc6..dfb2bc3dc1 100644 --- a/src/pretix/presale/templates/pretixpresale/event/checkout_addons.html +++ b/src/pretix/presale/templates/pretixpresale/event/checkout_addons.html @@ -20,17 +20,17 @@ {{ form.item.name }}{% if form.variation %} – {{ form.variation }} {% endif %} - +
{% if form.cartpos.subevent %}

- + {{ form.cartpos.subevent.name }} · {{ form.cartpos.subevent.get_date_range_display }} {% if form.cartpos.event.settings.show_times %} - + {{ form.cartpos.subevent.date_from|date:"TIME_FORMAT" }} {% endif %}

diff --git a/src/pretix/presale/templates/pretixpresale/event/checkout_base.html b/src/pretix/presale/templates/pretixpresale/event/checkout_base.html index 4b785a9acd..2429deec6e 100644 --- a/src/pretix/presale/templates/pretixpresale/event/checkout_base.html +++ b/src/pretix/presale/templates/pretixpresale/event/checkout_base.html @@ -1,13 +1,23 @@ {% extends "pretixpresale/event/base.html" %} {% load i18n %} {% load bootstrap3 %} -{% block title %}{% trans "Checkout" %}{% endblock %} +{% block title %} + {% for step in checkout_flow %} + {% if request.resolver_match.kwargs.step == step.identifier %} + {% blocktrans trimmed with label=step.label current=forloop.counter total=checkout_flow|length %} + Step {{ current }} of {{ total }}: {{ label }} + {% endblocktrans %} – + {% endif %} + {% endfor %} + {% trans "Checkout" %} +{% endblock %} {% block content %} + +

{% trans "Checkout" %}

{% include "pretixpresale/event/fragment_checkoutflow.html" %} {% block inner %} {% endblock %} +
{% endblock %} diff --git a/src/pretix/presale/templates/pretixpresale/event/checkout_confirm.html b/src/pretix/presale/templates/pretixpresale/event/checkout_confirm.html index 810f848fb0..e42b5c7c14 100644 --- a/src/pretix/presale/templates/pretixpresale/event/checkout_confirm.html +++ b/src/pretix/presale/templates/pretixpresale/event/checkout_confirm.html @@ -5,6 +5,7 @@ {% load eventsignal %} {% block title %}{% trans "Review order" %}{% endblock %} {% block content %} +

{% trans "Review order" %}

{% include "pretixpresale/event/fragment_checkoutflow.html" %}

{% trans "Please review the details below and confirm your order." %}

@@ -23,13 +24,13 @@ - + {% trans "Add or remove tickets" %}

- + {% trans "Your cart" %}

@@ -57,7 +58,7 @@ {% if payment_provider.identifier != "free" %} @@ -79,7 +80,7 @@
@@ -129,7 +130,7 @@
@@ -203,4 +204,5 @@
+ {% endblock %} diff --git a/src/pretix/presale/templates/pretixpresale/event/checkout_questions.html b/src/pretix/presale/templates/pretixpresale/event/checkout_questions.html index 6288a1d0fc..e88d0d6321 100644 --- a/src/pretix/presale/templates/pretixpresale/event/checkout_questions.html +++ b/src/pretix/presale/templates/pretixpresale/event/checkout_questions.html @@ -16,7 +16,7 @@

{% trans "Contact information" %} - +

@@ -36,7 +36,7 @@ {% trans "(optional)" %} {% endif %} - +
@@ -66,10 +66,10 @@ {% endif %} - + {% else %} - + {% endif %} @@ -116,7 +116,7 @@ {{ pos.subevent.name }} · {{ pos.subevent.get_date_range_display }} {% if pos.event.settings.show_times %} - + {{ pos.subevent.date_from|date:"TIME_FORMAT" }} {% endif %} diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_availability.html b/src/pretix/presale/templates/pretixpresale/event/fragment_availability.html index d9682b0a3d..6a8207815f 100644 --- a/src/pretix/presale/templates/pretixpresale/event/fragment_availability.html +++ b/src/pretix/presale/templates/pretixpresale/event/fragment_availability.html @@ -10,7 +10,7 @@ {% if event.settings.waiting_list_enabled and item.allow_waitinglist %}
- + {% trans "Waiting list" %} {% endif %} @@ -23,7 +23,7 @@ {% if event.settings.waiting_list_enabled and item.allow_waitinglist %}
- + {% trans "Waiting list" %} {% endif %} diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html b/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html index 1eff907908..67a9cf8f02 100644 --- a/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html +++ b/src/pretix/presale/templates/pretixpresale/event/fragment_cart.html @@ -23,13 +23,13 @@ {{ line.seat }} {% endif %} {% if line.voucher %} -
{% trans "Voucher code used:" %} {{ line.voucher.code }} +
{% trans "Voucher code used:" %} {{ line.voucher.code }} {% endif %} {% if line.subevent %} -
{{ line.subevent.name }} · {{ line.subevent.get_date_range_display }} +
{{ line.subevent.name }} · {{ line.subevent.get_date_range_display }} {% if event.settings.show_times %} - + {{ line.subevent.date_from|date:"TIME_FORMAT" }} {% endif %} @@ -100,7 +100,7 @@
{% if q.answer %} {% if q.answer.file %} - + {{ q.answer.file_name }} @@ -131,7 +131,7 @@ {% csrf_token %} {% endfor %} @@ -154,11 +154,11 @@ method="post" data-asynctask> {% csrf_token %} - @@ -182,8 +182,8 @@ {% endif %} - {% endif %} @@ -300,17 +300,17 @@ {% if editable and vouchers_exist and not cart.all_with_voucher %}
- {% trans "Redeem a voucher" %} + {% trans "Redeem a voucher" %}
{% csrf_token %}
- + -
diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_checkoutflow.html b/src/pretix/presale/templates/pretixpresale/event/fragment_checkoutflow.html index 35e7e7d30c..1dd789525d 100644 --- a/src/pretix/presale/templates/pretixpresale/event/fragment_checkoutflow.html +++ b/src/pretix/presale/templates/pretixpresale/event/fragment_checkoutflow.html @@ -5,9 +5,16 @@
- +
+ + {% if step.c_is_before %} + {% trans "Completed:" %} + {% elif request.resolver_match.kwargs.step == step.identifier %} + {% trans "Current:" %} + {% endif %} + {{ step.label }}
@@ -16,7 +23,7 @@
- +
{% trans "Order confirmed" context "checkoutflow" %} diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_downloads.html b/src/pretix/presale/templates/pretixpresale/event/fragment_downloads.html index e5c280bef7..f395062dbf 100644 --- a/src/pretix/presale/templates/pretixpresale/event/fragment_downloads.html +++ b/src/pretix/presale/templates/pretixpresale/event/fragment_downloads.html @@ -9,7 +9,7 @@

-

+

{% trans "Please check your email account, we've sent you your tickets." %}

@@ -45,7 +45,7 @@ {% csrf_token %}

{% endif %} @@ -66,7 +66,7 @@ {% csrf_token %} {% endfor %} diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_product_list.html b/src/pretix/presale/templates/pretixpresale/event/fragment_product_list.html index 43366641f0..b88974cd09 100644 --- a/src/pretix/presale/templates/pretixpresale/event/fragment_product_list.html +++ b/src/pretix/presale/templates/pretixpresale/event/fragment_product_list.html @@ -6,15 +6,16 @@ {% load eventsignal %} {% load rich_text %} {% for tup in items_by_category %} -
+ {% if tup.0 %}

{{ tup.0.name }}

{% if tup.0.description %} -

{{ tup.0.description|localize|rich_text }}

+
{{ tup.0.description|localize|rich_text }}
{% endif %} {% endif %} {% for item in tup.1 %} {% if item.has_variations %} +
@@ -23,14 +24,15 @@ + data-lightbox="{{ item.id }}" + aria-label="{% blocktrans trimmed with item=item.name %}Show full-size image of {{ item }}{% endblocktrans %}"> {{ item.name }} {% endif %}

- + {{ item.name }}

@@ -65,7 +67,7 @@
{% if not event.settings.show_variations_expanded %} - + {% trans "Show variants" %} {% endif %} @@ -74,7 +76,7 @@
{% for var in item.available_variations %} -
+
+
{% endfor %}
+
{% else %} -
+ {% endif %} {% endfor %}
diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar.html b/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar.html index 3e91176f56..37259a5bdb 100644 --- a/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar.html +++ b/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar.html @@ -11,7 +11,7 @@ @@ -33,7 +33,7 @@
diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar_week.html b/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar_week.html index 5ed2eb02fb..5e30d36b07 100644 --- a/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar_week.html +++ b/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar_week.html @@ -11,7 +11,7 @@ @@ -34,7 +34,7 @@ {{ after|date:week_format }} - +
@@ -43,12 +43,12 @@ diff --git a/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html b/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html index 8e3e8a5f07..a9455d239e 100644 --- a/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html +++ b/src/pretix/presale/templates/pretixpresale/event/fragment_subevent_list.html @@ -8,11 +8,11 @@ {{ subev.name }}
- + {{ subev.get_date_range_display }} {% if event.settings.show_times %} - + {{ subev.date_from|date:"TIME_FORMAT" }} {% endif %} diff --git a/src/pretix/presale/templates/pretixpresale/event/index.html b/src/pretix/presale/templates/pretixpresale/event/index.html index 5dbca0addf..d495d90704 100644 --- a/src/pretix/presale/templates/pretixpresale/event/index.html +++ b/src/pretix/presale/templates/pretixpresale/event/index.html @@ -24,24 +24,24 @@ {{ ev.event_microdata }} {% endautoescape %} - +
{% if show_cart %}

- + {% trans "Your cart" %} - + - +

@@ -62,16 +62,16 @@
{% csrf_token %} + {% trans "Empty cart" %}
@@ -79,7 +79,7 @@
{% csrf_token %} + {% trans "Empty cart" %}
@@ -106,7 +106,7 @@ {% if subevent and "year" not in request.GET %} {% if show_cart %} - + {% trans "Add tickets for a different date" %} {% else %} @@ -187,15 +187,15 @@
{% if ev.location %}
- -

+ +

{% trans "Location" %}: {{ ev.location|linebreaksbr }}

{% endif %} {% if ev.settings.show_dates_on_frontpage %}
- +

{{ ev.get_date_range_display }} {% if event.settings.show_times %} @@ -270,12 +270,12 @@

@@ -286,9 +286,10 @@ {% endif %} {% endif %} + {% if show_vouchers %} -
-

{% trans "Redeem a voucher" %}

+
+ {% endif %} {% if not cart_namespace %} {% eventsignal event "pretix.presale.signals.front_page_bottom" subevent=subevent request=request %} -
-

{% trans "If you already ordered a ticket" %}

+
+ {% else %} {% eventsignal event "pretix.presale.signals.front_page_bottom_widget" subevent=subevent request=request %} {% endif %} diff --git a/src/pretix/presale/templates/pretixpresale/event/order.html b/src/pretix/presale/templates/pretixpresale/event/order.html index 7a531c165b..44f9b6e937 100644 --- a/src/pretix/presale/templates/pretixpresale/event/order.html +++ b/src/pretix/presale/templates/pretixpresale/event/order.html @@ -6,11 +6,24 @@ {% load expiresformat %} {% load eventurl %} {% load phone_format %} -{% block title %}{% trans "Order details" %}{% endblock %} +{% block title %} + {% if "thanks" in request.GET or "paid" in request.GET %} + {% trans "Thank you!" %} + {% if order.status != 'p' %} + {% trans "Your order has been placed successfully. See below for details." %} + {% elif order.total == 0 %} + {% trans "Your order has been processed successfully! See below for details." %} + {% else %} + {% trans "We successfully received your payment. See below for details." %} + {% endif %} + {% endif %} + {% trans "Order details" %} +{% endblock %} {% block content %} +
{% if "thanks" in request.GET or "paid" in request.GET %}
- +

{% trans "Thank you!" %}

{% if order.status != 'p' %} @@ -121,7 +134,7 @@ {% elif r.state == "done" %} {% if r.provider == "giftcard" %} - + {% trans "Print" %} {% blocktrans trimmed with amount=r.amount|money:request.event.currency %} @@ -129,7 +142,7 @@ us, you can use the following gift card code during payment: {% endblocktrans %}
- + {{ r.giftcard.secret }}
{% if r.giftcard.value != r.amount %} @@ -170,7 +183,7 @@ {% if order.can_modify_answers %} @@ -264,7 +277,7 @@ {% if order.can_modify_answers %} @@ -337,7 +350,7 @@

- + {% trans "Change order" %} @@ -405,7 +418,7 @@ {% endif %} - + {% trans "Cancel order" %} {% else %} @@ -417,7 +430,7 @@

- + {% trans "Cancel order" %} {% endif %} @@ -426,4 +439,5 @@
{% endif %} +
{% endblock %} diff --git a/src/pretix/presale/templates/pretixpresale/event/order_change.html b/src/pretix/presale/templates/pretixpresale/event/order_change.html index 0734b144c1..639e386d84 100644 --- a/src/pretix/presale/templates/pretixpresale/event/order_change.html +++ b/src/pretix/presale/templates/pretixpresale/event/order_change.html @@ -32,7 +32,7 @@
    {{ pos.subevent.name }} · {{ pos.subevent.get_date_range_display }} {% if pos.event.settings.show_times %} - + {{ pos.subevent.date_from|date:"TIME_FORMAT" }} {% endif %}
diff --git a/src/pretix/presale/templates/pretixpresale/event/order_modify.html b/src/pretix/presale/templates/pretixpresale/event/order_modify.html index c9826457f9..907910f541 100644 --- a/src/pretix/presale/templates/pretixpresale/event/order_modify.html +++ b/src/pretix/presale/templates/pretixpresale/event/order_modify.html @@ -33,7 +33,7 @@ {% trans "Contact information" %} {% endif %}
- +
@@ -55,7 +55,7 @@ {{ pos.item.name }}{% if pos.variation %} – {{ pos.variation }} {% endif %} - +
diff --git a/src/pretix/presale/templates/pretixpresale/event/voucher.html b/src/pretix/presale/templates/pretixpresale/event/voucher.html index 58a3ac0c81..5b800b7b45 100644 --- a/src/pretix/presale/templates/pretixpresale/event/voucher.html +++ b/src/pretix/presale/templates/pretixpresale/event/voucher.html @@ -14,7 +14,7 @@

{{ subevent.name }}

{% with ev=subevent %}
- +

{{ ev.get_date_range_display }} {% if event.settings.show_times %} @@ -340,12 +340,12 @@

diff --git a/src/pretix/presale/templates/pretixpresale/forms/addon_choice_option.html b/src/pretix/presale/templates/pretixpresale/forms/addon_choice_option.html index 7bac8c3a0a..9c50c79f02 100644 --- a/src/pretix/presale/templates/pretixpresale/forms/addon_choice_option.html +++ b/src/pretix/presale/templates/pretixpresale/forms/addon_choice_option.html @@ -1,3 +1,3 @@ {% load rich_text %} -{% include "django/forms/widgets/input.html" %} {{ widget.label }} {% if widget.attrs.description %} +{% include "django/forms/widgets/input.html" %} {{ widget.label }} {% if widget.attrs.description %}
{{ widget.attrs.description|rich_text }}
{% endif %} diff --git a/src/pretix/presale/templates/pretixpresale/fragment_calendar.html b/src/pretix/presale/templates/pretixpresale/fragment_calendar.html index 233a0c199b..c670d48221 100644 --- a/src/pretix/presale/templates/pretixpresale/fragment_calendar.html +++ b/src/pretix/presale/templates/pretixpresale/fragment_calendar.html @@ -52,7 +52,7 @@ {% if not event.continued %} {% if event.time %} - + {% if not show_names|default_if_none:True %} {% endif %} @@ -71,29 +71,29 @@ {% if event.event.presale_is_running and show_avail %} {% if event.event.best_availability_state == 100 %} - {% trans "Book now" %} + {% trans "Book now" %} {% elif event.event.settings.waiting_list_enabled and event.event.best_availability_state >= 0 %} - {% trans "Waiting list" %} + {% trans "Waiting list" %} {% elif event.event.best_availability_state == 20 %} - {% trans "Reserved" %} + {% trans "Reserved" %} {% elif event.event.best_availability_state < 20 %} {% if event.event.has_paid_item %} - {% trans "Sold out" %} + {% trans "Sold out" %} {% else %} - {% trans "Fully booked" %} + {% trans "Fully booked" %} {% endif %} {% endif %} {% elif event.event.presale_is_running %} - {% trans "Book now" %} + {% trans "Book now" %} {% elif event.event.presale_has_ended %} - {% trans "Sale over" %} + {% trans "Sale over" %} {% elif event.event.settings.presale_start_show_date and event.event.presale_start %} - + {% blocktrans with start_date=event.event.presale_start|date:"SHORT_DATE_FORMAT" %} from {{ start_date }} {% endblocktrans %} {% else %} - {% trans "Soon" %} + {% trans "Soon" %} {% endif %} {% endif %} diff --git a/src/pretix/presale/templates/pretixpresale/fragment_modals.html b/src/pretix/presale/templates/pretixpresale/fragment_modals.html index 58f564f4f3..c3c98b2c0b 100644 --- a/src/pretix/presale/templates/pretixpresale/fragment_modals.html +++ b/src/pretix/presale/templates/pretixpresale/fragment_modals.html @@ -4,7 +4,7 @@
diff --git a/src/pretix/presale/templates/pretixpresale/waiting.html b/src/pretix/presale/templates/pretixpresale/waiting.html index af64e9f9de..2830f512de 100644 --- a/src/pretix/presale/templates/pretixpresale/waiting.html +++ b/src/pretix/presale/templates/pretixpresale/waiting.html @@ -17,7 +17,7 @@
- +

{% trans "We are processing your request …" %}

diff --git a/src/pretix/static/pretixpresale/scss/main.scss b/src/pretix/static/pretixpresale/scss/main.scss index 1adb8fad36..bd7f28afc1 100644 --- a/src/pretix/static/pretixpresale/scss/main.scss +++ b/src/pretix/static/pretixpresale/scss/main.scss @@ -20,8 +20,10 @@ } footer { - text-align: center; padding: 10px 0; +} +footer nav { + text-align: center; font-size: 11px; } .js-only { diff --git a/src/tests/presale/test_event.py b/src/tests/presale/test_event.py index 215bf6c660..2d331351c0 100644 --- a/src/tests/presale/test_event.py +++ b/src/tests/presale/test_event.py @@ -399,10 +399,10 @@ class ItemDisplayTest(EventTestMixin, SoupTest): q.items.add(item) doc = self.get_doc('/%s/%s/' % (self.orga.slug, self.event.slug)) self.assertIn("Early-bird", doc.select("section:nth-of-type(1) div:nth-of-type(1)")[0].text) - self.assertIn("Red", doc.select("section:nth-of-type(1) div.variation")[0].text) - self.assertIn("14.00", doc.select("section:nth-of-type(1) div.variation")[0].text) - self.assertIn("Black", doc.select("section:nth-of-type(1) div.variation")[1].text) - self.assertIn("12.00", doc.select("section:nth-of-type(1) div.variation")[1].text) + self.assertIn("Red", doc.select("section:nth-of-type(1) .variation")[0].text) + self.assertIn("14.00", doc.select("section:nth-of-type(1) .variation")[0].text) + self.assertIn("Black", doc.select("section:nth-of-type(1) .variation")[1].text) + self.assertIn("12.00", doc.select("section:nth-of-type(1) .variation")[1].text) def test_require_bundling(self): with scopes_disabled(): @@ -430,8 +430,8 @@ class ItemDisplayTest(EventTestMixin, SoupTest): self.event.settings.hide_sold_out = True doc = self.get_doc('/%s/%s/' % (self.orga.slug, self.event.slug)) - self.assertNotIn("Early-bird", doc.select("section:nth-of-type(1) div:nth-of-type(1)")[0].text) - self.assertNotIn("SOLD OUT", doc.select("section:nth-of-type(1)")[0].text) + self.assertNotIn("Early-bird", doc.select("body")[0].text) + self.assertNotIn("SOLD OUT", doc.select("body")[0].text) def test_hidden_if_available(self): with scopes_disabled():