add - modify state to permissions
This commit is contained in:
@@ -146,7 +146,7 @@ class PermissionViewSet(SoftDeleteMixin, viewsets.ModelViewSet):
|
||||
class UserRelationViewSet(BaseViewSet, SoftDeleteMixin, viewsets.ModelViewSet, DynamicSearchMixin):
|
||||
""" Crud Operations for User Relations """
|
||||
|
||||
queryset = UserRelations.objects.all()
|
||||
queryset = UserRelations.objects.select_related('organization', 'role', 'user')
|
||||
serializer_class = UserRelationSerializer
|
||||
filter_backends = [filters.SearchFilter]
|
||||
search_fields = [
|
||||
|
||||
@@ -47,7 +47,8 @@ class PermissionSerializer(serializers.ModelSerializer):
|
||||
'description',
|
||||
'category',
|
||||
'page',
|
||||
'is_active'
|
||||
'is_active',
|
||||
'modify_state'
|
||||
]
|
||||
|
||||
def to_representation(self, instance):
|
||||
@@ -107,9 +108,6 @@ class RoleSerializer(serializers.ModelSerializer):
|
||||
representation['type'] = auth_serializer.OrganizationTypeSerializer(instance.type).data
|
||||
if instance.parent_role:
|
||||
representation['parent_role'] = {'name': instance.parent_role.role_name, 'id': instance.parent_role.id}
|
||||
if instance.permissions: # noqa
|
||||
permissions = instance.permissions.filter(is_active=True)
|
||||
representation['permissions'] = PermissionSerializer(permissions, many=True).data
|
||||
return representation
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
# Generated by Django 5.0 on 2025-11-03 09:23
|
||||
|
||||
from django.db import migrations, models
|
||||
|
||||
|
||||
class Migration(migrations.Migration):
|
||||
|
||||
dependencies = [
|
||||
('authorization', '0020_role_parent_role'),
|
||||
]
|
||||
|
||||
operations = [
|
||||
migrations.AddField(
|
||||
model_name='permissions',
|
||||
name='modify_state',
|
||||
field=models.BooleanField(default=False),
|
||||
),
|
||||
]
|
||||
@@ -44,6 +44,7 @@ class Permissions(BaseModel):
|
||||
null=True
|
||||
)
|
||||
is_active = models.BooleanField(default=True)
|
||||
modify_state = models.BooleanField(default=False)
|
||||
|
||||
def __str__(self):
|
||||
return f'{self.name}-{self.description}'
|
||||
|
||||
@@ -97,7 +97,6 @@ class DeviceViewSet(BaseViewSet, SoftDeleteMixin, viewsets.ModelViewSet, AdminFi
|
||||
def my_devices(self, request):
|
||||
""" list of company devices """
|
||||
organization = get_organization_by_user(request.user)
|
||||
# using admin filter mixin to get query
|
||||
devices = self.get_queryset(
|
||||
visibility_by_org_scope=True
|
||||
) if organization.free_visibility_by_scope else self.get_queryset()
|
||||
|
||||
Reference in New Issue
Block a user