device login import mai8n company data

This commit is contained in:
2025-09-30 09:21:51 +03:30
parent d4db1a746b
commit 984df3a538
3 changed files with 15 additions and 3 deletions

View File

@@ -3,6 +3,7 @@ import traceback
from apps.pos_device.pos.api.v1.serializers.device import DeviceSerializer from apps.pos_device.pos.api.v1.serializers.device import DeviceSerializer
from apps.authentication.services.service import get_users_of_organization from apps.authentication.services.service import get_users_of_organization
from apps.pos_device.mixins.pos_device_mixin import POSDeviceMixin from apps.pos_device.mixins.pos_device_mixin import POSDeviceMixin
from apps.authentication.models import Organization
from apps.pos_device import models as pos_models from apps.pos_device import models as pos_models
from rest_framework.permissions import AllowAny from rest_framework.permissions import AllowAny
from rest_framework.decorators import action from rest_framework.decorators import action
@@ -52,6 +53,9 @@ class POSDeviceViewSet(viewsets.ModelViewSet, POSDeviceMixin):
mac = headers_data['device-mac'] mac = headers_data['device-mac']
psp_name = headers_data['device-provider'] psp_name = headers_data['device-provider']
# MNPC Company object information # noqa
main_company = Organization.objects.get(national_unique_id='1111111111')
# provider organization # provider organization
organization = pos_models.Organization.objects.get(en_name=psp_name) organization = pos_models.Organization.objects.get(en_name=psp_name)
@@ -99,6 +103,7 @@ class POSDeviceViewSet(viewsets.ModelViewSet, POSDeviceMixin):
'en_name': device_owner_org.en_name, 'en_name': device_owner_org.en_name,
'phone': device_owner_org.phone, 'phone': device_owner_org.phone,
'type': device_owner_org.type.name, 'type': device_owner_org.type.name,
'shaba': device_owner_org.bank_information.all().first().sheba # noqa
} }
return Response({ return Response({
@@ -109,7 +114,13 @@ class POSDeviceViewSet(viewsets.ModelViewSet, POSDeviceMixin):
"provider": organization.name, "provider": organization.name,
"provider_tell": organization.phone, "provider_tell": organization.phone,
"device_owner": org_data, "device_owner": org_data,
"device_owner_users": get_users_of_organization(device_owner_org) "device_owner_users": get_users_of_organization(device_owner_org),
"main_company": {
"name": main_company.name,
"phone": main_company.phone,
"shaba": main_company.bank_information.all().first().sheba, # noqa
"amount": 400
}
}, status=status.HTTP_200_OK) }, status=status.HTTP_200_OK)
return Response({ return Response({

View File

@@ -20,7 +20,7 @@ class POSFreeProductSerializer(serializers.ModelSerializer):
product = attrs['product'] product = attrs['product']
organization = attrs['organization'] organization = attrs['organization']
if self.Meta.model.objects.filter(organization=organization, product=product,trash=False).exists(): if self.Meta.model.objects.filter(organization=organization, product=product).exists():
raise FreePOSProductUniqueCheck() raise FreePOSProductUniqueCheck()
return attrs return attrs

View File

@@ -1,6 +1,7 @@
from apps.product.pos.api.v1.serializers import product_serializers as product_serializers from apps.product.pos.api.v1.serializers import product_serializers as product_serializers
from apps.pos_device.mixins.pos_device_mixin import POSDeviceMixin from apps.pos_device.mixins.pos_device_mixin import POSDeviceMixin
from apps.core.mixins.search_mixin import DynamicSearchMixin from apps.core.mixins.search_mixin import DynamicSearchMixin
from apps.core.mixins.soft_delete_mixin import SoftDeleteMixin
from rest_framework.exceptions import APIException from rest_framework.exceptions import APIException
from apps.product import models as product_models from apps.product import models as product_models
from apps.pos_device import models as pos_models from apps.pos_device import models as pos_models
@@ -75,7 +76,7 @@ class ProductViewSet(viewsets.ModelViewSet, DynamicSearchMixin, POSDeviceMixin):
return Response(e, status=status.HTTP_204_NO_CONTENT) return Response(e, status=status.HTTP_204_NO_CONTENT)
class POSFreeProductsViewSet(viewsets.ModelViewSet, DynamicSearchMixin, POSDeviceMixin): class POSFreeProductsViewSet(SoftDeleteMixin, viewsets.ModelViewSet, DynamicSearchMixin, POSDeviceMixin):
queryset = pos_models.POSFreeProducts.objects.all() queryset = pos_models.POSFreeProducts.objects.all()
serializer_class = product_serializers.POSFreeProductSerializer serializer_class = product_serializers.POSFreeProductSerializer
permission_classes = [AllowAny] permission_classes = [AllowAny]