49 lines
1.6 KiB
Python
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),
|
|
]
|