WalletLayout now contain layouts for all platforms

This commit is contained in:
Kara Engelhardt
2026-08-11 09:54:14 +02:00
parent d442c9b282
commit 49d3eda203
12 changed files with 259 additions and 185 deletions
@@ -1,8 +1,8 @@
# Generated by Django 4.2.28 on 2026-03-17 16:29
# Generated by Django 5.2.13 on 2026-05-19 15:39
from django.db import migrations, models
import django.db.models.deletion
import pretix.base.models.base
from django.db import migrations, models
class Migration(migrations.Migration):
@@ -10,7 +10,7 @@ class Migration(migrations.Migration):
initial = True
dependencies = [
("pretixbase", "0297_outgoingmail"),
("pretixbase", "0300_alter_customer_locale_alter_user_locale"),
]
operations = [
@@ -24,9 +24,6 @@ class Migration(migrations.Migration):
),
),
("name", models.CharField(max_length=190)),
("platform", models.CharField(max_length=10)),
("style", models.CharField(max_length=255)),
("layout", models.TextField()),
(
"event",
models.ForeignKey(
@@ -37,7 +34,64 @@ class Migration(migrations.Migration):
),
],
options={
"ordering": ("name",),
"abstract": False,
},
bases=(models.Model, pretix.base.models.base.LoggingMixin),
),
migrations.CreateModel(
name="WalletLayoutItem",
fields=[
(
"id",
models.BigAutoField(
auto_created=True, primary_key=True, serialize=False
),
),
(
"item",
models.ForeignKey(
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="walletlayout_assignments",
to="pretixbase.item",
),
),
(
"layout",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="item_assignments",
to="wallet.walletlayout",
),
),
],
options={
"unique_together": {("item", "layout")},
},
),
migrations.CreateModel(
name="WalletPlatformLayout",
fields=[
(
"id",
models.BigAutoField(
auto_created=True, primary_key=True, serialize=False
),
),
("platform", models.CharField(max_length=10)),
("style", models.CharField(max_length=255)),
("layout", models.JSONField(default=dict)),
(
"parent",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="platform_layouts",
to="wallet.walletlayout",
),
),
],
options={
"unique_together": {("parent", "platform")},
},
bases=(models.Model, pretix.base.models.base.LoggingMixin),
),