Merge pull request 'change response of permissions apis' (#118) from behruz into main
All checks were successful
Deploy to Production / build-and-deploy (push) Successful in 4m25s
All checks were successful
Deploy to Production / build-and-deploy (push) Successful in 4m25s
Reviewed-on: #118
This commit is contained in:
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 5.2.7 on 2026-04-28 11:02
|
||||
|
||||
from django.db import migrations
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('accounts', '0004_permissiontoaction_permissiontotab_permission_role_and_more'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.RenameField(
|
||||
model_name='permission',
|
||||
old_name='permission_tab',
|
||||
new_name='permission_tabs',
|
||||
),
|
||||
]
|
||||
@@ -33,7 +33,7 @@ class PermissionToTab(AbstractBaseModel):
|
||||
class Permission(AbstractBaseModel):
|
||||
name = models.CharField(max_length=200)
|
||||
code = models.CharField(max_length=100, unique=True)
|
||||
permission_tab = models.ManyToManyField(PermissionToTab, related_name='permissions')
|
||||
permission_tabs = models.ManyToManyField(PermissionToTab, related_name='permissions')
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.name} - {self.code}'
|
||||
|
||||
@@ -6,21 +6,32 @@ from core.apps.accounts.models.permission import PermissionToAction, PermissionT
|
||||
class PermissionToActionSerializer(serializers.ModelSerializer):
|
||||
class Meta:
|
||||
model = PermissionToAction
|
||||
fields = "__all__"
|
||||
fields = ['id', 'name']
|
||||
|
||||
|
||||
class PermissionToTabSerializer(serializers.ModelSerializer):
|
||||
permission_to_actions = PermissionToActionSerializer(many=True)
|
||||
|
||||
class Meta:
|
||||
model = PermissionToTab
|
||||
fields = '__all__'
|
||||
fields = ['id', 'name', 'permission_to_actions']
|
||||
|
||||
|
||||
class PermissionSerializer(serializers.ModelSerializer):
|
||||
permission_to_tabs = PermissionToTabSerializer(many=True)
|
||||
|
||||
class Meta:
|
||||
model = Permission
|
||||
fields = '__all__'
|
||||
fields = ['id', 'name', 'permission_to_tabs']
|
||||
|
||||
|
||||
class RoleSerializer(serializers.ModelSerializer):
|
||||
class RoleListSerializer(serializers.ModelSerializer):
|
||||
permissions = PermissionSerializer(many=True)
|
||||
permission_to_tabs = PermissionToTabSerializer(many=True)
|
||||
permission_to_actions = PermissionToActionSerializer(many=True)
|
||||
|
||||
class Meta:
|
||||
model = Role
|
||||
fields = '__all__'
|
||||
fields = [
|
||||
'id', 'name', 'comment', 'permissions', 'permission_to_tabs', 'permission_to_actions',
|
||||
]
|
||||
|
||||
@@ -5,7 +5,7 @@ from rest_framework.viewsets import ModelViewSet
|
||||
|
||||
from core.apps.accounts.models.permission import PermissionToAction, PermissionToTab, Permission, Role
|
||||
from core.apps.accounts.serializers.permission import PermissionToActionSerializer, PermissionToTabSerializer, \
|
||||
PermissionSerializer, RoleSerializer
|
||||
PermissionSerializer, RoleListSerializer
|
||||
|
||||
|
||||
@extend_schema(tags=["permission"])
|
||||
@@ -39,4 +39,4 @@ class PermissionViewSet(BaseViewSetMixin, ModelViewSet):
|
||||
|
||||
class RoleViewSet(BaseViewSetMixin, ModelViewSet):
|
||||
queryset = Role.objects.all()
|
||||
serializer_class = RoleSerializer
|
||||
serializer_class = RoleListSerializer
|
||||
|
||||
@@ -16,9 +16,7 @@ class BaseCertificateSerializer(serializers.ModelSerializer):
|
||||
def get_file(self, obj):
|
||||
if obj.file:
|
||||
request = self.context.get('request')
|
||||
if request:
|
||||
return request.build_absolute_uri(obj.file.url)
|
||||
return obj.file.url
|
||||
return None
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user