This commit is contained in:
behruz-dev
2025-09-16 18:29:14 +05:00
parent 456bee4d3d
commit f1fd620061
24 changed files with 41 additions and 124 deletions

View File

@@ -8,23 +8,14 @@ class Command(BaseCommand):
def handle(self, *args, **options):
permissions = [
{"code": "project", "name": "project all access"},
{
"code": "project_folder",
"name": "project folder all access"
},
{'code': 'delete_user', "name": 'can delete user permissions'},
{'code': 'user', 'name': 'all user access'},
{'code': 'settings', 'name': 'all settings access'},
{'code': 'product_folder', 'name': 'all access to product folder'},
{'code': 'product', 'name': 'all access to product'},
{'code': 'order', 'name': 'all access to orders'},
{'code': 'offer', 'name': 'all access to offers'},
{'code': 'party', 'name': 'all access to partyies'},
{'code': '', 'name': 'kataloglar'},
{'code': '', 'name': 'kassa'},
{'code': '', 'name': 'moliya'},
{'code': '', 'name': 'arxiv'},
{'code': 'supply', 'name': "Ta'minot"},
{'code': 'counterparty', 'name': "Kontragent"},
{'code': 'warehouse', 'name': "Omborxona"},
{'code': 'project', 'name': "Loyiha"},
{'code': 'cash_transaction', 'name': "Kassa"},
{'code': 'directory', 'name': "Katalog"},
{'code': 'finance', 'name': "Moliya"},
{'code': 'archive', 'name': "Arxiv"},
]
for perm in permissions:
@@ -34,5 +25,4 @@ class Command(BaseCommand):
if created:
self.stdout.write(self.style.SUCCESS(f"Created: {perm['code']}"))
else:
self.stdout.write(self.style.WARNING(f"Already exists: {perm['code']}"))
self.stdout.write(self.style.WARNING(f"Already exists: {perm['code']}"))

View File

@@ -0,0 +1,30 @@
from django.core.management.base import BaseCommand
from core.apps.accounts.models.permission import PermissionToTab
class Command(BaseCommand):
help = "Creates intial tab permission entries"
def handle(self, *args, **options):
permissions = [
{'code': 'order', 'name': "Buyurtmalar"},
{'code': 'offer', 'name': "Takliflar"},
{'code': 'party', 'name': "Partiyalar"},
{'code': 'warehouse', 'name': "Omborxona"},
{'code': 'transfer', 'name': "O'tkazmalar"},
{'code': 'invalid', 'name': "Yaroqsiz"},
{'code': 'income', 'name': "Kirim"},
{'code': 'expence', 'name': "Chiqim"},
{'code': 'income_contract', 'name': 'Kirim shartnoma'},
{'code': 'expence_contract', 'name': 'Chiqim shartnoma'},
]
for perm in permissions:
obj, created = PermissionToTab.objects.get_or_create(
code=perm['code'], name=perm['name']
)
if created:
self.stdout.write(self.style.SUCCESS(f"Created: {perm['code']}"))
else:
self.stdout.write(self.style.WARNING(f"Already exists: {perm['code']}"))

View File

@@ -10,5 +10,4 @@ class PermissionListApiView(generics.ListAPIView):
queryset = Permission.objects.prefetch_related('permission_tab')
serializer_class = serializers.PermissionListSerializer
permission_classes = [HasRolePermission]
required_permissions = ['settings', 'permissions', 'role']
pagination_class = None

View File

@@ -10,5 +10,4 @@ class RoleListApiView(generics.ListAPIView):
serializer_class = serializers.RoleListSerializer
queryset = Role.objects.all()
permission_classes = [HasRolePermission]
required_permissions = ['settings', 'user']

View File

@@ -16,7 +16,6 @@ class UserProfileApiView(generics.GenericAPIView):
serializer_class = serializers.UserProfileSerializer
queryset = User.objects.all()
permission_classes = [HasRolePermission]
required_permissions = []
def get(self, request):
user = request.user
@@ -32,7 +31,6 @@ class UserProfileUpdateApiView(generics.GenericAPIView):
serializer_class = serializers.UserProfileSerializer
queryset = User.objects.all()
permission_classes = [HasRolePermission]
required_permissions = []
parser_classes = [parsers.MultiPartParser, parsers.FormParser]
def patch(self, request):
@@ -58,7 +56,6 @@ class UserCreateApiView(generics.GenericAPIView):
serializer_class = serializers.UserCreateSerializer
queryset = User.objects.all()
permission_classes = [HasRolePermission]
required_permissions = ['settings', 'user']
parser_classes = [parsers.MultiPartParser, parsers.FormParser]
def post(self, request):
@@ -79,7 +76,6 @@ class UserListApiView(generics.ListAPIView):
serializer_class = serializers.UserListSerializer
queryset = User.objects.select_related('role')
permission_classes = [HasRolePermission]
required_permissions = ['settings', 'user']
pagination_class = CustomPageNumberPagination
@@ -87,7 +83,6 @@ class UserUpdateApiView(generics.GenericAPIView):
serializer_class = serializers.UserProfileSerializer
queryset = User.objects.all()
permission_classes = [HasRolePermission]
required_permissions = []
parser_classes = [parsers.MultiPartParser, parsers.FormParser]
def patch(self, request, id):