Compare commits

...

3 Commits

Author SHA1 Message Date
Raphael Michel
8baacda154 Rebase migration 2025-08-18 11:01:46 +02:00
Raphael Michel
bbc54a3852 Fix duplicate setting of timezone 2025-08-18 11:01:18 +02:00
Raphael Michel
e177bc7475 Upgrade to hierarkey 2.0 2025-08-18 11:01:18 +02:00
3 changed files with 34 additions and 3 deletions

View File

@@ -42,7 +42,7 @@ dependencies = [
"django-filter==25.1",
"django-formset-js-improved==0.5.0.3",
"django-formtools==2.5.1",
"django-hierarkey==1.2.*",
"django-hierarkey==2.0.*",
"django-hijack==3.7.*",
"django-i18nfield==1.10.*",
"django-libsass==0.9",

View File

@@ -0,0 +1,28 @@
# Generated by Django 4.2.16 on 2025-08-14 09:40
from django.db import migrations
from hierarkey.utils import CleanHierarkeyDuplicates
class Migration(migrations.Migration):
dependencies = [
("pretixbase", "0285_voucher_created"),
]
operations = [
CleanHierarkeyDuplicates("GlobalSettingsObject_SettingsStore"),
CleanHierarkeyDuplicates("Organizer_SettingsStore"),
CleanHierarkeyDuplicates("Event_SettingsStore"),
migrations.AlterUniqueTogether(
name="event_settingsstore",
unique_together={("object", "key")},
),
migrations.AlterUniqueTogether(
name="globalsettingsobject_settingsstore",
unique_together={("key",)},
),
migrations.AlterUniqueTogether(
name="organizer_settingsstore",
unique_together={("object", "key")},
),
]

View File

@@ -1085,7 +1085,7 @@ class Event(EventMixin, LoggedModel):
s.save(force_insert=True)
valid_sales_channel_identifers = set(self.organizer.sales_channels.values_list("identifier", flat=True))
skip_settings = (
skip_settings = {
'ticket_secrets_pretix_sig1_pubkey',
'ticket_secrets_pretix_sig1_privkey',
# no longer used, but we still don't need to copy them
@@ -1093,7 +1093,10 @@ class Event(EventMixin, LoggedModel):
'presale_css_checksum',
'presale_widget_css_file',
'presale_widget_css_checksum',
)
} | {
# Some settings might already exist due to e.g. the timezone being special in the API
s.key for s in self.settings._objects.all()
}
settings_to_save = []
for s in other.settings._objects.all():
if s.key in skip_settings: