add - new vivibility filter by org type & remove city province from device

This commit is contained in:
2025-11-03 10:18:59 +03:30
parent 9fb0292817
commit 5ce107fd3a
6 changed files with 116 additions and 18 deletions

View File

@@ -42,18 +42,6 @@ class Device(BaseModel):
server_in = models.BooleanField(default=False)
latitude = models.FloatField(default=0)
longitude = models.FloatField(default=0)
city = models.ForeignKey(
City,
on_delete=models.CASCADE,
related_name='devices',
null=True
)
province = models.ForeignKey(
Province,
on_delete=models.CASCADE,
related_name='devices',
null=True
)
is_activated = models.BooleanField(default=False)
pre_registered = models.BooleanField(default=False)
organization = models.ForeignKey(

View File

@@ -22,6 +22,7 @@ from apps.core.api import BaseViewSet
from apps.core.mixins.admin_mixin import AdminFilterMixin
from apps.core.mixins.search_mixin import DynamicSearchMixin
from apps.core.mixins.soft_delete_mixin import SoftDeleteMixin
from apps.core.services.visibility_service import apply_visibility_filter_by_org_type
from apps.pos_device import models as pos_models
from apps.pos_device.web.api.v1.serilaizers import device as device_serializer
from apps.pos_device.web.api.v1.viewsets.client import POSClientViewSet
@@ -97,11 +98,12 @@ class DeviceViewSet(BaseViewSet, SoftDeleteMixin, viewsets.ModelViewSet, AdminFi
""" list of company devices """
organization = get_organization_by_user(request.user)
# using admin filter mixin to get query
devices = self.get_query(self.get_queryset(
devices = self.get_queryset(
visibility_by_org_scope=True
) if organization.free_visibility_by_scope else self.get_queryset().filter(
organization=organization
))
) if organization.free_visibility_by_scope else self.get_queryset()
queryset = apply_visibility_filter_by_org_type(devices, organization)
print(queryset)
# paginate devices
page = self.paginate_queryset(devices)