1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00
netbox-community-netbox/netbox/extras/migrations/0115_convert_dashboard_widgets.py
Arthur Hanson 209f596397 15815 convert dashboard widgets for users/groups (#15839)
* 15815 convert dashboard widgets for users/groups

* 15815 review fixes

* 15815 catch DoesNotExist for widget content type

* 15815 add logging
2024-05-01 09:56:46 -04:00

30 lines
919 B
Python

# Generated by Django 5.0.4 on 2024-04-24 20:09
from django.db import migrations
def update_dashboard_widgets(apps, schema_editor):
Dashboard = apps.get_model('extras', 'Dashboard')
for dashboard in Dashboard.objects.all():
for key, widget in dashboard.config.items():
if models := widget['config'].get('models'):
models = list(map(lambda x: x.replace('users.netboxgroup', 'users.group'), models))
models = list(map(lambda x: x.replace('users.netboxuser', 'users.user'), models))
dashboard.config[key]['config']['models'] = models
dashboard.save()
class Migration(migrations.Migration):
dependencies = [
('extras', '0114_customfield_add_comments'),
]
operations = [
migrations.RunPython(
code=update_dashboard_widgets,
reverse_code=migrations.RunPython.noop
),
]