Extend migration to map new visible/editable values

This commit is contained in:
Jeremy Stretch 2023-11-16 09:23:00 -05:00
parent b1a60ca894
commit 9838c34797

View File

@ -1,6 +1,18 @@
from django.db import migrations, models from django.db import migrations, models
def update_ui_attrs(apps, schema_editor):
"""
Replicate legacy ui_visibility values to the new ui_visible and ui_editable fields.
"""
CustomField = apps.get_model('extras', 'CustomField')
CustomField.objects.filter(ui_visibility='read-write').update(ui_visible='always', ui_editable='yes')
CustomField.objects.filter(ui_visibility='read-only').update(ui_visible='always', ui_editable='no')
CustomField.objects.filter(ui_visibility='hidden').update(ui_visible='hidden', ui_editable='hidden')
CustomField.objects.filter(ui_visibility='hidden-ifunset').update(ui_visible='if-set', ui_editable='yes')
class Migration(migrations.Migration): class Migration(migrations.Migration):
dependencies = [ dependencies = [
@ -18,4 +30,8 @@ class Migration(migrations.Migration):
name='ui_visible', name='ui_visible',
field=models.CharField(default='always', max_length=50), field=models.CharField(default='always', max_length=50),
), ),
migrations.RunPython(
code=update_ui_attrs,
reverse_code=migrations.RunPython.noop
),
] ]