diff --git a/app/eventyay/base/models/event.py b/app/eventyay/base/models/event.py index 58d13bde06..ad43c4afa8 100644 --- a/app/eventyay/base/models/event.py +++ b/app/eventyay/base/models/event.py @@ -71,7 +71,6 @@ from .organizer import Organizer, OrganizerBillingModel, Team TALK_HOSTNAME = settings.TALK_HOSTNAME -LANGUAGE_NAMES = {code: name for code, name in settings.LANGUAGES} def event_css_path(instance, filename): return path_with_hash(filename, base_path=f"{instance.slug}/css/") @@ -2107,7 +2106,7 @@ def available_content_locales(self) -> list: # Content locales can be anything eventyay knows as a language, merged with # this event's plugin locales. - locale_names = dict(default_django_settings.LANGUAGES) + locale_names = dict(settings.LANGUAGES) locale_names.update(self.named_plugin_locales) return sorted([(key, value) for key, value in locale_names.items()]) @@ -2115,7 +2114,8 @@ def available_content_locales(self) -> list: def named_content_locales(self) -> list: locale_names = dict(self.available_content_locales) # locale_names['en-us'] = locale_names['en'] - return [(code, locale_names[code]) for code in self.content_locales] + locale_names |= LANGUAGE_NAMES + return [(code, locale_names.get(code, code)) for code in self.content_locales] @cached_property def named_plugin_locales(self) -> list: diff --git a/app/eventyay/orga/templates/orga/submission/list.html b/app/eventyay/orga/templates/orga/submission/list.html index c9c1e249dd..602b3582f7 100644 --- a/app/eventyay/orga/templates/orga/submission/list.html +++ b/app/eventyay/orga/templates/orga/submission/list.html @@ -94,7 +94,7 @@

{% if can_change_submission %} - + {% translate "Featured" %} @@ -149,12 +149,13 @@

{% if can_change_submission %} - -
+ +
diff --git a/app/eventyay/static/orga/css/_layout.css b/app/eventyay/static/orga/css/_layout.css index 3030b7b725..45289f6918 100644 --- a/app/eventyay/static/orga/css/_layout.css +++ b/app/eventyay/static/orga/css/_layout.css @@ -56,18 +56,22 @@ body { } } -.submission_featured { +td.submission_featured { position: relative; + vertical-align: middle !important; text-align: center; + .form-check { + display: inline-flex; + align-items: center; + margin: 0; + } + i { position: absolute; right: 30%; - top: 12px; - } - - input[type="checkbox"] { - margin-right: 16px; + top: 50%; + transform: translateY(-50%); } .done { diff --git a/app/eventyay/static/orga/js/main.js b/app/eventyay/static/orga/js/main.js index 4f157a146e..b6c33bd45d 100644 --- a/app/eventyay/static/orga/js/main.js +++ b/app/eventyay/static/orga/js/main.js @@ -18,12 +18,13 @@ const handleFeaturedChange = (element) => { const statusWrapper = element.parentElement.parentElement setStatus("working") - const url = window.location.pathname + id + "/toggle_featured" + // Use the URL from the data-url attribute if available, otherwise construct it + const url = element.dataset.url || (window.location.pathname + (window.location.pathname.endsWith('/') ? '' : '/') + id + "/toggle_featured") const options = { method: "POST", headers: { "Content-Type": "application/json", - "X-CSRFToken": getCookie("pretalx_csrftoken"), + "X-CSRFToken": getCookie("eventyay_csrftoken"), }, credentials: "include", }