Compare commits

...

37 Commits

Author SHA1 Message Date
Mira
6944d28083 Pass widget_data to new tab (Z#23176995)
This allows pre-filled questions and other widget configuration to be used even if Safari third-party tracking prevention is enabled
2025-03-06 12:54:26 +01:00
Martin Gross
de3fd54a27 ical: Remove Markdown indicator for mail_attach_ical_description (Z#23184634) 2025-03-06 12:31:35 +01:00
dependabot[bot]
201def6aae Bump @babel/preset-env in /src/pretix/static/npm_dir (#4884)
Bumps [@babel/preset-env](https://github.com/babel/babel/tree/HEAD/packages/babel-preset-env) from 7.26.7 to 7.26.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.9/packages/babel-preset-env)

---
updated-dependencies:
- dependency-name: "@babel/preset-env"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-04 18:43:37 +01:00
Raphael Michel
e38ff7021d Widget: Fix missing consent parameters 2025-03-04 18:25:58 +01:00
Raphael Michel
b9c94f21af Checkin list CSV export: Use stable orderings (#4866) 2025-03-04 17:27:42 +01:00
pretix translation bot
6d9edea05e Update translations (#4887)
* Translations: Update Portuguese (Brazil)

Currently translated at 64.1% (3757 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/pt_BR/

powered by weblate

* Translations: Update Croatian

Currently translated at 5.1% (12 of 235 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/hr/

powered by weblate

* Translations: Update Portuguese (Brazil)

Currently translated at 65.8% (3853 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/pt_BR/

powered by weblate

* Translations: Update Croatian

Currently translated at 84.4% (4943 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/hr/

powered by weblate

* Translations: Update Croatian

Currently translated at 84.4% (4943 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/hr/

powered by weblate

* Translations: Update Croatian

Currently translated at 5.5% (13 of 235 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/hr/

powered by weblate

---------

Co-authored-by: Renne Rocha <renne@rocha.dev.br>
Co-authored-by: Robert Rigo <kontakt@bicikli.hr>
Co-authored-by: Raphael Michel <michel@rami.io>
Co-authored-by: Martin Gross <gross@rami.io>
2025-03-04 17:17:46 +01:00
Raphael Michel
d9e8dd70e4 New mechanism to transfer cookie consent from the widget (Z#23181715) (#4875)
* Cookie consent: Add separate storage layer for widget

* Widget: Move cookie consent out of widget_data

* Add consent parameter to forms
2025-03-04 15:28:03 +01:00
Wiktor Przybylski
0e17ac6ea5 Translations: Update Polish
Currently translated at 100.0% (235 of 235 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/pl/

powered by weblate
2025-03-03 17:19:32 +01:00
Wiktor Przybylski
1bdec48552 Translations: Update Polish
Currently translated at 98.4% (5762 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/pl/

powered by weblate
2025-03-03 17:19:32 +01:00
Renne Rocha
a7e92657b0 Translations: Update Portuguese (Brazil)
Currently translated at 57.2% (3353 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/pt_BR/

powered by weblate
2025-03-03 17:19:32 +01:00
dependabot[bot]
5bf9980e8a Bump django-bootstrap3 from 24.3 to 25.1
Bumps [django-bootstrap3](https://github.com/zostera/django-bootstrap3) from 24.3 to 25.1.
- [Changelog](https://github.com/zostera/django-bootstrap3/blob/main/CHANGELOG.md)
- [Commits](https://github.com/zostera/django-bootstrap3/compare/v24.3...v25.1)

---
updated-dependencies:
- dependency-name: django-bootstrap3
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 13:41:42 +01:00
dependabot[bot]
e236dc275d Bump @babel/core from 7.26.7 to 7.26.9 in /src/pretix/static/npm_dir
Bumps [@babel/core](https://github.com/babel/babel/tree/HEAD/packages/babel-core) from 7.26.7 to 7.26.9.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.26.9/packages/babel-core)

---
updated-dependencies:
- dependency-name: "@babel/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 13:41:25 +01:00
Robert Rigo
aa38163096 Translations: Update Croatian
Currently translated at 84.4% (4943 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/hr/

powered by weblate
2025-03-03 13:40:12 +01:00
Kristian Feldsam
e56eb2df4f Translations: Update Slovak
Currently translated at 90.0% (5269 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/sk/

powered by weblate
2025-03-03 13:40:12 +01:00
Robert Rigo
d851885d16 Translations: Update Croatian
Currently translated at 84.4% (4942 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/hr/

powered by weblate
2025-03-03 13:40:12 +01:00
Tim Maurizio Dullaart
a2955b4579 Translations: Update Dutch
Currently translated at 77.4% (182 of 235 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/nl/

powered by weblate
2025-03-03 13:40:12 +01:00
Tim Maurizio Dullaart
a7cd739555 Translations: Update Dutch
Currently translated at 98.4% (5763 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/nl/

powered by weblate
2025-03-03 13:40:12 +01:00
Kristian Feldsam
d9d5795837 Translations: Update Slovak
Currently translated at 90.0% (5269 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/sk/

powered by weblate
2025-03-03 13:40:12 +01:00
Kristian Feldsam
886f7f6178 Translations: Update Slovak
Currently translated at 30.6% (72 of 235 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/sk/

powered by weblate
2025-03-03 13:40:12 +01:00
Kristian Feldsam
b66bbf7936 Translations: Update Slovak
Currently translated at 90.0% (5269 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/sk/

powered by weblate
2025-03-03 13:40:12 +01:00
CVZ-es
cb4ca80704 Translations: Update Spanish
Currently translated at 100.0% (5853 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/es/

powered by weblate
2025-03-03 13:40:12 +01:00
CVZ-es
bf7b0d6c21 Translations: Update French
Currently translated at 100.0% (5853 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/fr/

powered by weblate
2025-03-03 13:40:12 +01:00
Renne Rocha
5cd97d6021 Translations: Update Portuguese (Brazil)
Currently translated at 55.9% (3273 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/pt_BR/

powered by weblate
2025-03-03 13:40:12 +01:00
Renne Rocha
15c3b44395 Translations: Update Portuguese (Brazil)
Currently translated at 55.5% (3254 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/pt_BR/

powered by weblate
2025-02-28 16:14:14 +01:00
Renne Rocha
75b703b62f Translations: Update Portuguese (Brazil)
Currently translated at 53.8% (3153 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/pt_BR/

powered by weblate
2025-02-28 16:14:14 +01:00
Elisabetta D'Agostino
3446986434 Translations: Update Italian
Currently translated at 24.4% (1430 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/it/

powered by weblate
2025-02-28 16:14:14 +01:00
Renne Rocha
05dc2a1c19 Translations: Update Portuguese (Brazil)
Currently translated at 100.0% (235 of 235 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/pt_BR/

powered by weblate
2025-02-28 16:14:14 +01:00
Cornelius Kibelka
631771aa4b Translations: Update Portuguese (Brazil)
Currently translated at 52.1% (3053 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/pt_BR/

powered by weblate
2025-02-28 16:14:14 +01:00
Renne Rocha
de142e1c97 Translations: Update Portuguese (Brazil)
Currently translated at 52.1% (3053 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/pt_BR/

powered by weblate
2025-02-28 16:14:14 +01:00
Cornelius Kibelka
d5fd5edf11 Translations: Update Portuguese (Brazil)
Currently translated at 48.7% (2853 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/pt_BR/

powered by weblate
2025-02-28 16:14:14 +01:00
Renne Rocha
c6356b439b Translations: Update Portuguese (Brazil)
Currently translated at 48.7% (2853 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/pt_BR/

powered by weblate
2025-02-28 16:14:14 +01:00
Renne Rocha
0381f94841 Translations: Update Portuguese (Brazil)
Currently translated at 99.5% (234 of 235 strings)

Translation: pretix/pretix (JavaScript parts)
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix-js/pt_BR/

powered by weblate
2025-02-28 16:14:14 +01:00
Renne Rocha
a4b69b9d9f Translations: Update Portuguese (Brazil)
Currently translated at 37.2% (2180 of 5853 strings)

Translation: pretix/pretix
Translate-URL: https://translate.pretix.eu/projects/pretix/pretix/pt_BR/

powered by weblate
2025-02-28 16:14:14 +01:00
Raphael Michel
79975e6174 Widget: Fix opening a subevent dynamically (#4876) 2025-02-28 11:18:11 +01:00
Mira
012eda66bd Blocklist USN currency (#4879) 2025-02-28 10:18:39 +01:00
Richard Schreiber
018569a0d6 [A11y] Remove all autofocus in control except login/auth and dashboard 2025-02-28 08:56:54 +01:00
Raphael Michel
625bc66516 Bump version to 2025.3.0.dev0 2025-02-25 17:19:53 +01:00
28 changed files with 5182 additions and 5544 deletions

View File

@@ -36,7 +36,7 @@ dependencies = [
"css-inline==0.14.*",
"defusedcsv>=1.1.0",
"Django[argon2]==4.2.*,>=4.2.15",
"django-bootstrap3==24.3",
"django-bootstrap3==25.1",
"django-compressor==4.5.1",
"django-countries==7.6.*",
"django-filter==25.1",

View File

@@ -19,4 +19,4 @@
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
# <https://www.gnu.org/licenses/>.
#
__version__ = "2025.2.0"
__version__ = "2025.3.0.dev0"

View File

@@ -259,7 +259,7 @@ COMPRESS_FILTERS = {
CURRENCIES = [
c for c in currencies
if c.alpha_3 not in {
'XAG', 'XAU', 'XBA', 'XBB', 'XBC', 'XBD', 'XDR', 'XPD', 'XPT', 'XSU', 'XTS', 'XUA',
'USN', 'XAG', 'XAU', 'XBA', 'XBB', 'XBC', 'XBD', 'XDR', 'XPD', 'XPT', 'XSU', 'XTS', 'XUA',
}
]
CURRENCY_PLACES = {

View File

@@ -2108,7 +2108,7 @@ DEFAULTS = {
'form_class': I18nFormField,
'form_kwargs': dict(
label=_("Event description"),
widget=I18nMarkdownTextarea,
widget=I18nTextarea,
help_text=_(
"You can use this to share information with your attendees, such as travel information or the link to a digital event. "
"If you keep it empty, we will put a link to the event shop, the admission time, and your organizer name in there. "

View File

@@ -196,7 +196,6 @@ class OrderFilterForm(FilterForm):
label=_('Search for…'),
widget=forms.TextInput(attrs={
'placeholder': _('Search for…'),
'autofocus': 'autofocus'
}),
required=False
)
@@ -980,7 +979,6 @@ class OrderPaymentSearchFilterForm(forms.Form):
label=_('Search for…'),
widget=forms.TextInput(attrs={
'placeholder': _('Search for…'),
'autofocus': 'autofocus'
}),
required=False,
)
@@ -1242,7 +1240,6 @@ class SubEventFilterForm(FilterForm):
label=_('Event name'),
widget=forms.TextInput(attrs={
'placeholder': _('Event name'),
'autofocus': 'autofocus'
}),
required=False
)
@@ -1375,7 +1372,6 @@ class OrganizerFilterForm(FilterForm):
label=_('Organizer name'),
widget=forms.TextInput(attrs={
'placeholder': _('Organizer name'),
'autofocus': 'autofocus'
}),
required=False
)
@@ -1433,7 +1429,6 @@ class GiftCardFilterForm(FilterForm):
label=_('Search query'),
widget=forms.TextInput(attrs={
'placeholder': _('Search query'),
'autofocus': 'autofocus'
}),
required=False
)
@@ -1485,7 +1480,6 @@ class CustomerFilterForm(FilterForm):
label=_('Search query'),
widget=forms.TextInput(attrs={
'placeholder': _('Search query'),
'autofocus': 'autofocus'
}),
required=False
)
@@ -1558,7 +1552,6 @@ class ReusableMediaFilterForm(FilterForm):
label=_('Search query'),
widget=forms.TextInput(attrs={
'placeholder': _('Search query'),
'autofocus': 'autofocus'
}),
required=False
)
@@ -1613,7 +1606,6 @@ class TeamFilterForm(FilterForm):
label=_('Search query'),
widget=forms.TextInput(attrs={
'placeholder': _('Search query'),
'autofocus': 'autofocus'
}),
required=False
)
@@ -1695,7 +1687,6 @@ class EventFilterForm(FilterForm):
label=_('Event name'),
widget=forms.TextInput(attrs={
'placeholder': _('Event name'),
'autofocus': 'autofocus'
}),
required=False
)
@@ -1878,7 +1869,6 @@ class CheckinListAttendeeFilterForm(FilterForm):
label=_('Search attendee…'),
widget=forms.TextInput(attrs={
'placeholder': _('Search attendee…'),
'autofocus': 'autofocus'
}),
required=False
)
@@ -2027,7 +2017,6 @@ class UserFilterForm(FilterForm):
label=_('Search query'),
widget=forms.TextInput(attrs={
'placeholder': _('Search query'),
'autofocus': 'autofocus'
}),
required=False
)
@@ -2119,7 +2108,6 @@ class VoucherFilterForm(FilterForm):
label=_('Search voucher'),
widget=forms.TextInput(attrs={
'placeholder': _('Search voucher'),
'autofocus': 'autofocus'
}),
required=False
)
@@ -2597,7 +2585,6 @@ class DeviceFilterForm(FilterForm):
label=_('Search query'),
widget=forms.TextInput(attrs={
'placeholder': _('Search query'),
'autofocus': 'autofocus'
}),
required=False
)

View File

@@ -44,8 +44,7 @@
<form class="form-inline"
action="{% url "control:event.orders.go" event=request.event.slug organizer=request.event.organizer.slug %}">
<p class="input-group">
<input type="text" name="code" class="form-control" placeholder="{% trans "Order code" %}"
autofocus>
<input type="text" name="code" class="form-control" placeholder="{% trans "Order code" %}">
<span class="input-group-btn">
<button class="btn btn-primary" type="submit">{% trans "Go!" %}</button>
</span>

View File

@@ -15,7 +15,7 @@
<form class="form-inline"
action="{% url "control:event.vouchers.go" event=request.event.slug organizer=request.event.organizer.slug %}">
<p class="input-group">
<input type="text" name="code" class="form-control" placeholder="{% trans "Voucher code" %}" autofocus>
<input type="text" name="code" class="form-control" placeholder="{% trans "Voucher code" %}">
<span class="input-group-btn">
<button class="btn btn-primary" type="submit">{% trans "Go!" %}</button>
</span>

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 10:10+0000\n"
"PO-Revision-Date: 2025-01-30 12:39+0000\n"
"PO-Revision-Date: 2025-03-01 15:14+0000\n"
"Last-Translator: CVZ-es <damien.bremont@casadevelazquez.org>\n"
"Language-Team: Spanish <https://translate.pretix.eu/projects/pretix/pretix/"
"es/>\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.9.2\n"
"X-Generator: Weblate 5.10.1\n"
#: pretix/_base_settings.py:87
msgid "English"
@@ -57,7 +57,7 @@ msgstr "Checo"
#: pretix/_base_settings.py:96
msgid "Croatian"
msgstr ""
msgstr "Croata"
#: pretix/_base_settings.py:97
msgid "Danish"
@@ -4098,10 +4098,8 @@ msgid "Grant type"
msgstr "Tipo de subvención"
#: pretix/base/models/customers.py:420
#, fuzzy
#| msgid "Required question"
msgid "Require PKCE extension"
msgstr "Pregunta requerida"
msgstr "Extensión PKCE requerida"
#: pretix/base/models/customers.py:432
msgid "Allowed access scopes"
@@ -7081,11 +7079,9 @@ msgid "The payment for this invoice has already been received."
msgstr "El pago de esta factura ya se ha recibido."
#: pretix/base/payment.py:970
#, fuzzy
#| msgid "This payment can not be canceled at the moment."
msgid ""
"This payment is already being processed and can not be canceled any more."
msgstr "Este pago no puede ser cancelado en este momento."
msgstr "Este pago ya se está procesando y ya no se puede cancelar."
#: pretix/base/payment.py:984
msgid "Automatic refunds are not supported by this payment provider."
@@ -9915,10 +9911,8 @@ msgstr ""
"mundo (como el inglés)."
#: pretix/base/settings.py:1311
#, fuzzy
#| msgid "This is not an event series."
msgid "This shop represents an event"
msgstr "Esta no es una serie de eventos."
msgstr "Esta tienda representa un evento"
#: pretix/base/settings.py:1313
msgid ""
@@ -9928,6 +9922,12 @@ msgid ""
"page. Note that pretix still is a system built around events and the date "
"may still show up in other places."
msgstr ""
"Desmarcar esta casilla si sólo vende algo que no tiene una fecha específica, "
"como tarjetas regalo o una entrada que se puede utilizar en cualquier "
"momento. El sistema dejará de mostrar la fecha del evento en algunos lugares "
"como la página de inicio del evento. Tenga en cuenta que pretix sigue siendo "
"un sistema construido en torno a los eventos y la fecha todavía puede "
"aparecer en otros lugares."
#: pretix/base/settings.py:1326
msgid "Show event end date"
@@ -15388,7 +15388,7 @@ msgstr "Campo teléfono"
#: pretix/control/forms/organizer.py:1047
msgctxt "sso_oidc"
msgid "Query parameters"
msgstr ""
msgstr "Parámetros de búsqueda"
#: pretix/control/forms/organizer.py:1048
#, python-brace-format
@@ -15397,6 +15397,8 @@ msgid ""
"Optional query parameters, that will be added to calls to the authorization "
"endpoint. Enter as: {example}"
msgstr ""
"Parámetros de consulta opcionales, que se añadirán a las llamadas al "
"endpoint de autorización. Introducir como: {example}"
#: pretix/control/forms/organizer.py:1109
msgid "Invalidate old client secret and generate a new one"
@@ -24633,10 +24635,8 @@ msgid "Size (mm)"
msgstr "Tamaño (mm)"
#: pretix/control/templates/pretixcontrol/pdf/index.html:327
#, fuzzy
#| msgid "Text color"
msgid "QR color"
msgstr "Color del texto"
msgstr "Color del QR"
#: pretix/control/templates/pretixcontrol/pdf/index.html:342
msgid "Render without whitespace"
@@ -32585,7 +32585,7 @@ msgstr "Realizar pedido"
#: pretix/presale/templates/pretixpresale/event/checkout_confirm.html:209
msgid "Submit registration"
msgstr "Enviar registro"
msgstr "Confirmar reserva"
#: pretix/presale/templates/pretixpresale/event/checkout_customer.html:18
msgid "Log in with a customer account"
@@ -35007,17 +35007,14 @@ msgstr ""
"no se aceptan pagos para este evento."
#: pretix/presale/views/order.py:1646
#, fuzzy
#| msgid ""
#| "You may not change your order in a way that increases the total price "
#| "since payments are no longer being accepted for this event."
msgid ""
"You may not change your order in a way that requires additional payment "
"while we are processing your current payment. Please check back after your "
"current payment has been accepted."
msgstr ""
"No puede cambiar su pedido de manera que aumente el precio total ya que ya "
"no se aceptan pagos para este evento."
"No podrá modificar su pedido de forma que requiera un pago adicional "
"mientras estemos procesando su pago actual. Vuelva a comprobarlo después de "
"que se haya aceptado su pago actual."
#: pretix/presale/views/order.py:1662 pretix/presale/views/order.py:1693
msgid "You cannot change this order."

View File

@@ -4,7 +4,7 @@ msgstr ""
"Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 10:10+0000\n"
"PO-Revision-Date: 2025-01-30 12:39+0000\n"
"PO-Revision-Date: 2025-03-01 15:14+0000\n"
"Last-Translator: CVZ-es <damien.bremont@casadevelazquez.org>\n"
"Language-Team: French <https://translate.pretix.eu/projects/pretix/pretix/fr/"
">\n"
@@ -13,7 +13,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 5.9.2\n"
"X-Generator: Weblate 5.10.1\n"
#: pretix/_base_settings.py:87
msgid "English"
@@ -53,7 +53,7 @@ msgstr "Tchèque"
#: pretix/_base_settings.py:96
msgid "Croatian"
msgstr ""
msgstr "Croate"
#: pretix/_base_settings.py:97
msgid "Danish"
@@ -4114,10 +4114,8 @@ msgid "Grant type"
msgstr "Type de subvention"
#: pretix/base/models/customers.py:420
#, fuzzy
#| msgid "Required question"
msgid "Require PKCE extension"
msgstr "Question requise"
msgstr "Extension PKCE nécessaire"
#: pretix/base/models/customers.py:432
msgid "Allowed access scopes"
@@ -7132,11 +7130,10 @@ msgid "The payment for this invoice has already been received."
msgstr "Le paiement de cette facture a déjà été reçu."
#: pretix/base/payment.py:970
#, fuzzy
#| msgid "This payment can not be canceled at the moment."
msgid ""
"This payment is already being processed and can not be canceled any more."
msgstr "Ce paiement ne peut pas être annulé pour le moment."
msgstr ""
"Ce paiement est déjà en cours de traitement et ne peut plus être annulé."
#: pretix/base/payment.py:984
msgid "Automatic refunds are not supported by this payment provider."
@@ -9994,10 +9991,8 @@ msgstr ""
"régions du monde (comme langlais)."
#: pretix/base/settings.py:1311
#, fuzzy
#| msgid "This is not an event series."
msgid "This shop represents an event"
msgstr "Il ne sagit pas dune série dévénements."
msgstr "Cette boutique représente un événement"
#: pretix/base/settings.py:1313
msgid ""
@@ -10007,6 +10002,12 @@ msgid ""
"page. Note that pretix still is a system built around events and the date "
"may still show up in other places."
msgstr ""
"Décochez cette case si vous ne vendez que des produits qui n'ont pas de date "
"précise, tels que des cartes-cadeaux ou des billets utilisables à tout "
"moment. Le système cessera alors d'afficher la date de l'événement à "
"certains endroits, comme la page de démarrage de l'événement. Notez que "
"pretix reste un système construit autour des événements et que la date peut "
"encore apparaître à d'autres endroits."
#: pretix/base/settings.py:1326
msgid "Show event end date"
@@ -15534,7 +15535,7 @@ msgstr "Champ Téléphone"
#: pretix/control/forms/organizer.py:1047
msgctxt "sso_oidc"
msgid "Query parameters"
msgstr ""
msgstr "Paramètres de la requête"
#: pretix/control/forms/organizer.py:1048
#, python-brace-format
@@ -15543,6 +15544,8 @@ msgid ""
"Optional query parameters, that will be added to calls to the authorization "
"endpoint. Enter as: {example}"
msgstr ""
"Paramètres de requête facultatifs qui seront ajoutés aux appels au terminal. "
"Saisissez-les sous la forme suivante : {example}"
#: pretix/control/forms/organizer.py:1109
msgid "Invalidate old client secret and generate a new one"
@@ -24820,10 +24823,8 @@ msgid "Size (mm)"
msgstr "Taille (mm)"
#: pretix/control/templates/pretixcontrol/pdf/index.html:327
#, fuzzy
#| msgid "Text color"
msgid "QR color"
msgstr "Couleur du texte"
msgstr "Coleur du code QR"
#: pretix/control/templates/pretixcontrol/pdf/index.html:342
msgid "Render without whitespace"
@@ -35330,17 +35331,14 @@ msgstr ""
"prix total puisque les paiements ne sont plus acceptés pour cet événement."
#: pretix/presale/views/order.py:1646
#, fuzzy
#| msgid ""
#| "You may not change your order in a way that increases the total price "
#| "since payments are no longer being accepted for this event."
msgid ""
"You may not change your order in a way that requires additional payment "
"while we are processing your current payment. Please check back after your "
"current payment has been accepted."
msgstr ""
"Vous ne pouvez pas modifier votre commande dune manière qui augmente le "
"prix total puisque les paiements ne sont plus acceptés pour cet événement."
"Vous ne pouvez pas modifier votre commande d'une manière qui nécessite un "
"paiement supplémentaire pendant que nous traitons votre paiement actuel. "
"Veuillez revenir lorsque votre paiement actuel aura été accepté."
#: pretix/presale/views/order.py:1662 pretix/presale/views/order.py:1693
msgid "You cannot change this order."

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 10:10+0000\n"
"PO-Revision-Date: 2025-02-21 05:00+0000\n"
"Last-Translator: Robert Rigo <kontakt@bicikli.hr>\n"
"PO-Revision-Date: 2025-03-04 16:16+0000\n"
"Last-Translator: Martin Gross <gross@rami.io>\n"
"Language-Team: Croatian <https://translate.pretix.eu/projects/pretix/pretix/"
"hr/>\n"
"Language: hr\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 5.10\n"
"X-Generator: Weblate 5.10.2\n"
#: pretix/_base_settings.py:87
msgid "English"
@@ -6583,7 +6583,7 @@ msgid ""
"The seat \"{id}\" is currently unavailable (blocked, already sold or a "
"different voucher)."
msgstr ""
"Sjedalo \"{id}\" trenutno nije dostupno (blokirano, već prodano ili za "
"Sjedalo \"{id}\" trenutno nije dostupno (blokirano, već prodano ili "
"drugačiji vaučer)."
#: pretix/base/models/waitinglist.py:64
@@ -7599,9 +7599,9 @@ msgstr ""
#, python-format
msgid "You cannot select more than %s item per order."
msgid_plural "You cannot select more than %s items per order."
msgstr[0] ""
msgstr[1] ""
msgstr[2] ""
msgstr[0] "Ne možeš odabrari više od %s stavke po narudžbi."
msgstr[1] "Ne možeš odabrari više od %s stavke po narudžbi."
msgstr[2] "Ne možeš odabrari više od %s stavki po narudžbi."
#: pretix/base/services/cart.py:130 pretix/base/services/orders.py:1539
#, python-format
@@ -10868,6 +10868,9 @@ msgid ""
"Make sure to enter a valid email address. We will send you an order "
"confirmation including a link that you need to access your order later."
msgstr ""
"Provjerite da unesete ispravnu email adresu. Poslat ćemo vam potvrdu "
"narudžbe koja uključuje link koji će vam trebati za pristup vašoj narudžbi "
"kasnije."
#: pretix/base/settings.py:3126
msgid "Help text of the email field"
@@ -11377,7 +11380,7 @@ msgstr ""
#: pretix/base/templates/pretixbase/email/email_footer.html:3
#, python-format
msgid "powered by <a %(a_attr)s>pretix</a>"
msgstr "pokreće <a %(a_attr)s>pretix</a>"
msgstr "Ovu platformu pokreće tvrtka <a %(a_attr)s>Pretix</a>"
#: pretix/base/templates/pretixbase/email/export_failed.txt:2
msgid "Your export failed."
@@ -16805,7 +16808,7 @@ msgstr "Valjani check-in"
#: pretix/control/templates/pretixcontrol/checkin/simulator.html:68
msgid "Additional information required"
msgstr "Potrebne dodatne informacije"
msgstr "Potrebne su dodatne informacije"
#: pretix/control/templates/pretixcontrol/checkin/simulator.html:70
msgid ""
@@ -19150,7 +19153,7 @@ msgstr "Neograničeno"
#: pretix/control/templates/pretixcontrol/items/fragment_quota_availability.html:14
msgid "Fully reserved"
msgstr "Potpuno rezervirano"
msgstr "Popunjeno"
#: pretix/control/templates/pretixcontrol/items/fragment_quota_availability.html:16
#: pretix/presale/templates/pretixpresale/fragment_calendar.html:102
@@ -29359,7 +29362,7 @@ msgstr "Kontaktirajte organizatora događaja"
#: pretix/presale/templates/pretixpresale/fragment_modals.html:129
#: pretix/presale/templates/pretixpresale/organizers/base.html:101
msgid "Privacy policy"
msgstr "Pravila o privatnosti"
msgstr "Pravila o zaštiti privatnosti"
#: pretix/presale/templates/pretixpresale/event/base.html:225
#: pretix/presale/templates/pretixpresale/organizers/base.html:104
@@ -29441,7 +29444,7 @@ msgstr "Košarica je istekla"
#: pretix/presale/templates/pretixpresale/event/checkout_base.html:36
msgid "Show full cart"
msgstr "Prikaži punu košaricu"
msgstr "Prikaži cijelu košaricu"
#: pretix/presale/templates/pretixpresale/event/checkout_base.html:48
#: pretix/presale/templates/pretixpresale/event/index.html:84
@@ -29524,7 +29527,7 @@ msgstr "Podnesite obvezujuću narudžbu"
#: pretix/presale/templates/pretixpresale/event/checkout_confirm.html:209
msgid "Submit registration"
msgstr "Pošaljite registraciju"
msgstr "Pošalji"
#: pretix/presale/templates/pretixpresale/event/checkout_customer.html:18
msgid "Log in with a customer account"
@@ -29921,7 +29924,7 @@ msgstr "Više nije dostupno."
#: pretix/presale/templates/pretixpresale/event/fragment_availability.html:23
#: pretix/presale/templates/pretixpresale/event/fragment_product_list.html:85
msgid "FULLY BOOKED"
msgstr "POTPUNO REZERVIRANO"
msgstr "POPUNJENO"
#: pretix/presale/templates/pretixpresale/event/fragment_availability.html:25
#: pretix/presale/templates/pretixpresale/event/fragment_product_list.html:87
@@ -30076,8 +30079,9 @@ msgstr "Trenutna vrijednost:"
#, python-format
msgid "One product"
msgid_plural "%(num)s products"
msgstr[0] ""
msgstr[1] ""
msgstr[0] "%(num)s proizvod"
msgstr[1] "%(num)s proizvoda"
msgstr[2] "%(num)s proizvoda"
#: pretix/presale/templates/pretixpresale/event/fragment_cart.html:477
#, python-format
@@ -30111,7 +30115,7 @@ msgstr "Nastavite s naplatom"
#: pretix/presale/templates/pretixpresale/event/fragment_cart_box.html:63
msgid "Empty cart"
msgstr "Prazna košarica"
msgstr "Isprazni košaricu"
#: pretix/presale/templates/pretixpresale/event/fragment_cart_box.html:68
#: pretix/presale/templates/pretixpresale/event/index.html:246
@@ -30410,7 +30414,7 @@ msgstr "Postavite cijenu u %(currency)s za %(item)s"
#: pretix/presale/templates/pretixpresale/event/fragment_quota_left.html:4
#, python-format
msgid "%(num)s currently available"
msgstr "%(num)s trenutno dostupno"
msgstr "Trenutno dostupno: %(num)s"
#: pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar.html:4
#: pretix/presale/templates/pretixpresale/event/fragment_subevent_calendar_week.html:4
@@ -30494,7 +30498,7 @@ msgstr "Molimo odaberite datum za iskorištenje vašeg vaučera."
#: pretix/presale/templates/pretixpresale/event/index.html:86
msgid "View other date"
msgstr "Pogledaj drugi datum"
msgstr "Pogledaj/odaberi drugi datum"
#: pretix/presale/templates/pretixpresale/event/index.html:89
msgid "Choose date to book a ticket"
@@ -30621,6 +30625,9 @@ msgid ""
"your order later. We also sent you an email containing the link to the "
"address you specified."
msgstr ""
"Molimo vas da spremite poveznicu na ovu stranicu ako želite kasnije "
"pristupiti svojoj narudžbi. Također smo vam poslali e-mail s poveznicom na "
"adresu koju ste naveli."
#: pretix/presale/templates/pretixpresale/event/order.html:58
msgid ""
@@ -30858,6 +30865,8 @@ msgid ""
"If you cancel this order, all tickets will be invalidated and you can no "
"longer use them. You cannot revert this action."
msgstr ""
"Ako otkažete ovu narudžbu, sve karte će biti poništene i više ih nećete moći "
"koristiti. Ovu radnju nije moguće poništiti."
#: pretix/presale/templates/pretixpresale/event/order_cancel.html:62
#, python-format
@@ -31040,6 +31049,9 @@ msgid ""
"you used for your order. We will send you an email with links to all orders "
"you placed using this email address."
msgstr ""
"Ako ste izgubili poveznicu do svoje narudžbe ili narudžbi, unesite e-mail "
"adresu koju ste koristili za narudžbu. Poslat ćemo vam e-mail s poveznicama "
"na sve narudžbe koje ste izvršili koristeći tu e-mail adresu."
#: pretix/presale/templates/pretixpresale/event/resend_link.html:30
msgid "Send links"
@@ -31111,6 +31123,9 @@ msgid ""
"waiting list. If we notify you, you'll have %(hours)s hours time to buy a "
"ticket until we assign it to the next person on the list."
msgstr ""
"Ako upaznice ponovno postanu dostupne, obavijestit ćemo prve osobe na listi "
"čekanja. Ako vas obavijestimo, imat ćete %(hours)s sati vremena da naručite "
"ulaznicu prije nego što je dodijelimo sljedećoj osobi na listi."
#: pretix/presale/templates/pretixpresale/event/waitinglist.html:28
msgid ""
@@ -31118,6 +31133,9 @@ msgid ""
"you need to add yourself to the waiting list multiple times. There is no "
"guarantee that you will receive a certain number of tickets."
msgstr ""
"Imajte na umu da ćete dobiti samo jednu ulaznicu. Ako trebate više ulaznica, "
"morate se više puta dodati na listu čekanja. Ne postoji jamstvo da ćete "
"dobiti određeni broj ulaznica."
#: pretix/presale/templates/pretixpresale/event/waitinglist.html:32
msgid ""
@@ -31133,6 +31151,8 @@ msgid ""
"been added to the waiting list. We will only contact you once a spot opens "
"up."
msgstr ""
"<strong>Nećete</strong> primiti e-mail potvrdu nakon što budete dodani na "
"listu čekanja. Kontaktirat ćemo vas samo kada se otvori mjesto."
#: pretix/presale/templates/pretixpresale/event/waitinglist.html:44
msgid "Add me to the list"
@@ -31148,6 +31168,9 @@ msgid ""
"need the ticket any more, please be so kind and remove your ticket from the "
"list so we can pass it on to the next person waiting as quickly as possible!"
msgstr ""
"Odabrani ste s naše liste čekanja za kupnju ulaznice. Ako vam ulaznicaviše "
"nije potrebna, molimo vas da je uklonite s liste kako bismo je što prije "
"mogli proslijediti sljedećoj osobi koja čeka!"
#: pretix/presale/templates/pretixpresale/event/waitinglist_remove.html:16
msgctxt "waitinglist"
@@ -31213,7 +31236,7 @@ msgstr "Rezerviraj sada"
#: pretix/presale/templates/pretixpresale/fragment_week_calendar.html:73
#: pretix/presale/views/widget.py:433
msgid "Fully booked"
msgstr "Potpuno rezervirano"
msgstr "Popunjeno"
#: pretix/presale/templates/pretixpresale/fragment_calendar.html:114
#, python-format
@@ -31869,6 +31892,8 @@ msgid ""
"We've added you to the waiting list. We will send an email to {email} as "
"soon as this product gets available again."
msgstr ""
"Dodali smo vas na listu čekanja. Poslat ćemo e-mail na {email} čim ova "
"ulaznica ponovno postane dostupan."
#: pretix/presale/views/waiting.py:208
msgid "We could not find you on our waiting list."

View File

@@ -8,17 +8,17 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 10:10+0000\n"
"PO-Revision-Date: 2024-11-17 00:00+0000\n"
"Last-Translator: Pavle Ergović <pavleergovic@gmail.com>\n"
"Language-Team: Croatian <https://translate.pretix.eu/projects/pretix/pretix-"
"js/hr/>\n"
"PO-Revision-Date: 2025-03-04 16:16+0000\n"
"Last-Translator: Martin Gross <gross@rami.io>\n"
"Language-Team: Croatian <https://translate.pretix.eu/projects/pretix/"
"pretix-js/hr/>\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 5.8.3\n"
"X-Generator: Weblate 5.10.2\n"
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
@@ -246,7 +246,7 @@ msgstr ""
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:48
msgid "Redeemed"
msgstr ""
msgstr "Iskorišteno"
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:49
msgid "Cancel"
@@ -263,7 +263,7 @@ msgstr ""
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:53
msgid "Additional information required"
msgstr ""
msgstr "Potrebne su dodatne informacije"
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:54
msgid "Valid ticket"
@@ -790,7 +790,7 @@ msgstr ""
#: pretix/static/pretixpresale/js/widget/widget.js:27
msgctxt "widget"
msgid "Register"
msgstr ""
msgstr "Rezerviraj"
#: pretix/static/pretixpresale/js/widget/widget.js:28
msgctxt "widget"
@@ -837,7 +837,7 @@ msgstr ""
#, javascript-format
msgctxt "widget"
msgid "currently available: %s"
msgstr ""
msgstr "Trenutno dostupno: %s"
#: pretix/static/pretixpresale/js/widget/widget.js:37
msgctxt "widget"
@@ -858,7 +858,7 @@ msgstr ""
#: pretix/static/pretixpresale/js/widget/widget.js:40
msgctxt "widget"
msgid "Currently not available"
msgstr ""
msgstr "Trenutno nedostupno"
#: pretix/static/pretixpresale/js/widget/widget.js:42
#, javascript-format
@@ -920,12 +920,12 @@ msgstr ""
#: pretix/static/pretixpresale/js/widget/widget.js:55
msgctxt "widget"
msgid "Redeem a voucher"
msgstr ""
msgstr "Iskoristi vaučer"
#: pretix/static/pretixpresale/js/widget/widget.js:56
msgctxt "widget"
msgid "Redeem"
msgstr ""
msgstr "Iskoristi"
#: pretix/static/pretixpresale/js/widget/widget.js:57
msgctxt "widget"
@@ -960,7 +960,7 @@ msgstr ""
#: pretix/static/pretixpresale/js/widget/widget.js:63
msgctxt "widget"
msgid "Choose a different date"
msgstr ""
msgstr "Odaberi drugi datum"
#: pretix/static/pretixpresale/js/widget/widget.js:64
msgctxt "widget"
@@ -999,6 +999,9 @@ msgid ""
"add yourself to the waiting list. We will then notify if seats are available "
"again."
msgstr ""
"Neke ili sve kategorije ulaznica trenutno su rasprodane. Ako želite, možete "
"se dodati na listu čekanja. Obavijestit ćemo vas ako se mjesta ponovno "
"oslobode."
#: pretix/static/pretixpresale/js/widget/widget.js:71
msgctxt "widget"

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 10:10+0000\n"
"PO-Revision-Date: 2025-01-25 22:00+0000\n"
"Last-Translator: Rosariocastellana <rosariocastellana@gmail.com>\n"
"PO-Revision-Date: 2025-02-27 18:00+0000\n"
"Last-Translator: Elisabetta D'Agostino <elisa.branda@om.org>\n"
"Language-Team: Italian <https://translate.pretix.eu/projects/pretix/pretix/"
"it/>\n"
"Language: it\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.9.2\n"
"X-Generator: Weblate 5.10.1\n"
#: pretix/_base_settings.py:87
msgid "English"
@@ -57,7 +57,7 @@ msgstr "Ceco"
#: pretix/_base_settings.py:96
msgid "Croatian"
msgstr ""
msgstr "Croata"
#: pretix/_base_settings.py:97
msgid "Danish"
@@ -3073,10 +3073,6 @@ msgstr ""
"Questa email risulta già associata ad un altro account. Una un'altra email."
#: pretix/base/forms/user.py:53
#, fuzzy
#| msgid ""
#| "Please enter your current password if you want to change your email "
#| "address or password."
msgid ""
"Please enter your current password if you want to change your email address "
"or password."
@@ -6886,13 +6882,15 @@ msgstr "Nome del metodo di pagamento"
#: pretix/base/payment.py:1192
msgid "Payment process description during checkout"
msgstr ""
msgstr "Descrizione del processo di pagamento durante l'acquisto"
#: pretix/base/payment.py:1193
msgid ""
"This text will be shown during checkout when the user selects this payment "
"method. It should give a short explanation on this payment method."
msgstr ""
"Questo testo compare durante l'acquisto quando l'utente sceglie il metodo di "
"pagamento. Dovrà dare una breve spiegazione sul metodo scelto."
#: pretix/base/payment.py:1198
msgid "Payment process description in order confirmation emails"
@@ -7683,6 +7681,11 @@ msgid ""
"or that you tried to redeem it before but did not complete the checkout "
"process. You can try to use it again in %d minutes."
msgstr ""
"Questo voucher è attualmente bloccato perché è già contenuto in un carrello. "
"Ciò potrebbe significare che qualcun altro sta riscattando questo buono in "
"questo momento, oppure che si è tentato di riscattarlo in precedenza ma non "
"si è riusciti a completare il processo di acquisto. È possibile provare a "
"utilizzarlo di nuovo tra %d minuti."
#: pretix/base/services/cart.py:175
#, python-format
@@ -8921,6 +8924,8 @@ msgstr ""
#: pretix/base/settings.py:620
msgid "This text will be shown above the invoice address form during checkout."
msgstr ""
"Questo testo verrà visualizzato sopra il modulo dell'indirizzo della fattura "
"durante il pagamento."
#: pretix/base/settings.py:629
msgid "Show paid amount on partially paid invoices"
@@ -18715,7 +18720,7 @@ msgstr ""
#: pretix/control/templates/pretixcontrol/event/widget.html:64
#: pretix/plugins/returnurl/templates/returnurl/settings.html:15
msgid "Read our documentation for more information"
msgstr ""
msgstr "Leggi i documenti per ulteriori informazioni"
#: pretix/control/templates/pretixcontrol/event/widget.html:69
msgid ""
@@ -27263,7 +27268,7 @@ msgstr ""
#, fuzzy
msgctxt "export_category"
msgid "Check-in"
msgstr "Checkout"
msgstr "Registrazione"
#: pretix/plugins/checkinlists/exporters.py:303
msgid ""
@@ -27284,9 +27289,8 @@ msgid ""
msgstr ""
#: pretix/plugins/checkinlists/exporters.py:497
#, fuzzy
msgid "Checked out"
msgstr "Checkout"
msgstr "Verifica il tuo ordine"
#: pretix/plugins/checkinlists/exporters.py:497
#: pretix/plugins/checkinlists/exporters.py:762
@@ -28139,6 +28143,9 @@ msgid ""
"This feature is useful if you use only the payment component of pretix but "
"build your own checkout interface for other steps."
msgstr ""
"Questa funzione è utile se si utilizza solo il sistema di pagamento di "
"pretix, ma si costruisce una propria opzione di pagamento per gli altri "
"passaggi."
#: pretix/plugins/returnurl/views.py:37
#, fuzzy
@@ -29799,27 +29806,28 @@ msgstr "Check-in del biglietto effettuato"
#: pretix/plugins/webcheckin/templates/pretixplugins/webcheckin/index.html:10
#, fuzzy
msgid "Check-in"
msgstr "Checkout"
msgstr "Registrazione"
#: pretix/presale/checkoutflow.py:119
msgctxt "checkoutflow"
msgid "Step"
msgstr ""
msgstr "Passo"
#: pretix/presale/checkoutflow.py:251
#, fuzzy
msgctxt "checkoutflow"
msgid "Customer account"
msgstr "Domande"
msgstr "Profilo del cliente"
#: pretix/presale/checkoutflow.py:338
msgid "We failed to process your authentication request, please try again."
msgstr ""
#: pretix/presale/checkoutflow.py:401
#, fuzzy
msgctxt "checkoutflow"
msgid "Membership"
msgstr ""
msgstr "Affiliazione"
#: pretix/presale/checkoutflow.py:449 pretix/presale/checkoutflow.py:470
msgid ""
@@ -29830,7 +29838,7 @@ msgstr ""
#: pretix/presale/checkoutflow.py:489
msgctxt "checkoutflow"
msgid "Add-on products"
msgstr ""
msgstr "Prodotti addizionali"
#: pretix/presale/checkoutflow.py:678 pretix/presale/checkoutflow.py:686
#: pretix/presale/views/cart.py:193 pretix/presale/views/cart.py:198
@@ -30210,6 +30218,8 @@ msgid ""
"For some of the products in your cart, you can choose additional options "
"before you continue."
msgstr ""
"Per alcuni dei prodotti presenti nel carrello, è possibile scegliere opzioni "
"aggiuntive prima di proseguire."
#: pretix/presale/templates/pretixpresale/event/checkout_addons.html:16
msgid ""
@@ -30224,7 +30234,7 @@ msgstr "Stiamo cercando di riservare questi prodotti per te!"
#: pretix/presale/templates/pretixpresale/event/checkout_addons.html:28
#, fuzzy
msgid "Additional options for"
msgstr "Testo footer aggiuntivo"
msgstr "Ulteriori opzioni per"
#: pretix/presale/templates/pretixpresale/event/checkout_addons.html:64
#, fuzzy
@@ -31109,7 +31119,7 @@ msgstr ""
#, fuzzy
msgctxt "checkoutflow"
msgid "Checkout steps"
msgstr "Checkout"
msgstr "Procedura di pagamento"
#: pretix/presale/templates/pretixpresale/event/fragment_checkoutflow.html:12
#, fuzzy
@@ -32491,9 +32501,10 @@ msgid "We applied the voucher to as many products in your cart as we could."
msgstr ""
#: pretix/presale/views/cart.py:458 pretix/presale/views/cart.py:466
#, fuzzy
msgid ""
"The gift card has been saved to your cart. Please continue your checkout."
msgstr ""
msgstr "La carta regalo è stata salvata nel carrello. Continua il tuo acquisto."
#: pretix/presale/views/cart.py:502
msgid "Your cart has been updated."

View File

@@ -7,16 +7,16 @@ msgstr ""
"Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 10:10+0000\n"
"PO-Revision-Date: 2024-12-10 06:00+0000\n"
"Last-Translator: Christiaan de Die le Clercq <contact@techwolf12.nl>\n"
"Language-Team: Dutch <https://translate.pretix.eu/projects/pretix/pretix/nl/"
">\n"
"PO-Revision-Date: 2025-03-02 12:55+0000\n"
"Last-Translator: Tim Maurizio Dullaart <Tim.maurizio@gmail.com>\n"
"Language-Team: Dutch <https://translate.pretix.eu/projects/pretix/pretix/nl/>"
"\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.8.4\n"
"X-Generator: Weblate 5.10.1\n"
#: pretix/_base_settings.py:87
msgid "English"
@@ -56,7 +56,7 @@ msgstr "Tsjechisch"
#: pretix/_base_settings.py:96
msgid "Croatian"
msgstr ""
msgstr "Kroatische"
#: pretix/_base_settings.py:97
msgid "Danish"
@@ -96,7 +96,7 @@ msgstr "Italiaans"
#: pretix/_base_settings.py:106
msgid "Japanese"
msgstr ""
msgstr "Japanse"
#: pretix/_base_settings.py:107
msgid "Latvian"
@@ -2533,7 +2533,7 @@ msgstr "Bedrag"
#: pretix/plugins/reports/accountingreport.py:495
#: pretix/plugins/stripe/templates/pretixplugins/stripe/checkout_payment_confirm.html:29
msgid "Payment method"
msgstr "Betalingsmethode"
msgstr "Betaalmethode"
#: pretix/base/exporters/orderlist.py:1077
msgid "Matching ID"
@@ -3417,6 +3417,8 @@ msgid ""
"The relevant plugin is currently not active. To activate it, click here to "
"go to the plugin settings."
msgstr ""
"De plugin in kwestie is momenteel niet actief. Om het te activeren, klik "
"hier om naar de plugin instellingen te gaan."
#: pretix/base/logentrytype_registry.py:53
#, fuzzy
@@ -6251,7 +6253,7 @@ msgstr "Agenda-uitnodigingen"
#: pretix/base/models/tax.py:148
msgctxt "tax_code"
msgid "Standard rate"
msgstr ""
msgstr "Standaard tarief"
#: pretix/base/models/tax.py:152
#, fuzzy
@@ -6265,6 +6267,7 @@ msgctxt "tax_code"
msgid ""
"Averaged rate (other revenue in a agricultural and silvicultural business)"
msgstr ""
"Gemiddeld tarief (andere omzet in een agriculturele en bosbouwkundig bedrijf)"
#: pretix/base/models/tax.py:164
#, fuzzy
@@ -29557,13 +29560,14 @@ msgstr ""
#: pretix/plugins/paypal2/templates/pretixplugins/paypal2/redirect.html:17
#: pretix/plugins/stripe/templates/pretixplugins/stripe/redirect.html:17
msgid "The payment process has started in a new window."
msgstr "Het betalingsproces is begonnen in een nieuw venster."
msgstr "Het betalingsproces is begonnen in een nieuwe venster."
#: pretix/plugins/paypal/templates/pretixplugins/paypal/redirect.html:20
#: pretix/plugins/paypal2/templates/pretixplugins/paypal2/redirect.html:20
#: pretix/plugins/stripe/templates/pretixplugins/stripe/redirect.html:20
msgid "The window to enter your payment data was not opened or was closed?"
msgstr "Is het venster om uw betaling uit te voeren niet geopend?"
msgstr ""
"Het venster om je betaling in te voeren is niet geopend of was gesloten?"
#: pretix/plugins/paypal/templates/pretixplugins/paypal/redirect.html:25
#: pretix/plugins/paypal2/templates/pretixplugins/paypal2/redirect.html:25
@@ -31047,7 +31051,7 @@ msgstr "Bancontact"
#: pretix/plugins/stripe/payment.py:366
msgid "SEPA Direct Debit"
msgstr "SEPA Direct Debit"
msgstr "SEPA Automatische Incasso"
#: pretix/plugins/stripe/payment.py:369
msgid ""
@@ -31705,7 +31709,7 @@ msgstr ""
#: pretix/plugins/stripe/templates/pretixplugins/stripe/pending.html:62
msgid ""
"The payment transaction could not be completed for the following reason:"
msgstr "De betaling kon om de volgende reden niet voltooid worden:"
msgstr "De betaling kon om de volgende reden niet worden voltooid:"
#: pretix/plugins/stripe/templates/pretixplugins/stripe/sca.html:22
#, python-format
@@ -31744,8 +31748,8 @@ msgid ""
"Sorry, there was an error in the payment process. Please check the link in "
"your emails to continue."
msgstr ""
"Sorry, er trad een fout op in het betalingsproces. Klik op de link in uw "
"email om door te gaan."
"Sorry, er was een fout in het betalingsproces. Klik op de link in je e-mail "
"om door te gaan."
#: pretix/plugins/stripe/views.py:562
msgid ""

View File

@@ -7,8 +7,8 @@ msgstr ""
"Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 10:10+0000\n"
"PO-Revision-Date: 2024-10-23 14:30+0000\n"
"Last-Translator: arjan-s <github@anymore.nl>\n"
"PO-Revision-Date: 2025-03-02 12:55+0000\n"
"Last-Translator: Tim Maurizio Dullaart <Tim.maurizio@gmail.com>\n"
"Language-Team: Dutch <https://translate.pretix.eu/projects/pretix/pretix-js/"
"nl/>\n"
"Language: nl\n"
@@ -16,7 +16,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.7.2\n"
"X-Generator: Weblate 5.10.1\n"
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
@@ -30,7 +30,7 @@ msgstr "Opmerking:"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:34
msgid "PayPal"
msgstr ""
msgstr "PayPal"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:35
msgid "Venmo"
@@ -59,19 +59,19 @@ msgstr ""
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:41
msgid "iDEAL"
msgstr ""
msgstr "iDEAL"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:42
msgid "SEPA Direct Debit"
msgstr "SEPA Direct Debit"
msgstr "SEPA Automatische Incasso"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:43
msgid "Bancontact"
msgstr ""
msgstr "Bancontact"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:44
msgid "giropay"
msgstr ""
msgstr "giropay"
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:45
msgid "SOFORT"
@@ -159,7 +159,7 @@ msgstr "Betaalde bestellingen"
#: pretix/plugins/statistics/static/pretixplugins/statistics/statistics.js:27
msgid "Total revenue"
msgstr "Totaalomzet"
msgstr "Totaal omzet"
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:15
msgid "Contacting Stripe …"

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 10:10+0000\n"
"PO-Revision-Date: 2025-02-05 08:00+0000\n"
"PO-Revision-Date: 2025-03-03 16:00+0000\n"
"Last-Translator: Wiktor Przybylski <wikprzybylski@gmail.com>\n"
"Language-Team: Polish <https://translate.pretix.eu/projects/pretix/pretix/pl/"
">\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 5.9.2\n"
"X-Generator: Weblate 5.10.1\n"
#: pretix/_base_settings.py:87
msgid "English"
@@ -2118,7 +2118,7 @@ msgstr "Zasada podatkowa"
#: pretix/base/exporters/orderlist.py:644
#: pretix/base/exporters/orderlist.py:648 pretix/base/pdf.py:330
msgid "Invoice address name"
msgstr "Nazwa adresu faktury"
msgstr "Nazwa do faktury"
#: pretix/base/exporters/orderlist.py:480
#: pretix/base/exporters/orderlist.py:683 pretix/base/models/orders.py:205

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 10:10+0000\n"
"PO-Revision-Date: 2024-08-28 10:03+0000\n"
"Last-Translator: Anarion Dunedain <anarion80@gmail.com>\n"
"PO-Revision-Date: 2025-03-03 16:00+0000\n"
"Last-Translator: Wiktor Przybylski <wikprzybylski@gmail.com>\n"
"Language-Team: Polish <https://translate.pretix.eu/projects/pretix/pretix-js/"
"pl/>\n"
"Language: pl\n"
@@ -18,7 +18,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 5.7\n"
"X-Generator: Weblate 5.10.1\n"
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
@@ -773,13 +773,13 @@ msgstr "Cena"
#, javascript-format
msgctxt "widget"
msgid "Original price: %s"
msgstr ""
msgstr "Oryginalna cena: %s"
#: pretix/static/pretixpresale/js/widget/widget.js:21
#, javascript-format
msgctxt "widget"
msgid "New price: %s"
msgstr ""
msgstr "Nowa cena: %s"
#: pretix/static/pretixpresale/js/widget/widget.js:22
msgctxt "widget"
@@ -832,7 +832,7 @@ msgstr "od %(currency)s %(price)s"
#, javascript-format
msgctxt "widget"
msgid "Image of %s"
msgstr ""
msgstr "Obrazek %s"
#: pretix/static/pretixpresale/js/widget/widget.js:32
msgctxt "widget"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 10:10+0000\n"
"PO-Revision-Date: 2025-02-21 19:00+0000\n"
"Last-Translator: anonymous <noreply@weblate.org>\n"
"PO-Revision-Date: 2025-03-02 12:55+0000\n"
"Last-Translator: Kristian Feldsam <feldsam@gmail.com>\n"
"Language-Team: Slovak <https://translate.pretix.eu/projects/pretix/pretix/sk/"
">\n"
"Language: sk\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 5.10\n"
"X-Generator: Weblate 5.10.1\n"
#: pretix/_base_settings.py:87
msgid "English"
@@ -8178,7 +8178,7 @@ msgstr ""
#, python-brace-format
msgctxt "invoice"
msgid "Please complete your payment before {expire_date}."
msgstr "Prosím, dokončite svoju platbu do {expire_date}."
msgstr "Termín na zaplatenie máte do {expire_date}."
#: pretix/base/services/invoices.py:115
#, python-brace-format
@@ -13438,7 +13438,7 @@ msgstr "Zaplatené alebo potvrdené"
#: pretix/control/templates/pretixcontrol/orders/overview.html:87
#: pretix/plugins/reports/exporters.py:386
msgid "Pending"
msgstr "Čaká sa na"
msgstr "Čakajúce"
#: pretix/control/forms/filter.py:218
#: pretix/control/templates/pretixcontrol/items/question.html:29
@@ -17472,7 +17472,7 @@ msgstr "ID transakcie"
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/control.html:32
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/import_assign.html:33
msgid "Reference"
msgstr "Odkaz"
msgstr "Referencia platby"
#: pretix/control/templates/pretixcontrol/boxoffice/payment.html:100
msgid "Terminal ID"
@@ -27811,7 +27811,7 @@ msgstr ""
#: pretix/plugins/banktransfer/payment.py:457
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html:15
msgid "Please transfer the full amount to the following bank account:"
msgstr "Celú sumu, prosím, preveďte na nasledujúci bankový účet:"
msgstr "Platbu vykonajte podľa nasledujúcich bankových údajov:"
#: pretix/plugins/banktransfer/payment.py:465
#: pretix/plugins/banktransfer/payment.py:654
@@ -27945,7 +27945,7 @@ msgstr ""
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/checkout_payment_form.html:26
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/pending.html:39
msgid "Reference code (important):"
msgstr "Referenčný kód (dôležité):"
msgstr "Referencia platby (dôležité):"
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/checkout_confirm.html:31
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/checkout_payment_form.html:31
@@ -27963,7 +27963,7 @@ msgid ""
"bank account, using a personal reference code."
msgstr ""
"Po dokončení nákupu vás požiadame o prevod peňazí na náš bankový účet "
"pomocou osobného referenčného kódu."
"pomocou referencie platby."
#: pretix/plugins/banktransfer/templates/pretixplugins/banktransfer/checkout_confirm.html:43
#, python-format
@@ -31583,7 +31583,7 @@ msgstr ""
#: pretix/presale/templates/pretixpresale/event/checkout_confirm.html:207
msgid "Place binding order"
msgstr "Umiestnenie záväznej objednávky"
msgstr "Zadať záväznú objednávku"
#: pretix/presale/templates/pretixpresale/event/checkout_confirm.html:209
msgid "Submit registration"
@@ -32713,7 +32713,8 @@ msgstr ""
#: pretix/presale/templates/pretixpresale/event/order.html:43
msgid "Please note that we still await your payment to complete the process."
msgstr "Upozorňujeme, že na dokončenie procesu stále čakáme na vašu platbu."
msgstr ""
"Vezmite prosím na vedomie, že pre dokončenie objednávky je potrebná úhrada."
#: pretix/presale/templates/pretixpresale/event/order.html:55
msgid ""
@@ -32721,8 +32722,8 @@ msgid ""
"your order later. We also sent you an email containing the link to the "
"address you specified."
msgstr ""
"Ak sa chcete k objednávke dostať neskôr, založte si alebo uložte odkaz na "
"túto stránku. E-mail s odkazom sme vám poslali aj na vami zadanú adresu."
"Ak sa chcete k objednávke dostať neskôr, uložte si odkaz na túto stránku. "
"Odkaz sme Vám poslali aj e-mailom."
#: pretix/presale/templates/pretixpresale/event/order.html:58
msgid ""
@@ -32740,7 +32741,7 @@ msgstr "Zobrazenie v backende"
#: pretix/presale/templates/pretixpresale/event/order.html:90
#, python-format
msgid "A payment of %(total)s is still pending for this order."
msgstr "Platba vo výške %(total)s za túto objednávku ešte stále prebieha."
msgstr "Prosím, uhraďte platbu vo výške %(total)s za túto objednávku."
#: pretix/presale/templates/pretixpresale/event/order.html:95
#, python-format

View File

@@ -8,7 +8,7 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-02-25 10:10+0000\n"
"PO-Revision-Date: 2024-09-15 18:00+0000\n"
"PO-Revision-Date: 2025-03-01 15:14+0000\n"
"Last-Translator: Kristian Feldsam <feldsam@gmail.com>\n"
"Language-Team: Slovak <https://translate.pretix.eu/projects/pretix/pretix-js/"
"sk/>\n"
@@ -17,7 +17,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 5.7\n"
"X-Generator: Weblate 5.10.1\n"
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
@@ -350,11 +350,14 @@ msgid ""
"Your request is currently being processed. Depending on the size of your "
"event, this might take up to a few minutes."
msgstr ""
"Vaša žiadosť sa práve spracováva. V závislosti od veľkosti vašej udalosti to "
"môže trvať až niekoľko minút."
#: pretix/static/pretixbase/js/asynctask.js:63
#: pretix/static/pretixbase/js/asynctask.js:140
msgid "Your request has been queued on the server and will soon be processed."
msgstr ""
"Vaša požiadavka bola zaradená do fronty na serveri a čoskoro bude spracovaná."
#: pretix/static/pretixbase/js/asynctask.js:69
#: pretix/static/pretixbase/js/asynctask.js:146
@@ -363,6 +366,9 @@ msgid ""
"If this takes longer than two minutes, please contact us or go back in your "
"browser and try again."
msgstr ""
"Vaša požiadavka prišla na server, ale stále čakáme na jej spracovanie. Ak to "
"trvá dlhšie ako dve minúty, kontaktujte nás alebo sa vráťte späť v "
"prehliadači a skúste to znova."
#: pretix/static/pretixbase/js/asynctask.js:105
#: pretix/static/pretixbase/js/asynctask.js:193
@@ -390,7 +396,7 @@ msgstr ""
#: pretix/static/pretixbase/js/asynctask.js:230
msgid "We are processing your request …"
msgstr ""
msgstr "Vašu žiadosť spracovávame…"
#: pretix/static/pretixbase/js/asynctask.js:238
msgid ""

View File

@@ -226,12 +226,13 @@ class CheckInListMixin(BaseExporter):
NullIf('addon_to__attendee_name_cached', Value('')),
NullIf('order__invoice_address__name_cached', Value('')),
'order__code'
)
),
'pk',
)
elif sort == 'code':
qs = qs.order_by(*o, 'order__code')
qs = qs.order_by(*o, 'order__code', 'positionid', 'pk')
elif sort == 'order_datetime':
qs = qs.order_by(*o, '-order__datetime')
qs = qs.order_by(*o, '-order__datetime', 'pk')
elif sort.startswith('name:'):
part = sort[5:]
qs = qs.annotate(
@@ -244,7 +245,8 @@ class CheckInListMixin(BaseExporter):
resolved_name_part=JSONExtract('resolved_name', part)
).order_by(
*o,
'resolved_name_part'
'resolved_name_part',
'pk',
)
if form_data.get('attention_only'):

View File

@@ -52,7 +52,6 @@ from .signals import (
footer_link, global_footer_link, global_html_footer, global_html_head,
global_html_page_header, html_footer, html_head, html_page_header,
)
from .views.cart import cart_session, get_or_create_cart_id
from .views.theme import _get_source_cache_key
logger = logging.getLogger(__name__)
@@ -157,10 +156,9 @@ def _default_context(request):
ctx['languages'] = [get_language_info(code) for code in request.event.settings.locales]
ctx['cookie_providers'] = get_cookie_providers(request.event, request)
if get_or_create_cart_id(request, create=False):
c = cart_session(request)
if "widget_data" in c and c["widget_data"].get("consent"):
ctx['cookie_consent_from_widget'] = c["widget_data"].get("consent").split(",")
if 'requested_consent_from_widget' in request.session:
# We only need to present this to the frontend once, JavaScript will then save it to localStorage/sessionStorage
ctx['cookie_consent_from_widget'] = request.session.pop("requested_consent_from_widget").split(",")
if request.resolver_match:
ctx['cart_namespace'] = request.resolver_match.kwargs.get('cart_namespace', '')

View File

@@ -467,6 +467,9 @@ def iframe_entry_view_wrapper(view_func):
if 'iframe' in request.GET:
request.session['iframe_session'] = True
if request.GET.get("consent"):
request.session["requested_consent_from_widget"] = request.GET["consent"]
locale = request.GET.get('locale')
if locale and locale in [lc for lc, ll in settings.LANGUAGES]:
lng = locale

View File

@@ -511,6 +511,7 @@ class EventIndex(EventViewMixin, EventListMixin, CartMixin, TemplateView):
'require_cookie': 'true',
'cart_id': request.GET.get('take_cart_id'),
**({"locale": request.GET.get('locale')} if request.GET.get('locale') else {}),
**({"widget_data": request.GET.get('widget_data')} if request.GET.get('widget_data') else {}),
**utm_params,
}))
elif request.GET.get('iframe', '') == '1' and len(self.request.GET.get('widget_data', '{}')) > 3:
@@ -526,6 +527,7 @@ class EventIndex(EventViewMixin, EventListMixin, CartMixin, TemplateView):
"src": "widget",
**({"locale": request.GET.get('locale')} if request.GET.get('locale') else {}),
**({"take_cart_id": request.GET.get('cart_id')} if request.GET.get('cart_id') else {}),
**({"widget_data": request.GET.get('widget_data')} if request.GET.get('widget_data') else {}),
**utm_params,
})
})

View File

@@ -8,8 +8,8 @@
"name": "pretix",
"version": "0.0.0",
"dependencies": {
"@babel/core": "^7.26.7",
"@babel/preset-env": "^7.26.7",
"@babel/core": "^7.26.9",
"@babel/preset-env": "^7.26.9",
"@rollup/plugin-babel": "^6.0.4",
"@rollup/plugin-node-resolve": "^16.0.0",
"rollup": "^2.79.1",
@@ -44,30 +44,30 @@
}
},
"node_modules/@babel/compat-data": {
"version": "7.26.5",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz",
"integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg==",
"version": "7.26.8",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz",
"integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==",
"license": "MIT",
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/core": {
"version": "7.26.7",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.7.tgz",
"integrity": "sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz",
"integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==",
"license": "MIT",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.26.2",
"@babel/generator": "^7.26.5",
"@babel/generator": "^7.26.9",
"@babel/helper-compilation-targets": "^7.26.5",
"@babel/helper-module-transforms": "^7.26.0",
"@babel/helpers": "^7.26.7",
"@babel/parser": "^7.26.7",
"@babel/template": "^7.25.9",
"@babel/traverse": "^7.26.7",
"@babel/types": "^7.26.7",
"@babel/helpers": "^7.26.9",
"@babel/parser": "^7.26.9",
"@babel/template": "^7.26.9",
"@babel/traverse": "^7.26.9",
"@babel/types": "^7.26.9",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -102,13 +102,13 @@
}
},
"node_modules/@babel/generator": {
"version": "7.26.5",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz",
"integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz",
"integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==",
"license": "MIT",
"dependencies": {
"@babel/parser": "^7.26.5",
"@babel/types": "^7.26.5",
"@babel/parser": "^7.26.9",
"@babel/types": "^7.26.9",
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.25",
"jsesc": "^3.0.2"
@@ -231,9 +231,10 @@
}
},
"node_modules/@babel/helper-define-polyfill-provider": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz",
"integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==",
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz",
"integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==",
"license": "MIT",
"dependencies": {
"@babel/helper-compilation-targets": "^7.22.6",
"@babel/helper-plugin-utils": "^7.22.5",
@@ -387,25 +388,25 @@
}
},
"node_modules/@babel/helpers": {
"version": "7.26.7",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz",
"integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz",
"integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==",
"license": "MIT",
"dependencies": {
"@babel/template": "^7.25.9",
"@babel/types": "^7.26.7"
"@babel/template": "^7.26.9",
"@babel/types": "^7.26.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/parser": {
"version": "7.26.7",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz",
"integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz",
"integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==",
"license": "MIT",
"dependencies": {
"@babel/types": "^7.26.7"
"@babel/types": "^7.26.9"
},
"bin": {
"parser": "bin/babel-parser.js"
@@ -557,13 +558,14 @@
}
},
"node_modules/@babel/plugin-transform-async-generator-functions": {
"version": "7.25.9",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz",
"integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==",
"version": "7.26.8",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz",
"integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.25.9",
"@babel/helper-plugin-utils": "^7.26.5",
"@babel/helper-remap-async-to-generator": "^7.25.9",
"@babel/traverse": "^7.25.9"
"@babel/traverse": "^7.26.8"
},
"engines": {
"node": ">=6.9.0"
@@ -783,11 +785,12 @@
}
},
"node_modules/@babel/plugin-transform-for-of": {
"version": "7.25.9",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz",
"integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz",
"integrity": "sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.25.9",
"@babel/helper-plugin-utils": "^7.26.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.25.9"
},
"engines": {
@@ -1197,11 +1200,12 @@
}
},
"node_modules/@babel/plugin-transform-template-literals": {
"version": "7.25.9",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz",
"integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==",
"version": "7.26.8",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz",
"integrity": "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==",
"license": "MIT",
"dependencies": {
"@babel/helper-plugin-utils": "^7.25.9"
"@babel/helper-plugin-utils": "^7.26.5"
},
"engines": {
"node": ">=6.9.0"
@@ -1285,12 +1289,12 @@
}
},
"node_modules/@babel/preset-env": {
"version": "7.26.7",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.7.tgz",
"integrity": "sha512-Ycg2tnXwixaXOVb29rana8HNPgLVBof8qqtNQ9LE22IoyZboQbGSxI6ZySMdW3K5nAe6gu35IaJefUJflhUFTQ==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz",
"integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==",
"license": "MIT",
"dependencies": {
"@babel/compat-data": "^7.26.5",
"@babel/compat-data": "^7.26.8",
"@babel/helper-compilation-targets": "^7.26.5",
"@babel/helper-plugin-utils": "^7.26.5",
"@babel/helper-validator-option": "^7.25.9",
@@ -1304,7 +1308,7 @@
"@babel/plugin-syntax-import-attributes": "^7.26.0",
"@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
"@babel/plugin-transform-arrow-functions": "^7.25.9",
"@babel/plugin-transform-async-generator-functions": "^7.25.9",
"@babel/plugin-transform-async-generator-functions": "^7.26.8",
"@babel/plugin-transform-async-to-generator": "^7.25.9",
"@babel/plugin-transform-block-scoped-functions": "^7.26.5",
"@babel/plugin-transform-block-scoping": "^7.25.9",
@@ -1319,7 +1323,7 @@
"@babel/plugin-transform-dynamic-import": "^7.25.9",
"@babel/plugin-transform-exponentiation-operator": "^7.26.3",
"@babel/plugin-transform-export-namespace-from": "^7.25.9",
"@babel/plugin-transform-for-of": "^7.25.9",
"@babel/plugin-transform-for-of": "^7.26.9",
"@babel/plugin-transform-function-name": "^7.25.9",
"@babel/plugin-transform-json-strings": "^7.25.9",
"@babel/plugin-transform-literals": "^7.25.9",
@@ -1347,7 +1351,7 @@
"@babel/plugin-transform-shorthand-properties": "^7.25.9",
"@babel/plugin-transform-spread": "^7.25.9",
"@babel/plugin-transform-sticky-regex": "^7.25.9",
"@babel/plugin-transform-template-literals": "^7.25.9",
"@babel/plugin-transform-template-literals": "^7.26.8",
"@babel/plugin-transform-typeof-symbol": "^7.26.7",
"@babel/plugin-transform-unicode-escapes": "^7.25.9",
"@babel/plugin-transform-unicode-property-regex": "^7.25.9",
@@ -1355,9 +1359,9 @@
"@babel/plugin-transform-unicode-sets-regex": "^7.25.9",
"@babel/preset-modules": "0.1.6-no-external-plugins",
"babel-plugin-polyfill-corejs2": "^0.4.10",
"babel-plugin-polyfill-corejs3": "^0.10.6",
"babel-plugin-polyfill-corejs3": "^0.11.0",
"babel-plugin-polyfill-regenerator": "^0.6.1",
"core-js-compat": "^3.38.1",
"core-js-compat": "^3.40.0",
"semver": "^6.3.1"
},
"engines": {
@@ -1400,29 +1404,30 @@
}
},
"node_modules/@babel/template": {
"version": "7.25.9",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz",
"integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz",
"integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.25.9",
"@babel/parser": "^7.25.9",
"@babel/types": "^7.25.9"
"@babel/code-frame": "^7.26.2",
"@babel/parser": "^7.26.9",
"@babel/types": "^7.26.9"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
"version": "7.26.7",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.7.tgz",
"integrity": "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz",
"integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==",
"license": "MIT",
"dependencies": {
"@babel/code-frame": "^7.26.2",
"@babel/generator": "^7.26.5",
"@babel/parser": "^7.26.7",
"@babel/template": "^7.25.9",
"@babel/types": "^7.26.7",
"@babel/generator": "^7.26.9",
"@babel/parser": "^7.26.9",
"@babel/template": "^7.26.9",
"@babel/types": "^7.26.9",
"debug": "^4.3.1",
"globals": "^11.1.0"
},
@@ -1431,9 +1436,9 @@
}
},
"node_modules/@babel/types": {
"version": "7.26.7",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz",
"integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz",
"integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==",
"license": "MIT",
"dependencies": {
"@babel/helper-string-parser": "^7.25.9",
@@ -1763,12 +1768,13 @@
}
},
"node_modules/babel-plugin-polyfill-corejs3": {
"version": "0.10.6",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz",
"integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==",
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz",
"integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==",
"license": "MIT",
"dependencies": {
"@babel/helper-define-polyfill-provider": "^0.6.2",
"core-js-compat": "^3.38.0"
"@babel/helper-define-polyfill-provider": "^0.6.3",
"core-js-compat": "^3.40.0"
},
"peerDependencies": {
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
@@ -1848,9 +1854,9 @@
}
},
"node_modules/browserslist": {
"version": "4.24.2",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz",
"integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==",
"version": "4.24.4",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz",
"integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
"funding": [
{
"type": "opencollective",
@@ -1865,10 +1871,11 @@
"url": "https://github.com/sponsors/ai"
}
],
"license": "MIT",
"dependencies": {
"caniuse-lite": "^1.0.30001669",
"electron-to-chromium": "^1.5.41",
"node-releases": "^2.0.18",
"caniuse-lite": "^1.0.30001688",
"electron-to-chromium": "^1.5.73",
"node-releases": "^2.0.19",
"update-browserslist-db": "^1.1.1"
},
"bin": {
@@ -1898,9 +1905,9 @@
}
},
"node_modules/caniuse-lite": {
"version": "1.0.30001676",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001676.tgz",
"integrity": "sha512-Qz6zwGCiPghQXGJvgQAem79esjitvJ+CxSbSQkW9H/UX5hg8XM88d4lp2W+MEQ81j+Hip58Il+jGVdazk1z9cw==",
"version": "1.0.30001701",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001701.tgz",
"integrity": "sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw==",
"funding": [
{
"type": "opencollective",
@@ -1914,7 +1921,8 @@
"type": "github",
"url": "https://github.com/sponsors/ai"
}
]
],
"license": "CC-BY-4.0"
},
"node_modules/chalk": {
"version": "2.4.2",
@@ -2044,11 +2052,12 @@
}
},
"node_modules/core-js-compat": {
"version": "3.38.1",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz",
"integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==",
"version": "3.41.0",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.41.0.tgz",
"integrity": "sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==",
"license": "MIT",
"dependencies": {
"browserslist": "^4.23.3"
"browserslist": "^4.24.4"
},
"funding": {
"type": "opencollective",
@@ -2177,9 +2186,10 @@
"optional": true
},
"node_modules/electron-to-chromium": {
"version": "1.5.50",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.50.tgz",
"integrity": "sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw=="
"version": "1.5.109",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.109.tgz",
"integrity": "sha512-AidaH9JETVRr9DIPGfp1kAarm/W6hRJTPuCnkF+2MqhF4KaAgRIcBc8nvjk+YMXZhwfISof/7WG29eS4iGxQLQ==",
"license": "ISC"
},
"node_modules/emojis-list": {
"version": "2.1.0",
@@ -2835,9 +2845,10 @@
"optional": true
},
"node_modules/node-releases": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
"integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g=="
"version": "2.0.19",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
"integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==",
"license": "MIT"
},
"node_modules/normalize-path": {
"version": "3.0.0",
@@ -3777,25 +3788,25 @@
}
},
"@babel/compat-data": {
"version": "7.26.5",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.5.tgz",
"integrity": "sha512-XvcZi1KWf88RVbF9wn8MN6tYFloU5qX8KjuF3E1PVBmJ9eypXfs4GRiJwLuTZL0iSnJUKn1BFPa5BPZZJyFzPg=="
"version": "7.26.8",
"resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz",
"integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ=="
},
"@babel/core": {
"version": "7.26.7",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.7.tgz",
"integrity": "sha512-SRijHmF0PSPgLIBYlWnG0hyeJLwXE2CgpsXaMOrtt2yp9/86ALw6oUlj9KYuZ0JN07T4eBMVIW4li/9S1j2BGA==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz",
"integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==",
"requires": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.26.2",
"@babel/generator": "^7.26.5",
"@babel/generator": "^7.26.9",
"@babel/helper-compilation-targets": "^7.26.5",
"@babel/helper-module-transforms": "^7.26.0",
"@babel/helpers": "^7.26.7",
"@babel/parser": "^7.26.7",
"@babel/template": "^7.25.9",
"@babel/traverse": "^7.26.7",
"@babel/types": "^7.26.7",
"@babel/helpers": "^7.26.9",
"@babel/parser": "^7.26.9",
"@babel/template": "^7.26.9",
"@babel/traverse": "^7.26.9",
"@babel/types": "^7.26.9",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -3816,12 +3827,12 @@
}
},
"@babel/generator": {
"version": "7.26.5",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.5.tgz",
"integrity": "sha512-2caSP6fN9I7HOe6nqhtft7V4g7/V/gfDsC3Ag4W7kEzzvRGKqiv0pu0HogPiZ3KaVSoNDhUws6IJjDjpfmYIXw==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz",
"integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==",
"requires": {
"@babel/parser": "^7.26.5",
"@babel/types": "^7.26.5",
"@babel/parser": "^7.26.9",
"@babel/types": "^7.26.9",
"@jridgewell/gen-mapping": "^0.3.5",
"@jridgewell/trace-mapping": "^0.3.25",
"jsesc": "^3.0.2"
@@ -3918,9 +3929,9 @@
}
},
"@babel/helper-define-polyfill-provider": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz",
"integrity": "sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ==",
"version": "0.6.3",
"resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.3.tgz",
"integrity": "sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==",
"requires": {
"@babel/helper-compilation-targets": "^7.22.6",
"@babel/helper-plugin-utils": "^7.22.5",
@@ -4025,20 +4036,20 @@
}
},
"@babel/helpers": {
"version": "7.26.7",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.7.tgz",
"integrity": "sha512-8NHiL98vsi0mbPQmYAGWwfcFaOy4j2HY49fXJCfuDcdE7fMIsH9a7GdaeXpIBsbT7307WU8KCMp5pUVDNL4f9A==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz",
"integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==",
"requires": {
"@babel/template": "^7.25.9",
"@babel/types": "^7.26.7"
"@babel/template": "^7.26.9",
"@babel/types": "^7.26.9"
}
},
"@babel/parser": {
"version": "7.26.7",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.7.tgz",
"integrity": "sha512-kEvgGGgEjRUutvdVvZhbn/BxVt+5VSpwXz1j3WYXQbXDo8KzFOPNG2GQbdAiNq8g6wn1yKk7C/qrke03a84V+w==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz",
"integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==",
"requires": {
"@babel/types": "^7.26.7"
"@babel/types": "^7.26.9"
}
},
"@babel/plugin-bugfix-firefox-class-in-computed-class-key": {
@@ -4125,13 +4136,13 @@
}
},
"@babel/plugin-transform-async-generator-functions": {
"version": "7.25.9",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.9.tgz",
"integrity": "sha512-RXV6QAzTBbhDMO9fWwOmwwTuYaiPbggWQ9INdZqAYeSHyG7FzQ+nOZaUUjNwKv9pV3aE4WFqFm1Hnbci5tBCAw==",
"version": "7.26.8",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.26.8.tgz",
"integrity": "sha512-He9Ej2X7tNf2zdKMAGOsmg2MrFc+hfoAhd3po4cWfo/NWjzEAKa0oQruj1ROVUdl0e6fb6/kE/G3SSxE0lRJOg==",
"requires": {
"@babel/helper-plugin-utils": "^7.25.9",
"@babel/helper-plugin-utils": "^7.26.5",
"@babel/helper-remap-async-to-generator": "^7.25.9",
"@babel/traverse": "^7.25.9"
"@babel/traverse": "^7.26.8"
}
},
"@babel/plugin-transform-async-to-generator": {
@@ -4259,11 +4270,11 @@
}
},
"@babel/plugin-transform-for-of": {
"version": "7.25.9",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.9.tgz",
"integrity": "sha512-LqHxduHoaGELJl2uhImHwRQudhCM50pT46rIBNvtT/Oql3nqiS3wOwP+5ten7NpYSXrrVLgtZU3DZmPtWZo16A==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.26.9.tgz",
"integrity": "sha512-Hry8AusVm8LW5BVFgiyUReuoGzPUpdHQQqJY5bZnbbf+ngOHWuCuYFKw/BqaaWlvEUrF91HMhDtEaI1hZzNbLg==",
"requires": {
"@babel/helper-plugin-utils": "^7.25.9",
"@babel/helper-plugin-utils": "^7.26.5",
"@babel/helper-skip-transparent-expression-wrappers": "^7.25.9"
}
},
@@ -4503,11 +4514,11 @@
}
},
"@babel/plugin-transform-template-literals": {
"version": "7.25.9",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.9.tgz",
"integrity": "sha512-o97AE4syN71M/lxrCtQByzphAdlYluKPDBzDVzMmfCobUjjhAryZV0AIpRPrxN0eAkxXO6ZLEScmt+PNhj2OTw==",
"version": "7.26.8",
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.26.8.tgz",
"integrity": "sha512-OmGDL5/J0CJPJZTHZbi2XpO0tyT2Ia7fzpW5GURwdtp2X3fMmN8au/ej6peC/T33/+CRiIpA8Krse8hFGVmT5Q==",
"requires": {
"@babel/helper-plugin-utils": "^7.25.9"
"@babel/helper-plugin-utils": "^7.26.5"
}
},
"@babel/plugin-transform-typeof-symbol": {
@@ -4554,11 +4565,11 @@
}
},
"@babel/preset-env": {
"version": "7.26.7",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.7.tgz",
"integrity": "sha512-Ycg2tnXwixaXOVb29rana8HNPgLVBof8qqtNQ9LE22IoyZboQbGSxI6ZySMdW3K5nAe6gu35IaJefUJflhUFTQ==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.26.9.tgz",
"integrity": "sha512-vX3qPGE8sEKEAZCWk05k3cpTAE3/nOYca++JA+Rd0z2NCNzabmYvEiSShKzm10zdquOIAVXsy2Ei/DTW34KlKQ==",
"requires": {
"@babel/compat-data": "^7.26.5",
"@babel/compat-data": "^7.26.8",
"@babel/helper-compilation-targets": "^7.26.5",
"@babel/helper-plugin-utils": "^7.26.5",
"@babel/helper-validator-option": "^7.25.9",
@@ -4572,7 +4583,7 @@
"@babel/plugin-syntax-import-attributes": "^7.26.0",
"@babel/plugin-syntax-unicode-sets-regex": "^7.18.6",
"@babel/plugin-transform-arrow-functions": "^7.25.9",
"@babel/plugin-transform-async-generator-functions": "^7.25.9",
"@babel/plugin-transform-async-generator-functions": "^7.26.8",
"@babel/plugin-transform-async-to-generator": "^7.25.9",
"@babel/plugin-transform-block-scoped-functions": "^7.26.5",
"@babel/plugin-transform-block-scoping": "^7.25.9",
@@ -4587,7 +4598,7 @@
"@babel/plugin-transform-dynamic-import": "^7.25.9",
"@babel/plugin-transform-exponentiation-operator": "^7.26.3",
"@babel/plugin-transform-export-namespace-from": "^7.25.9",
"@babel/plugin-transform-for-of": "^7.25.9",
"@babel/plugin-transform-for-of": "^7.26.9",
"@babel/plugin-transform-function-name": "^7.25.9",
"@babel/plugin-transform-json-strings": "^7.25.9",
"@babel/plugin-transform-literals": "^7.25.9",
@@ -4615,7 +4626,7 @@
"@babel/plugin-transform-shorthand-properties": "^7.25.9",
"@babel/plugin-transform-spread": "^7.25.9",
"@babel/plugin-transform-sticky-regex": "^7.25.9",
"@babel/plugin-transform-template-literals": "^7.25.9",
"@babel/plugin-transform-template-literals": "^7.26.8",
"@babel/plugin-transform-typeof-symbol": "^7.26.7",
"@babel/plugin-transform-unicode-escapes": "^7.25.9",
"@babel/plugin-transform-unicode-property-regex": "^7.25.9",
@@ -4623,9 +4634,9 @@
"@babel/plugin-transform-unicode-sets-regex": "^7.25.9",
"@babel/preset-modules": "0.1.6-no-external-plugins",
"babel-plugin-polyfill-corejs2": "^0.4.10",
"babel-plugin-polyfill-corejs3": "^0.10.6",
"babel-plugin-polyfill-corejs3": "^0.11.0",
"babel-plugin-polyfill-regenerator": "^0.6.1",
"core-js-compat": "^3.38.1",
"core-js-compat": "^3.40.0",
"semver": "^6.3.1"
},
"dependencies": {
@@ -4655,33 +4666,33 @@
}
},
"@babel/template": {
"version": "7.25.9",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.25.9.tgz",
"integrity": "sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz",
"integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==",
"requires": {
"@babel/code-frame": "^7.25.9",
"@babel/parser": "^7.25.9",
"@babel/types": "^7.25.9"
"@babel/code-frame": "^7.26.2",
"@babel/parser": "^7.26.9",
"@babel/types": "^7.26.9"
}
},
"@babel/traverse": {
"version": "7.26.7",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.7.tgz",
"integrity": "sha512-1x1sgeyRLC3r5fQOM0/xtQKsYjyxmFjaOrLJNtZ81inNjyJHGIolTULPiSc/2qe1/qfpFLisLQYFnnZl7QoedA==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz",
"integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==",
"requires": {
"@babel/code-frame": "^7.26.2",
"@babel/generator": "^7.26.5",
"@babel/parser": "^7.26.7",
"@babel/template": "^7.25.9",
"@babel/types": "^7.26.7",
"@babel/generator": "^7.26.9",
"@babel/parser": "^7.26.9",
"@babel/template": "^7.26.9",
"@babel/types": "^7.26.9",
"debug": "^4.3.1",
"globals": "^11.1.0"
}
},
"@babel/types": {
"version": "7.26.7",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.7.tgz",
"integrity": "sha512-t8kDRGrKXyp6+tjUh7hw2RLyclsW4TRoRvRHtSyAX9Bb5ldlFh+90YAYY6awRXrlB4G5G2izNeGySpATlFzmOg==",
"version": "7.26.9",
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz",
"integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==",
"requires": {
"@babel/helper-string-parser": "^7.25.9",
"@babel/helper-validator-identifier": "^7.25.9"
@@ -4907,12 +4918,12 @@
}
},
"babel-plugin-polyfill-corejs3": {
"version": "0.10.6",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz",
"integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==",
"version": "0.11.1",
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz",
"integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==",
"requires": {
"@babel/helper-define-polyfill-provider": "^0.6.2",
"core-js-compat": "^3.38.0"
"@babel/helper-define-polyfill-provider": "^0.6.3",
"core-js-compat": "^3.40.0"
}
},
"babel-plugin-polyfill-regenerator": {
@@ -4974,13 +4985,13 @@
}
},
"browserslist": {
"version": "4.24.2",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz",
"integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==",
"version": "4.24.4",
"resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz",
"integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==",
"requires": {
"caniuse-lite": "^1.0.30001669",
"electron-to-chromium": "^1.5.41",
"node-releases": "^2.0.18",
"caniuse-lite": "^1.0.30001688",
"electron-to-chromium": "^1.5.73",
"node-releases": "^2.0.19",
"update-browserslist-db": "^1.1.1"
}
},
@@ -4998,9 +5009,9 @@
}
},
"caniuse-lite": {
"version": "1.0.30001676",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001676.tgz",
"integrity": "sha512-Qz6zwGCiPghQXGJvgQAem79esjitvJ+CxSbSQkW9H/UX5hg8XM88d4lp2W+MEQ81j+Hip58Il+jGVdazk1z9cw=="
"version": "1.0.30001701",
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001701.tgz",
"integrity": "sha512-faRs/AW3jA9nTwmJBSO1PQ6L/EOgsB5HMQQq4iCu5zhPgVVgO/pZRHlmatwijZKetFw8/Pr4q6dEN8sJuq8qTw=="
},
"chalk": {
"version": "2.4.2",
@@ -5114,11 +5125,11 @@
}
},
"core-js-compat": {
"version": "3.38.1",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz",
"integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==",
"version": "3.41.0",
"resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.41.0.tgz",
"integrity": "sha512-RFsU9LySVue9RTwdDVX/T0e2Y6jRYWXERKElIjpuEOEnxaXffI0X7RUwVzfYLfzuLXSNJDYoRYUAmRUcyln20A==",
"requires": {
"browserslist": "^4.23.3"
"browserslist": "^4.24.4"
}
},
"css": {
@@ -5218,9 +5229,9 @@
"optional": true
},
"electron-to-chromium": {
"version": "1.5.50",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.50.tgz",
"integrity": "sha512-eMVObiUQ2LdgeO1F/ySTXsvqvxb6ZH2zPGaMYsWzRDdOddUa77tdmI0ltg+L16UpbWdhPmuF3wIQYyQq65WfZw=="
"version": "1.5.109",
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.109.tgz",
"integrity": "sha512-AidaH9JETVRr9DIPGfp1kAarm/W6hRJTPuCnkF+2MqhF4KaAgRIcBc8nvjk+YMXZhwfISof/7WG29eS4iGxQLQ=="
},
"emojis-list": {
"version": "2.1.0",
@@ -5706,9 +5717,9 @@
"optional": true
},
"node-releases": {
"version": "2.0.18",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz",
"integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g=="
"version": "2.0.19",
"resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz",
"integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw=="
},
"normalize-path": {
"version": "3.0.0",

View File

@@ -4,8 +4,8 @@
"private": true,
"scripts": {},
"dependencies": {
"@babel/core": "^7.26.7",
"@babel/preset-env": "^7.26.7",
"@babel/core": "^7.26.9",
"@babel/preset-env": "^7.26.9",
"@rollup/plugin-babel": "^6.0.4",
"@rollup/plugin-node-resolve": "^16.0.0",
"vue": "^2.7.16",

View File

@@ -4,8 +4,21 @@ $(function () {
window.pretix = window.pretix || {};
var storage_key = $("#cookie-consent-storage-key").text();
function update_consent(consent) {
if (storage_key && window.localStorage) window.localStorage[storage_key] = JSON.stringify(consent);
var widget_consent = $("#cookie-consent-from-widget").text();
var consent_checkboxes = $("#cookie-consent-details input[type=checkbox][name]");
var consent_modal = $("#cookie-consent-modal");
function update_consent(consent, sessionOnly) {
if (storage_key && window.sessionStorage && sessionOnly) {
if (!window.localStorage[storage_key] || window.localStorage[storage_key] !== JSON.stringify(consent)) {
// No need to write to sessionStorage if the value is identical to the one in localStorage
window.sessionStorage[storage_key] = JSON.stringify(consent);
}
} else if (storage_key && window.localStorage) {
window.localStorage[storage_key] = JSON.stringify(consent);
// When saving permanent storage, clear session storage
window.sessionStorage.removeItem(storage_key);
}
window.pretix.cookie_consent = consent;
// Event() is not supported by IE11, see ployfill here:
@@ -16,44 +29,69 @@ $(function () {
}
if (!storage_key) {
update_consent(null);
// We are not on a page where the consent should run, fire the change event with empty consent but don't
// actually store anything.
update_consent(null, false);
return;
}
if (!window.localStorage) {
// Consent not supported. Even IE8 supports it, so we're on a weird embedded device.
// Let's just say we don't consent then.
update_consent({})
update_consent({}, false)
return;
}
var storage_val = window.localStorage[storage_key];
var show_dialog = !storage_val;
var consent_checkboxes = $("#cookie-consent-details input[type=checkbox][name]");
var consent_modal = $("#cookie-consent-modal");
var widget_consent = $("#cookie-consent-from-widget").text();
if (widget_consent) {
var storage_val, consent_source, save_for_session_only;
if (window.sessionStorage[storage_key]) {
// A manual input was given inside a widget. This is the user's last explicit choice and takes precedence
// as long as they are in the widget.
storage_val = JSON.parse(window.sessionStorage[storage_key]);
consent_source = 'sessionStorage';
save_for_session_only = true;
} else if (widget_consent) {
// An input was given through the widget. This takes precedence over localStorage as we need to assume the
// widget embedder is doing a correct job. If the user never visited the page without the widget, we also
// use it to prefill local storage to save the user from seeing more cookie banners. (This will stop working
// when browsers partition local storage of iframes, anyway.) If the user does have visited the page without
// the widget before and has a consent setting in localStorage, we respect the widget consent *only* within
// the widget -- hence, we save it into sessionStorage. We need to save it into sessionStorage because the
// widget_data value itself will not "survive" the entire lifetime of the tab, i.e. it is no longer present
// after the order was confirmed.
widget_consent = JSON.parse(widget_consent);
storage_val = {}
storage_val = {};
consent_checkboxes.each(function () {
this.checked = storage_val[this.name] = widget_consent.indexOf(this.name) > -1;
})
show_dialog = false;
$("#cookie-consent-reopen").hide();
} else if (storage_val) {
storage_val = JSON.parse(storage_val);
consent_checkboxes.each(function () {
if (typeof storage_val[this.name] === "undefined") {
// A new cookie type has been added that we haven't asked for yet
show_dialog = true;
} else if (storage_val[this.name]) {
this.checked = true;
}
})
});
consent_source = 'widget';
save_for_session_only = !!window.localStorage[storage_key];
} else if (window.localStorage[storage_key]) {
// The user made a specific selection, let's use that.
storage_val = JSON.parse(window.localStorage[storage_key]);
consent_source = 'localStorage';
save_for_session_only = false;
} else {
storage_val = {}
// No consent given, dialog will be shown.
storage_val = {};
consent_source = 'new';
save_for_session_only = false;
}
update_consent(storage_val);
var show_dialog = false;
consent_checkboxes.each(function () {
if (typeof storage_val[this.name] === "undefined") {
// A new cookie type has been added that we haven't asked for yet
if (consent_source === "widget") {
// Trust the widget, keep it as "no consent"
} else {
show_dialog = true;
}
} else if (storage_val[this.name]) {
this.checked = true;
}
})
update_consent(storage_val, save_for_session_only);
function _set_button_text () {
var btn = $("#cookie-consent-button-no");
@@ -83,7 +121,8 @@ $(function () {
consent[this.name] = this.checked = consent_all || this.checked;
});
if (consent_all) _set_button_text();
update_consent(consent);
// Always save explicit consent to permanent storage
update_consent(consent, false);
});
consent_checkboxes.on("change", _set_button_text);
$("#cookie-consent-reopen").on("click", function (e) {

View File

@@ -313,9 +313,9 @@ Vue.component('availbox', {
waiting_list_url: function () {
var u
if (this.item.has_variations) {
u = this.$root.target_url + 'w/' + widget_id + '/waitinglist/?item=' + this.item.id + '&var=' + this.variation.id + '&widget_data=' + encodeURIComponent(this.$root.widget_data_json);
u = this.$root.target_url + 'w/' + widget_id + '/waitinglist/?item=' + this.item.id + '&var=' + this.variation.id + '&widget_data=' + encodeURIComponent(this.$root.widget_data_json) + this.$root.consent_parameter;
} else {
u = this.$root.target_url + 'w/' + widget_id + '/waitinglist/?item=' + this.item.id + '&widget_data=' + encodeURIComponent(this.$root.widget_data_json);
u = this.$root.target_url + 'w/' + widget_id + '/waitinglist/?item=' + this.item.id + '&widget_data=' + encodeURIComponent(this.$root.widget_data_json) + this.$root.consent_parameter;
}
if (this.$root.subevent) {
u += '&subevent=' + this.$root.subevent
@@ -736,6 +736,7 @@ var shared_methods = {
} else {
url = url + '?iframe=1&locale=' + lang + '&take_cart_id=' + this.$root.cart_id;
}
url += this.$root.consent_parameter;
if (this.$root.additionalURLParams) {
url += '&' + this.$root.additionalURLParams;
}
@@ -786,6 +787,7 @@ var shared_methods = {
if (this.$root.additionalURLParams) {
redirect_url += '&' + this.$root.additionalURLParams;
}
redirect_url += this.$root.consent_parameter;
this.$root.overlay.frame_src = redirect_url;
},
voucher_open: function (voucher) {
@@ -797,6 +799,7 @@ var shared_methods = {
if (this.$root.additionalURLParams) {
redirect_url += '&' + this.$root.additionalURLParams;
}
redirect_url += this.$root.consent_parameter;
if (this.$root.useIframe) {
this.$root.overlay.frame_src = redirect_url;
} else {
@@ -817,6 +820,7 @@ var shared_methods = {
if (this.$root.widget_data) {
redirect_url += '&widget_data=' + encodeURIComponent(this.$root.widget_data_json);
}
redirect_url += this.$root.consent_parameter;
if (this.$root.additionalURLParams) {
redirect_url += '&' + this.$root.additionalURLParams;
}
@@ -1017,6 +1021,7 @@ Vue.component('pretix-widget-event-form', {
+ '<input type="hidden" name="_voucher_code" :value="$root.voucher_code" v-if="$root.voucher_code">'
+ '<input type="hidden" name="subevent" :value="$root.subevent" />'
+ '<input type="hidden" name="widget_data" :value="$root.widget_data_json" />'
+ '<input v-if="$root.consent_parameter_value" type="hidden" name="consent" :value="$root.consent_parameter_value" />'
// Error message
+ '<div class="pretix-widget-error-message" v-if="$root.error">{{ $root.error }}</div>'
@@ -1072,6 +1077,7 @@ Vue.component('pretix-widget-event-form', {
+ '</div>'
+ '<input type="hidden" name="subevent" :value="$root.subevent" />'
+ '<input type="hidden" name="widget_data" :value="$root.widget_data_json" />'
+ '<input v-if="$root.consent_parameter_value" type="hidden" name="consent" :value="$root.consent_parameter_value" />'
+ '<input type="hidden" name="locale" value="' + lang + '" />'
+ '<div class="pretix-widget-voucher-button-wrap">'
+ '<button @click="$parent.redeem">' + strings.redeem + '</button>'
@@ -1706,6 +1712,7 @@ Vue.component('pretix-button', {
+ '<input type="hidden" name="subevent" :value="$root.subevent" />'
+ '<input type="hidden" name="locale" :value="$root.lang" />'
+ '<input type="hidden" name="widget_data" :value="$root.widget_data_json" />'
+ '<input v-if="$root.consent_parameter_value" type="hidden" name="consent" :value="$root.consent_parameter_value" />'
+ '<input type="hidden" v-for="item in $root.items" :name="item.item" :value="item.count" />'
+ '<button class="pretix-button" @click="buy" v-html="$root.button_text"></button>'
+ '</form>'
@@ -1923,6 +1930,7 @@ var shared_root_methods = {
if (this.$root.additionalURLParams) {
redirect_url += '&' + this.$root.additionalURLParams;
}
redirect_url += this.$root.consent_parameter;
if (this.$root.useIframe) {
this.$root.overlay.frame_src = redirect_url;
} else {
@@ -1965,6 +1973,7 @@ var shared_root_computed = {
if (this.subevent) {
form_target += "&subevent=" + this.subevent;
}
form_target += this.$root.consent_parameter;
if (this.$root.additionalURLParams) {
form_target += '&' + this.$root.additionalURLParams;
}
@@ -1978,9 +1987,13 @@ var shared_root_computed = {
},
formAction: function () {
if (!this.useIframe && this.is_button && this.items.length === 0) {
var target = this.target_url;
var target;
if (this.voucher_code) {
target = this.target_url + 'redeem';
} else if (this.subevent) {
target = this.target_url + this.subevent + '/';
} else {
target = this.target_url;
}
return target;
}
@@ -1996,6 +2009,7 @@ var shared_root_computed = {
if (cookie) {
form_target += "&take_cart_id=" + cookie;
}
form_target += this.$root.consent_parameter
return form_target
},
newTabTarget: function () {
@@ -2029,8 +2043,26 @@ var shared_root_computed = {
}
return has_priced || cnt_items > 1;
},
consent_parameter_value: function () {
if (typeof this.widget_data["consent"] !== "undefined") {
return encodeURIComponent(this.widget_data["consent"]);
}
return "";
},
consent_parameter: function () {
if (typeof this.widget_data["consent"] !== "undefined") {
return "&consent=" + encodeURIComponent(this.widget_data["consent"]);
}
return "";
},
widget_data_json: function () {
return JSON.stringify(this.widget_data);
var cloned_data = Object.assign({}, this.widget_data);
if (typeof cloned_data["consent"] !== "undefined") {
// Remove consent as we pass it differently. We still keep it as widget_data in the input to avoid breaking
// the JS API of the widget.
delete cloned_data["consent"];
}
return JSON.stringify(cloned_data);
},
additionalURLParams: function () {
if (!window.location.search.indexOf('utm_')) {