gold eggs backend
Some checks failed
Build and Push to Docker Hub / build-test-push (push) Failing after 1m55s
Some checks failed
Build and Push to Docker Hub / build-test-push (push) Failing after 1m55s
This commit is contained in:
76
core/apps/eggs/views/additional_cost.py
Normal file
76
core/apps/eggs/views/additional_cost.py
Normal file
@@ -0,0 +1,76 @@
|
||||
from rest_framework import generics, status, permissions
|
||||
from rest_framework.response import Response
|
||||
|
||||
from core.apps.eggs.models import AdditionalCost
|
||||
from core.apps.eggs.serializers import AdditionalCostSerializer
|
||||
|
||||
|
||||
class AdditionalCostView(generics.GenericAPIView):
|
||||
queryset = AdditionalCost.objects.all()
|
||||
serializer_class = AdditionalCostSerializer
|
||||
permission_classes = [permissions.IsAuthenticated]
|
||||
|
||||
def get(self, request, *args, **kwargs):
|
||||
queryset = self.get_queryset()
|
||||
serializer = self.get_serializer(queryset, many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
def post(self, request, *args, **kwargs):
|
||||
serializer = self.get_serializer(data=request.data)
|
||||
serializer.is_valid(raise_exception=True)
|
||||
serializer.save()
|
||||
return Response(
|
||||
{
|
||||
"message": "Qo'shimcha xarajat muvaffaqiyatli kiritildi.",
|
||||
"data": serializer.data,
|
||||
},
|
||||
status=status.HTTP_201_CREATED,
|
||||
)
|
||||
|
||||
|
||||
# from collections import defaultdict
|
||||
# from datetime import datetime
|
||||
# from rest_framework import generics, status, permissions
|
||||
# from rest_framework.response import Response
|
||||
#
|
||||
# from core.apps.eggs.models import AdditionalCost
|
||||
# from core.apps.eggs.serializers import AdditionalCostSerializer
|
||||
#
|
||||
#
|
||||
# class AdditionalCostView(generics.GenericAPIView):
|
||||
# queryset = AdditionalCost.objects.all()
|
||||
# serializer_class = AdditionalCostSerializer
|
||||
# permission_classes = [permissions.IsAuthenticated]
|
||||
#
|
||||
# def get(self, request, *args, **kwargs):
|
||||
# queryset = self.get_queryset()
|
||||
# grouped_data = defaultdict(lambda: {"total_price": 0, "additional_costs": []})
|
||||
#
|
||||
# for cost in queryset:
|
||||
# month_year = cost.created_at.strftime("%m-%Y")
|
||||
# grouped_data[month_year]["total_price"] += cost.price
|
||||
# grouped_data[month_year]["additional_costs"].append(cost)
|
||||
#
|
||||
# response_data = []
|
||||
# for month_year, data in grouped_data.items():
|
||||
# month, year = month_year.split("-")
|
||||
# response_data.append({
|
||||
# "month": month,
|
||||
# "year": year,
|
||||
# "total_price": data["total_price"],
|
||||
# "additional_costs": AdditionalCostSerializer(data["additional_costs"], many=True).data
|
||||
# })
|
||||
#
|
||||
# return Response(response_data)
|
||||
#
|
||||
# def post(self, request, *args, **kwargs):
|
||||
# serializer = self.get_serializer(data=request.data)
|
||||
# serializer.is_valid(raise_exception=True)
|
||||
# serializer.save()
|
||||
# return Response(
|
||||
# {
|
||||
# "message": "Qo'shimcha xarajat muvaffaqiyatli kiritildi.",
|
||||
# "data": serializer.data,
|
||||
# },
|
||||
# status=status.HTTP_201_CREATED,
|
||||
# )
|
||||
Reference in New Issue
Block a user