add activation status for page and permissions access
This commit is contained in:
@@ -20,7 +20,8 @@ class PageSerializer(serializers.ModelSerializer):
|
|||||||
fields = [
|
fields = [
|
||||||
'id',
|
'id',
|
||||||
'name',
|
'name',
|
||||||
'code'
|
'code',
|
||||||
|
'is_active'
|
||||||
]
|
]
|
||||||
|
|
||||||
def to_representation(self, instance):
|
def to_representation(self, instance):
|
||||||
@@ -44,7 +45,8 @@ class PermissionSerializer(serializers.ModelSerializer):
|
|||||||
'name',
|
'name',
|
||||||
'description',
|
'description',
|
||||||
'category',
|
'category',
|
||||||
'page'
|
'page',
|
||||||
|
'is_active'
|
||||||
]
|
]
|
||||||
|
|
||||||
def to_representation(self, instance):
|
def to_representation(self, instance):
|
||||||
@@ -93,7 +95,7 @@ class RoleSerializer(serializers.ModelSerializer):
|
|||||||
representation = super().to_representation(instance)
|
representation = super().to_representation(instance)
|
||||||
representation['type'] = auth_serializer.OrganizationTypeSerializer(instance.type).data
|
representation['type'] = auth_serializer.OrganizationTypeSerializer(instance.type).data
|
||||||
if instance.permissions: # noqa
|
if instance.permissions: # noqa
|
||||||
permissions = instance.permissions.all()
|
permissions = instance.permissions.filter(is_active=True)
|
||||||
representation['permissions'] = PermissionSerializer().permissions_structure_output(permissions)
|
representation['permissions'] = PermissionSerializer().permissions_structure_output(permissions)
|
||||||
return representation
|
return representation
|
||||||
|
|
||||||
@@ -137,7 +139,7 @@ class UserRelationSerializer(serializers.ModelSerializer):
|
|||||||
if instance.permissions: # noqa
|
if instance.permissions: # noqa
|
||||||
# set permissions by a default structure like:
|
# set permissions by a default structure like:
|
||||||
# 'page permission':[element permissions]
|
# 'page permission':[element permissions]
|
||||||
permissions = instance.permissions.all()
|
permissions = instance.permissions.filter(is_active=True)
|
||||||
representation['permissions'] = PermissionSerializer().permissions_structure_output(permissions)
|
representation['permissions'] = PermissionSerializer().permissions_structure_output(permissions)
|
||||||
return representation
|
return representation
|
||||||
|
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ class Page(BaseModel):
|
|||||||
|
|
||||||
code = models.CharField(max_length=100, unique=True)
|
code = models.CharField(max_length=100, unique=True)
|
||||||
name = models.CharField(max_length=255)
|
name = models.CharField(max_length=255)
|
||||||
|
is_active = models.BooleanField(default=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f'{self.name}-{self.code}'
|
return f'{self.name}-{self.code}'
|
||||||
@@ -41,6 +42,7 @@ class Permissions(BaseModel):
|
|||||||
related_name='permission_page',
|
related_name='permission_page',
|
||||||
null=True
|
null=True
|
||||||
)
|
)
|
||||||
|
is_active = models.BooleanField(default=True)
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return f'{self.name}-{self.description}'
|
return f'{self.name}-{self.description}'
|
||||||
|
|||||||
Reference in New Issue
Block a user