Skip to content
/ pretix Public
forked from pretix/pretix

Commit

Permalink
Add static select2 to choice widgets pretix#2020
Browse files Browse the repository at this point in the history
  • Loading branch information
thegcat committed Dec 31, 2021
1 parent 451d3fc commit 82b4fa7
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 3 deletions.
2 changes: 1 addition & 1 deletion src/pretix/base/forms/questions.py
Original file line number Diff line number Diff line change
Expand Up @@ -706,7 +706,7 @@ def __init__(self, *args, **kwargs):
queryset=q.options,
label=label, required=required,
help_text=help_text,
widget=forms.Select,
widget=forms.Select(attrs={'class': 'select2-static'}),
to_field_name='identifier',
empty_label='',
initial=initial.options.first() if initial else None,
Expand Down
3 changes: 2 additions & 1 deletion src/pretix/presale/context.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
from django.conf import settings
from django.core.files.storage import default_storage
from django.utils import translation
from django.utils.translation import get_language_info
from django.utils.translation import get_language_info, get_language
from django_scopes import get_scope
from i18nfield.strings import LazyI18nString

Expand Down Expand Up @@ -169,6 +169,7 @@ def _default_context(request):
ctx['js_date_format'] = get_javascript_format_without_seconds('DATE_INPUT_FORMATS')
ctx['js_time_format'] = get_javascript_format_without_seconds('TIME_INPUT_FORMATS')
ctx['js_locale'] = get_moment_locale()
ctx['select2locale'] = get_language()[:2]
ctx['html_locale'] = translation.get_language_info(get_language_without_region()).get('public_code', translation.get_language())
ctx['settings'] = pretix_settings
ctx['django_settings'] = settings
Expand Down
2 changes: 1 addition & 1 deletion src/pretix/presale/templates/pretixpresale/base.html
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@
<meta name="msapplication-config" content="{% url "presale:browserconfig.xml" %}">
<meta name="theme-color" content="{{ settings.primary_color|default:"#3b1c4a" }}">
</head>
<body class="nojs" data-locale="{{ request.LANGUAGE_CODE }}" data-now="{% now "U.u" %}" data-datetimeformat="{{ js_datetime_format }}" data-timeformat="{{ js_time_format }}" data-dateformat="{{ js_date_format }}" data-datetimelocale="{{ js_locale }}" data-currency="{{ request.event.currency }}">
<body class="nojs" data-locale="{{ request.LANGUAGE_CODE }}" data-now="{% now "U.u" %}" data-datetimeformat="{{ js_datetime_format }}" data-timeformat="{{ js_time_format }}" data-dateformat="{{ js_date_format }}" data-datetimelocale="{{ js_locale }}" data-currency="{{ request.event.currency }}" data-select2-locale="{{ select2locale }}">
{{ html_page_header|safe }}
<header>
{% block above %}
Expand Down
3 changes: 3 additions & 0 deletions src/pretix/presale/templates/pretixpresale/fragment_js.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,9 @@
<script type="text/javascript" src="{% static "js/jquery.formset.js" %}"></script>
<script type="text/javascript" src="{% static "bootstrap/js/bootstrap.js" %}"></script>
<script type="text/javascript" src="{% static "datetimepicker/bootstrap-datetimepicker.js" %}"></script>
<script type="text/javascript" src="{% static "select2/select2.js" %}"></script>
<script type="text/javascript" src="{% static "select2/i18n/de.js" %}"></script>
<script type="text/javascript" src="{% static "select2/i18n/en.js" %}"></script>
<script type="text/javascript" src="{% static "slider/bootstrap-slider.js" %}"></script>
<script type="text/javascript" src="{% static "cropper/cropper.js" %}"></script>
<script type="text/javascript" src="{% static "pretixbase/js/details.js" %}"></script>
Expand Down
5 changes: 5 additions & 0 deletions src/pretix/static/pretixpresale/js/ui/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,11 @@ var form_handlers = function (el) {
});
});

el.find('.select2-static').select2({
theme: "bootstrap",
language: $("body").attr("data-select2-locale"),
});

el.find("input[name*=question], select[name*=question]").change(questions_toggle_dependent);
questions_toggle_dependent();
questions_init_photos(el);
Expand Down
2 changes: 2 additions & 0 deletions src/pretix/static/pretixpresale/scss/main.scss
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ $body-bg: #f5f5f5 !default;
@import "../../lightbox/css/lightbox.scss";
@import "../../cropper/cropper.scss";
@import "../../datetimepicker/_bootstrap-datetimepicker.scss";
@import "../../select2/select2.scss";
@import "../../select2/select2_bootstrap.scss";
@import "../../slider/_bootstrap-slider.scss";
@import "../../fontawesome/scss/font-awesome.scss";

Expand Down

0 comments on commit 82b4fa7

Please sign in to comment.