From a4d8c810cef5401b98b14f6a1fa4820728bf4fa3 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 15 Oct 2019 11:41:23 +0200 Subject: [PATCH] Support for right-to-left languages (#1438) * play around * Flip things in presale * Convert backend * Remove test settings * Safe getattr --- src/pretix/base/context.py | 4 +- .../templates/pretixcontrol/auth/base.html | 2 +- .../control/templates/pretixcontrol/base.html | 6 +- .../pretixcontrol/checkin/lists.html | 2 +- .../pretixcontrol/event/actions.html | 2 +- .../templates/pretixcontrol/event/index.html | 4 +- .../templates/pretixcontrol/event/live.html | 6 +- .../pretixcontrol/event/payment.html | 2 +- .../pretixcontrol/event/plugins.html | 2 +- .../pretixcontrol/event/quick_setup.html | 4 +- .../pretixcontrol/event/tax_edit.html | 4 +- .../pretixcontrol/event/tax_index.html | 2 +- .../pretixcontrol/event/tickets.html | 2 +- .../pretixcontrol/events/create_base.html | 4 +- .../pretixcontrol/events/create_basics.html | 2 +- .../templates/pretixcontrol/events/index.html | 4 +- .../pretixcontrol/item/include_addons.html | 4 +- .../pretixcontrol/item/include_bundles.html | 4 +- .../item/include_variations.html | 4 +- .../pretixcontrol/items/categories.html | 2 +- .../templates/pretixcontrol/items/index.html | 2 +- .../pretixcontrol/items/question_edit.html | 4 +- .../pretixcontrol/items/questions.html | 2 +- .../templates/pretixcontrol/items/quota.html | 8 +- .../templates/pretixcontrol/items/quotas.html | 2 +- .../pretixcontrol/oauth/app_list.html | 2 +- .../pretixcontrol/oauth/authorized.html | 2 +- .../templates/pretixcontrol/order/index.html | 20 +- .../pretixcontrol/orders/export.html | 2 +- .../templates/pretixcontrol/orders/index.html | 16 +- .../pretixcontrol/orders/overview.html | 2 +- .../pretixcontrol/orders/refunds.html | 8 +- .../pretixcontrol/organizers/detail.html | 2 +- .../pretixcontrol/organizers/devices.html | 2 +- .../pretixcontrol/organizers/edit.html | 4 +- .../organizers/team_members.html | 10 +- .../pretixcontrol/organizers/teams.html | 2 +- .../organizers/webhook_logs.html | 2 +- .../pretixcontrol/organizers/webhooks.html | 2 +- .../templates/pretixcontrol/pdf/index.html | 6 +- .../pretixcontrol/search/orders.html | 8 +- .../pretixcontrol/subevents/bulk.html | 12 +- .../pretixcontrol/subevents/detail.html | 8 +- .../pretixcontrol/subevents/index.html | 2 +- .../pretixcontrol/user/2fa_main.html | 6 +- .../pretixcontrol/user/notifications.html | 4 +- .../templates/pretixcontrol/user/reauth.html | 2 +- .../user/staff_session_list.html | 2 +- .../templates/pretixcontrol/users/index.html | 2 +- .../pretixcontrol/vouchers/index.html | 2 +- .../pretixcontrol/waitinglist/index.html | 2 +- .../templates/pretixplugins/badges/index.html | 2 +- .../banktransfer/import_assign.html | 2 +- .../banktransfer/import_form.html | 4 +- .../pretixplugins/stripe/pending.html | 2 +- .../pretixplugins/ticketoutputpdf/index.html | 2 +- .../presale/templates/pretixpresale/base.html | 2 +- .../templates/pretixpresale/event/base.html | 4 +- .../pretixpresale/event/checkout_confirm.html | 10 +- .../pretixpresale/event/checkout_payment.html | 2 +- .../event/checkout_questions.html | 2 +- .../event/fragment_subevent_calendar.html | 4 +- .../event/fragment_subevent_list.html | 2 +- .../templates/pretixpresale/event/index.html | 2 +- .../templates/pretixpresale/event/order.html | 10 +- .../pretixpresale/event/order_pay_change.html | 2 +- .../event/order_pay_confirm.html | 2 +- .../pretixpresale/event/position.html | 2 +- .../pretixpresale/organizers/base.html | 4 +- .../pretixpresale/organizers/calendar.html | 4 +- .../pretixpresale/organizers/index.html | 2 +- src/pretix/settings.py | 3 + src/pretix/static/bootstrap/scss/_rtl.scss | 1642 +++++++++++++++++ src/pretix/static/pretixbase/scss/_rtl.scss | 37 + .../static/pretixcontrol/scss/_rtl.scss | 115 ++ .../static/pretixcontrol/scss/auth.scss | 3 + .../static/pretixcontrol/scss/main.scss | 4 + .../static/pretixpresale/scss/_rtl.scss | 57 + .../static/pretixpresale/scss/main.scss | 3 + 79 files changed, 2006 insertions(+), 140 deletions(-) create mode 100644 src/pretix/static/bootstrap/scss/_rtl.scss create mode 100644 src/pretix/static/pretixbase/scss/_rtl.scss create mode 100644 src/pretix/static/pretixcontrol/scss/_rtl.scss create mode 100644 src/pretix/static/pretixpresale/scss/_rtl.scss diff --git a/src/pretix/base/context.py b/src/pretix/base/context.py index 1b89dd6b32..62ceeb498b 100644 --- a/src/pretix/base/context.py +++ b/src/pretix/base/context.py @@ -4,7 +4,9 @@ from django.conf import settings def contextprocessor(request): - ctx = {} + ctx = { + 'rtl': getattr(request, 'LANGUAGE_CODE', 'en') in settings.LANGUAGES_RTL, + } if settings.DEBUG and 'runserver' not in sys.argv: ctx['debug_warning'] = True elif 'runserver' in sys.argv: diff --git a/src/pretix/control/templates/pretixcontrol/auth/base.html b/src/pretix/control/templates/pretixcontrol/auth/base.html index 4bd6019559..f9763cb6f6 100644 --- a/src/pretix/control/templates/pretixcontrol/auth/base.html +++ b/src/pretix/control/templates/pretixcontrol/auth/base.html @@ -2,7 +2,7 @@ {% load i18n %} {% load static %} - + {{ django_settings.PRETIX_INSTANCE_NAME }} {% compress css %} diff --git a/src/pretix/control/templates/pretixcontrol/base.html b/src/pretix/control/templates/pretixcontrol/base.html index 3240d06b80..d14268218e 100644 --- a/src/pretix/control/templates/pretixcontrol/base.html +++ b/src/pretix/control/templates/pretixcontrol/base.html @@ -6,7 +6,7 @@ {% load eventsignal %} {% load eventurl %} - + {% block title %}{% endblock %}{% if url_name != "index" %} :: {% endif %} {{ settings.PRETIX_INSTANCE_NAME }} @@ -123,7 +123,7 @@ {{ settings.PRETIX_INSTANCE_NAME }} - {% endif %} - + diff --git a/src/pretix/control/templates/pretixcontrol/pdf/index.html b/src/pretix/control/templates/pretixcontrol/pdf/index.html index aa2a8ab245..3d9f195f6d 100644 --- a/src/pretix/control/templates/pretixcontrol/pdf/index.html +++ b/src/pretix/control/templates/pretixcontrol/pdf/index.html @@ -25,7 +25,7 @@
-
+
@@ -151,7 +151,7 @@
-
+
@@ -144,7 +144,7 @@
{% trans "Repetition rule" %}
-
+
@@ -313,7 +313,7 @@
{% bootstrap_field form.name layout='inline' form_group_class="" %}
-
+
@@ -341,7 +341,7 @@
{% bootstrap_field formset.empty_form.name layout='inline' form_group_class="" %}
-
+
@@ -384,7 +384,7 @@
{% bootstrap_field form.name layout='inline' form_group_class="" %}
-
+
@@ -413,7 +413,7 @@
{% bootstrap_field cl_formset.empty_form.name layout='inline' form_group_class="" %}
-
+
diff --git a/src/pretix/control/templates/pretixcontrol/subevents/detail.html b/src/pretix/control/templates/pretixcontrol/subevents/detail.html index a98b35f8d2..ad00a433d2 100644 --- a/src/pretix/control/templates/pretixcontrol/subevents/detail.html +++ b/src/pretix/control/templates/pretixcontrol/subevents/detail.html @@ -71,7 +71,7 @@
{% bootstrap_field form.name layout='inline' form_group_class="" %}
-
+
@@ -99,7 +99,7 @@
{% bootstrap_field formset.empty_form.name layout='inline' form_group_class="" %}
-
+
@@ -142,7 +142,7 @@
{% bootstrap_field form.name layout='inline' form_group_class="" %}
-
+
@@ -171,7 +171,7 @@
{% bootstrap_field cl_formset.empty_form.name layout='inline' form_group_class="" %}
-
+
diff --git a/src/pretix/control/templates/pretixcontrol/subevents/index.html b/src/pretix/control/templates/pretixcontrol/subevents/index.html index 563a830200..1a343bf2e4 100644 --- a/src/pretix/control/templates/pretixcontrol/subevents/index.html +++ b/src/pretix/control/templates/pretixcontrol/subevents/index.html @@ -119,7 +119,7 @@ {% trans "On sale" %} {% endif %} - +
@@ -18,7 +18,7 @@
{% else %}
- diff --git a/src/pretix/control/templates/pretixcontrol/user/reauth.html b/src/pretix/control/templates/pretixcontrol/user/reauth.html index 7c68486c7a..262f1668b7 100644 --- a/src/pretix/control/templates/pretixcontrol/user/reauth.html +++ b/src/pretix/control/templates/pretixcontrol/user/reauth.html @@ -27,7 +27,7 @@ {% trans "Alternatively, you can use your WebAuthn device." %}

{% endif %} -
+
diff --git a/src/pretix/control/templates/pretixcontrol/user/staff_session_list.html b/src/pretix/control/templates/pretixcontrol/user/staff_session_list.html index 3724d5a484..e833884361 100644 --- a/src/pretix/control/templates/pretixcontrol/user/staff_session_list.html +++ b/src/pretix/control/templates/pretixcontrol/user/staff_session_list.html @@ -46,7 +46,7 @@ {% endif %} - + diff --git a/src/pretix/control/templates/pretixcontrol/users/index.html b/src/pretix/control/templates/pretixcontrol/users/index.html index d295c83334..72508a6b70 100644 --- a/src/pretix/control/templates/pretixcontrol/users/index.html +++ b/src/pretix/control/templates/pretixcontrol/users/index.html @@ -57,7 +57,7 @@ {{ u.fullname|default_if_none:"" }} {% if u.is_active %}{% endif %} {% if u.is_staff %}{% endif %} - + diff --git a/src/pretix/control/templates/pretixcontrol/vouchers/index.html b/src/pretix/control/templates/pretixcontrol/vouchers/index.html index 3488c4ce79..b8a2dabeee 100644 --- a/src/pretix/control/templates/pretixcontrol/vouchers/index.html +++ b/src/pretix/control/templates/pretixcontrol/vouchers/index.html @@ -137,7 +137,7 @@ {% if request.event.has_subevents %} {{ v.subevent.name }} – {{ v.subevent.get_date_range_display }} {% endif %} - + diff --git a/src/pretix/control/templates/pretixcontrol/waitinglist/index.html b/src/pretix/control/templates/pretixcontrol/waitinglist/index.html index 561ed19003..f6a7389477 100644 --- a/src/pretix/control/templates/pretixcontrol/waitinglist/index.html +++ b/src/pretix/control/templates/pretixcontrol/waitinglist/index.html @@ -190,7 +190,7 @@ {% endif %} - + {% if not e.voucher %}
diff --git a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html index a94701afd5..77715c59ef 100644 --- a/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html +++ b/src/pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_form.html @@ -34,7 +34,7 @@
- @@ -65,7 +65,7 @@ {% if not request.GET.search %} -
+ {% csrf_token %}
-