loko/loko/home/migrations/0008_create_controller_shortcuts_widget.py

49 lines
1.6 KiB
Python

from django.db import migrations
def create_controller_shortcuts_widget(apps, schema_editor):
HomeWidget = apps.get_model('home', 'HomeWidget')
HomeWidgetConditionGroup = apps.get_model('home', 'HomeWidgetConditionGroup')
HomeWidgetCondition = apps.get_model('home', 'HomeWidgetCondition')
Role = apps.get_model('common', 'Role')
widget, created = HomeWidget.objects.get_or_create(
widget_code='controller_shortcuts',
defaults={'is_active': True}
)
if not widget.condition_groups.exists():
controller_role = Role.objects.filter(name='controller').first()
if controller_role:
group = HomeWidgetConditionGroup.objects.create(
widget=widget,
label="Contrôleurs",
order=15,
col_width=4,
priority=0,
is_active=True
)
HomeWidgetCondition.objects.create(
group=group,
condition_type='role',
role=controller_role,
is_active=True,
is_negated=False
)
def remove_controller_shortcuts_widget(apps, schema_editor):
HomeWidget = apps.get_model('home', 'HomeWidget')
HomeWidget.objects.filter(widget_code='controller_shortcuts').delete()
class Migration(migrations.Migration):
dependencies = [
('home', '0007_alter_homewidget_widget_code'),
('common', '0001_initial'),
]
operations = [
migrations.RunPython(create_controller_shortcuts_widget, remove_controller_shortcuts_widget),
]