diff --git a/apps/pos_device/pos/api/v1/viewsets/device.py b/apps/pos_device/pos/api/v1/viewsets/device.py index fc7c481..7ed6b8f 100644 --- a/apps/pos_device/pos/api/v1/viewsets/device.py +++ b/apps/pos_device/pos/api/v1/viewsets/device.py @@ -3,6 +3,7 @@ import traceback from apps.pos_device.pos.api.v1.serializers.device import DeviceSerializer from apps.authentication.services.service import get_users_of_organization 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 rest_framework.permissions import AllowAny from rest_framework.decorators import action @@ -52,6 +53,9 @@ class POSDeviceViewSet(viewsets.ModelViewSet, POSDeviceMixin): mac = headers_data['device-mac'] psp_name = headers_data['device-provider'] + # MNPC Company object information # noqa + main_company = Organization.objects.get(national_unique_id='1111111111') + # provider organization 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, 'phone': device_owner_org.phone, 'type': device_owner_org.type.name, + 'shaba': device_owner_org.bank_information.all().first().sheba # noqa } return Response({ @@ -109,7 +114,13 @@ class POSDeviceViewSet(viewsets.ModelViewSet, POSDeviceMixin): "provider": organization.name, "provider_tell": organization.phone, "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) return Response({ diff --git a/apps/product/pos/api/v1/serializers/product_serializers.py b/apps/product/pos/api/v1/serializers/product_serializers.py index ab27ff6..63c0a5d 100644 --- a/apps/product/pos/api/v1/serializers/product_serializers.py +++ b/apps/product/pos/api/v1/serializers/product_serializers.py @@ -20,7 +20,7 @@ class POSFreeProductSerializer(serializers.ModelSerializer): product = attrs['product'] 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() return attrs diff --git a/apps/product/pos/api/v1/viewsets/product_api.py b/apps/product/pos/api/v1/viewsets/product_api.py index 5cdedde..a604f45 100644 --- a/apps/product/pos/api/v1/viewsets/product_api.py +++ b/apps/product/pos/api/v1/viewsets/product_api.py @@ -1,6 +1,7 @@ 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.core.mixins.search_mixin import DynamicSearchMixin +from apps.core.mixins.soft_delete_mixin import SoftDeleteMixin from rest_framework.exceptions import APIException from apps.product import models as product_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) -class POSFreeProductsViewSet(viewsets.ModelViewSet, DynamicSearchMixin, POSDeviceMixin): +class POSFreeProductsViewSet(SoftDeleteMixin, viewsets.ModelViewSet, DynamicSearchMixin, POSDeviceMixin): queryset = pos_models.POSFreeProducts.objects.all() serializer_class = product_serializers.POSFreeProductSerializer permission_classes = [AllowAny]