From 9838c347973f79b07622a07f5dc29c023df7a065 Mon Sep 17 00:00:00 2001 From: Jeremy Stretch Date: Thu, 16 Nov 2023 09:23:00 -0500 Subject: [PATCH] Extend migration to map new visible/editable values --- .../migrations/0100_customfield_ui_attrs.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) 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 + ), ]