snapshot: preserve dynamic builder and section ordering work
This commit is contained in:
@@ -0,0 +1,46 @@
|
||||
# Generated by Django 5.1.5 on 2026-03-27 12:26
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('workflows', '0055_offboardingrequest_custom_field_values_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterField(
|
||||
model_name='formcustomfieldconfig',
|
||||
name='section_key',
|
||||
field=models.CharField(max_length=80),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='formfieldconfig',
|
||||
name='page_key',
|
||||
field=models.CharField(blank=True, default='', max_length=80),
|
||||
),
|
||||
migrations.AlterField(
|
||||
model_name='formsectionconfig',
|
||||
name='section_key',
|
||||
field=models.CharField(max_length=80),
|
||||
),
|
||||
migrations.CreateModel(
|
||||
name='FormCustomSectionConfig',
|
||||
fields=[
|
||||
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
||||
('form_type', models.CharField(choices=[('onboarding', 'Onboarding')], max_length=20)),
|
||||
('section_key', models.SlugField(max_length=80)),
|
||||
('sort_order', models.PositiveIntegerField(default=0)),
|
||||
('title', models.CharField(max_length=255)),
|
||||
('title_en', models.CharField(blank=True, max_length=255)),
|
||||
('is_active', models.BooleanField(default=True)),
|
||||
],
|
||||
options={
|
||||
'verbose_name': 'Benutzerdefinierter Formularabschnitt',
|
||||
'verbose_name_plural': 'Benutzerdefinierte Formularabschnitte',
|
||||
'ordering': ['form_type', 'sort_order', 'section_key'],
|
||||
'unique_together': {('form_type', 'section_key')},
|
||||
},
|
||||
),
|
||||
]
|
||||
@@ -0,0 +1,20 @@
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
def remove_phone_box_rule(apps, schema_editor):
|
||||
FormConditionalRuleConfig = apps.get_model('workflows', 'FormConditionalRuleConfig')
|
||||
FormConditionalRuleConfig.objects.filter(
|
||||
form_type='onboarding',
|
||||
target_key='phone-box',
|
||||
).update(is_active=False, clauses=[])
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('workflows', '0056_alter_formcustomfieldconfig_section_key_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RunPython(remove_phone_box_rule, migrations.RunPython.noop),
|
||||
]
|
||||
@@ -0,0 +1,34 @@
|
||||
# Generated by Django 5.1.5 on 2026-03-27 15:45
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
def seed_section_sort_order(apps, schema_editor):
|
||||
FormSectionConfig = apps.get_model('workflows', 'FormSectionConfig')
|
||||
defaults = {
|
||||
'onboarding': ['stammdaten', 'vertrag', 'itsetup', 'abschluss'],
|
||||
'offboarding': ['mitarbeitende', 'austritt', 'abschluss'],
|
||||
}
|
||||
for form_type, section_keys in defaults.items():
|
||||
for index, section_key in enumerate(section_keys):
|
||||
FormSectionConfig.objects.filter(form_type=form_type, section_key=section_key).update(sort_order=index)
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('workflows', '0057_remove_phone_box_conditional_rule'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AlterModelOptions(
|
||||
name='formsectionconfig',
|
||||
options={'ordering': ['form_type', 'sort_order', 'section_key'], 'verbose_name': 'Formularabschnitt-Konfiguration', 'verbose_name_plural': 'Formularabschnitt-Konfigurationen'},
|
||||
),
|
||||
migrations.AddField(
|
||||
model_name='formsectionconfig',
|
||||
name='sort_order',
|
||||
field=models.PositiveIntegerField(default=0),
|
||||
),
|
||||
migrations.RunPython(seed_section_sort_order, migrations.RunPython.noop),
|
||||
]
|
||||
Reference in New Issue
Block a user