diff --git a/config/conf/redis.py b/config/conf/redis.py index 37065ef..7bdb75d 100644 --- a/config/conf/redis.py +++ b/config/conf/redis.py @@ -46,4 +46,4 @@ CACHEOPS = { } CACHEOPS_DEGRADE_ON_FAILURE = True -CACHEOPS_ENABLED = True \ No newline at end of file +CACHEOPS_ENABLED = False \ No newline at end of file diff --git a/core/apps/orders/urls.py b/core/apps/orders/urls.py index d770aa6..eef0300 100644 --- a/core/apps/orders/urls.py +++ b/core/apps/orders/urls.py @@ -10,6 +10,9 @@ urlpatterns = [ path('create/', order_views.OrderCreateApiView.as_view()), path('/update/', order_views.OrderUpdateApiView.as_view()), path('/delete/', order_views.OrderDeleteApiView.as_view()), + path('/cancel/', order_views.OrderChangeStatusCancelledApiView.as_view()), + path("/accept/", order_views.OrderChangeStatusAcceptedApiView.as_view()), + path("accepted/list/", order_views.OrderAcceptApiView.as_view()), ] )), ] \ No newline at end of file diff --git a/core/apps/orders/views/order.py b/core/apps/orders/views/order.py index 49ff0da..8a4843f 100644 --- a/core/apps/orders/views/order.py +++ b/core/apps/orders/views/order.py @@ -58,3 +58,37 @@ class OrderDeleteApiView(views.APIView): return Response({"success": True, "message": "Deleted!"}, status=204) +class OrderChangeStatusCancelledApiView(views.APIView): + permission_classes = [HasRolePermission] + required_permissions = ['order'] + + def get(self, request, order_id): + order = get_object_or_404(Order, id=order_id) + order.status = 'CANCELLED' + order.save() + return Response( + {'success': True, 'message': 'order cancelled'}, + status=200 + ) + + +class OrderChangeStatusAcceptedApiView(views.APIView): + permission_classes = [HasRolePermission] + required_permissions = ['order'] + + def get(self, request, order_id): + order = get_object_or_404(Order, id=order_id) + order.status = 'ACCEPTED' + order.save() + return Response( + {'success': True, 'message': 'order accepted'}, + status=200 + ) + + +class OrderAcceptApiView(generics.ListAPIView): + serializer_class = serializers.OrderListSerializer + queryset = Order.objects.filter(status='ACCEPTED') + permission_classes = [HasRolePermission] + required_permissions = ['order'] + pagination_class = CustomPageNumberPagination \ No newline at end of file