web qism tugadi

This commit is contained in:
behruz-dev
2025-11-25 16:50:30 +05:00
parent 8d7738483c
commit 55bb751899
16 changed files with 500 additions and 5 deletions

View File

@@ -55,4 +55,9 @@ class OrderListSerializer(serializers.ModelSerializer):
fields = [
'id', 'pharmacy', 'total_price', 'paid_price', 'advance', 'employee_name',
'order_items'
]
]
class OrderUpdateSerializer(serializers.Serializer):
paid_price = serializers.IntegerField()

View File

@@ -16,6 +16,7 @@ urlpatterns = [
[
path('list/', order_view.OrderListApiView.as_view(), name='order-list-api'),
path('create/', order_view.OrderCreateApiView.as_view(), name='order-create-api'),
path('<int:id>/update/', order_view.OrderUpdateApiView.as_view(), name='order-update-api'),
]
)),

View File

@@ -1,3 +1,6 @@
# django
from django.shortcuts import get_object_or_404
# rest framework
from rest_framework import generics, permissions
@@ -6,7 +9,7 @@ from drf_yasg.utils import swagger_auto_schema
# orders
from core.apps.orders.models import Order, OrderItem
from core.apps.orders.serializers.order import OrderCreateSerializer, OrderListSerializer
from core.apps.orders.serializers.order import OrderCreateSerializer, OrderListSerializer, OrderUpdateSerializer
# shared
from core.apps.shared.utils.response_mixin import ResponseMixin
from core.apps.shared.serializers.base import BaseResponseSerializer, SuccessResponseSerializer
@@ -54,3 +57,36 @@ class OrderListApiView(generics.GenericAPIView, ResponseMixin):
return self.success_response(data=serializer.data, message='malumotlar fetch qilindi')
except Exception as e:
return self.error_response(data=str(e), message='xatolik')
class OrderUpdateApiView(generics.GenericAPIView, ResponseMixin):
serializer_class = OrderUpdateSerializer
queryset = Order.objects.all()
permission_classes = [permissions.IsAuthenticated]
@swagger_auto_schema(
responses={
200: SuccessResponseSerializer(),
400: BaseResponseSerializer(),
500: BaseResponseSerializer(),
}
)
def patch(self, request, id):
try:
obj = get_object_or_404(Order, id=id, user=request.user)
serializer = self.serializer_class(data=request.data)
if serializer.is_valid():
paid_price = serializer.validated_data.get('paid_price')
obj.paid_price = paid_price
obj.save()
return self.success_response(
data=OrderListApiView(obj).data,
message='malumot tahrirlandi'
)
return self.failure_response(
data=serializer.errors,
message='malumot tahrirlanmadi'
)
except Exception as e:
return self.error_response(data=str(e), message='xatolik')