diff --git a/netbox/extras/migrations/0100_customfield_ui_attrs.py b/netbox/extras/migrations/0100_customfield_ui_attrs.py index 084557ebd..44de004fe 100644 --- a/netbox/extras/migrations/0100_customfield_ui_attrs.py +++ b/netbox/extras/migrations/0100_customfield_ui_attrs.py @@ -1,6 +1,18 @@ 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): dependencies = [ @@ -18,4 +30,8 @@ class Migration(migrations.Migration): name='ui_visible', field=models.CharField(default='always', max_length=50), ), + migrations.RunPython( + code=update_ui_attrs, + reverse_code=migrations.RunPython.noop + ), ]