From 29025235d55c81f12363e64525532665f050632e Mon Sep 17 00:00:00 2001 From: Mojtaba-z Date: Sat, 30 Aug 2025 10:34:20 +0330 Subject: [PATCH] set to get rancher_inventory - change serializer to check context --- .../migrations/0036_organization_phone.py | 18 ++++++++++++++++++ apps/pos_device/pos/api/v1/viewsets/device.py | 3 +-- apps/warehouse/pos/api/v1/api.py | 4 ++-- apps/warehouse/pos/api/v1/serializers.py | 5 +++-- 4 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 apps/authentication/migrations/0036_organization_phone.py diff --git a/apps/authentication/migrations/0036_organization_phone.py b/apps/authentication/migrations/0036_organization_phone.py new file mode 100644 index 0000000..0cbd759 --- /dev/null +++ b/apps/authentication/migrations/0036_organization_phone.py @@ -0,0 +1,18 @@ +# Generated by Django 5.0 on 2025-08-30 06:40 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('authentication', '0035_bankaccountinformation_account_and_more'), + ] + + operations = [ + migrations.AddField( + model_name='organization', + name='phone', + field=models.CharField(max_length=25, null=True), + ), + ] diff --git a/apps/pos_device/pos/api/v1/viewsets/device.py b/apps/pos_device/pos/api/v1/viewsets/device.py index e61a707..6fec7d3 100644 --- a/apps/pos_device/pos/api/v1/viewsets/device.py +++ b/apps/pos_device/pos/api/v1/viewsets/device.py @@ -49,7 +49,6 @@ class POSDeviceViewSet(viewsets.ModelViewSet, POSDeviceMixin): serial = headers_data['device-serial'] mac = headers_data['device-mac'] - sdk = headers_data['device-sdk'] psp_name = headers_data['device-provider'] # provider organization @@ -72,7 +71,7 @@ class POSDeviceViewSet(viewsets.ModelViewSet, POSDeviceMixin): session = self.session_queryset.filter(serial=serial).first() if not session: - session = pos_models.Sessions.objects.create( + pos_models.Sessions.objects.create( device=device, name=headers_data['device-name'], version=headers_data['device-version'], diff --git a/apps/warehouse/pos/api/v1/api.py b/apps/warehouse/pos/api/v1/api.py index 0bf846a..b390230 100644 --- a/apps/warehouse/pos/api/v1/api.py +++ b/apps/warehouse/pos/api/v1/api.py @@ -50,7 +50,7 @@ class InventoryEntryViewSet(viewsets.ModelViewSet, DynamicSearchMixin, POSDevice return self.get_paginated_response(serializer.data) @action( - methods=['post'], + methods=['get'], detail=False, url_path='rancher_inventory_entries', url_name='rancher_inventory_entries', @@ -60,7 +60,7 @@ class InventoryEntryViewSet(viewsets.ModelViewSet, DynamicSearchMixin, POSDevice def rancher_inventory_entries(self, request): """ """ organization = self.get_device_organization() - rancher = Rancher.objects.filter(national_code=request.data['national_code']).first() + rancher = Rancher.objects.filter(national_code=request.GET['national_code']).first() entries = self.queryset.filter(organization=organization) available_entries = [entry for entry in entries if can_buy_from_inventory(rancher, entry)] diff --git a/apps/warehouse/pos/api/v1/serializers.py b/apps/warehouse/pos/api/v1/serializers.py index aa5bee2..e4262ec 100644 --- a/apps/warehouse/pos/api/v1/serializers.py +++ b/apps/warehouse/pos/api/v1/serializers.py @@ -57,8 +57,9 @@ class InventoryEntrySerializer(serializers.ModelSerializer): 'id': instance.distribution.quota.product.id, } - # rancher herd & live stock statistics - representation['rancher_statistics'] = get_rancher_statistics(self.context['rancher']) + if self.context['rancher']: + # rancher herd & live stock statistics + representation['rancher_statistics'] = get_rancher_statistics(self.context['rancher']) # rancher live stock statistics by inventory entry representation['rancher_quota_weight_statistics'] = rancher_quota_weight(