Features: (1) Adjust group creation logic to assign permissions only when groups are newly created;

Fixes: (1) Correct conditional checks in group initialization to ensure permission assignment;

Extra: (1) Minor refactor to improve code readability around permission assignment logic;
This commit is contained in:
Egor Pavlovich Gorbunov 2025-11-12 15:36:43 +03:00
parent 0abcb50e60
commit 45ae5b02f3

View file

@ -129,27 +129,27 @@ class Command(BaseCommand):
Vendor.objects.get_or_create(name="INNER") Vendor.objects.get_or_create(name="INNER")
user_support, is_user_support_created = Group.objects.get_or_create(name="User Support") user_support, is_user_support_created = Group.objects.get_or_create(name="User Support")
if not is_user_support_created: if is_user_support_created:
perms = Permission.objects.filter(codename__in=user_support_permissions) perms = Permission.objects.filter(codename__in=user_support_permissions)
user_support.permissions.add(*perms) user_support.permissions.add(*perms)
stock_manager, is_stock_manager_created = Group.objects.get_or_create(name="Stock Manager") stock_manager, is_stock_manager_created = Group.objects.get_or_create(name="Stock Manager")
if not is_stock_manager_created: if is_stock_manager_created:
perms = Permission.objects.filter(codename__in=stock_manager_permissions) perms = Permission.objects.filter(codename__in=stock_manager_permissions)
stock_manager.permissions.add(*perms) stock_manager.permissions.add(*perms)
head_stock_manager, is_head_stock_manager_created = Group.objects.get_or_create(name="Head Stock Manager") head_stock_manager, is_head_stock_manager_created = Group.objects.get_or_create(name="Head Stock Manager")
if not is_head_stock_manager_created: if is_head_stock_manager_created:
perms = Permission.objects.filter(codename__in=head_stock_manager_permissions) perms = Permission.objects.filter(codename__in=head_stock_manager_permissions)
head_stock_manager.permissions.add(*perms) head_stock_manager.permissions.add(*perms)
marketing_admin, is_marketing_admin_created = Group.objects.get_or_create(name="Marketing Admin") marketing_admin, is_marketing_admin_created = Group.objects.get_or_create(name="Marketing Admin")
if not is_marketing_admin_created: if is_marketing_admin_created:
perms = Permission.objects.filter(codename__in=marketing_admin_permissions) perms = Permission.objects.filter(codename__in=marketing_admin_permissions)
marketing_admin.permissions.add(*perms) marketing_admin.permissions.add(*perms)
e_commerce_admin, is_e_commerce_admin_created = Group.objects.get_or_create(name="E-Commerce Admin") e_commerce_admin, is_e_commerce_admin_created = Group.objects.get_or_create(name="E-Commerce Admin")
if not is_e_commerce_admin_created: if is_e_commerce_admin_created:
perms = Permission.objects.filter(codename__in=e_commerce_admin_permissions) perms = Permission.objects.filter(codename__in=e_commerce_admin_permissions)
e_commerce_admin.permissions.add(*perms) e_commerce_admin.permissions.add(*perms)