You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
44 lines
1.6 KiB
Python
44 lines
1.6 KiB
Python
from django.db import migrations
|
|
|
|
|
|
def create_permissions(apps, schema_editor):
|
|
EmployeePermission = apps.get_model('accounts', 'EmployeePermission')
|
|
ClientPermission = apps.get_model('accounts', 'ClientPermission')
|
|
|
|
employee_permissions = [
|
|
(1, 'can_manage_containers', 'Can manage containers'),
|
|
(2, 'can_view_reports', 'Can view reports'),
|
|
(3, 'can_handle_operations', 'Can handle operations'),
|
|
]
|
|
for _id, codename, name in employee_permissions:
|
|
EmployeePermission.objects.create(id=_id, codename=codename, name=name)
|
|
|
|
client_permissions = [
|
|
(1, 'can_view_booking', 'Can view booking'),
|
|
(2, 'can_manage_booking', 'Can book container'),
|
|
(3, 'can_view_preinfo', 'Can view preinfo'),
|
|
(4, 'can_manage_preinfo', 'Can manage preinfo'),
|
|
(5, 'can_view_payment', 'Can view payment'),
|
|
(6, 'can_manage_payment', 'Can manage payment'),
|
|
(7, 'can_manage_company_users', 'Can manage company users'),
|
|
]
|
|
for _id, codename, name in client_permissions:
|
|
ClientPermission.objects.create(id=_id, codename=codename, name=name)
|
|
|
|
|
|
def reverse_permissions(apps, schema_editor):
|
|
EmployeePermission = apps.get_model('accounts', 'EmployeePermission')
|
|
ClientPermission = apps.get_model('accounts', 'ClientPermission')
|
|
|
|
EmployeePermission.objects.all().delete()
|
|
ClientPermission.objects.all().delete()
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
dependencies = [
|
|
('accounts', '0007_auto_20250725_1920'), # Adjust this to your last migration
|
|
]
|
|
|
|
operations = [
|
|
migrations.RunPython(create_permissions, reverse_permissions),
|
|
] |