refactor: Update project settings, URL configurations, client views, and remove requirements.txt.

This commit is contained in:
2026-02-23 18:44:06 -03:00
parent 2160998c23
commit 7ddaa2d1f9
129 changed files with 888 additions and 40 deletions

View File

@@ -0,0 +1,47 @@
from rest_framework import viewsets, permissions, status
from rest_framework.decorators import action
from rest_framework.response import Response
from .models import Order
from .serializers import OrderSerializer
from django.utils import timezone
class OrderViewSet(viewsets.ModelViewSet):
queryset = Order.objects.all()
serializer_field = OrderSerializer
permission_classes = [permissions.IsAuthenticated]
def get_queryset(self):
# Filtrar pedidos das últimas 15 horas como na view original
fifteen_hours_ago = timezone.now() - timezone.timedelta(hours=15)
return Order.objects.filter(queue__gte=fifteen_hours_ago).order_by('-queue')
def get_serializer_class(self):
return OrderSerializer
@action(detail=True, methods=['post'])
def preparing(self, request, pk=None):
order = self.get_object()
order.preparing = timezone.now()
order.save()
return Response(OrderSerializer(order).data)
@action(detail=True, methods=['post'])
def finish(self, request, pk=None):
order = self.get_object()
order.finished = timezone.now()
order.save()
return Response(OrderSerializer(order).data)
@action(detail=True, methods=['post'])
def deliver(self, request, pk=None):
order = self.get_object()
order.delivered = timezone.now()
order.save()
return Response(OrderSerializer(order).data)
@action(detail=True, methods=['post'])
def cancel(self, request, pk=None):
order = self.get_object()
order.canceled = timezone.now()
order.save()
return Response(OrderSerializer(order).data)

View File

@@ -0,0 +1,31 @@
from rest_framework import serializers
from .models import Order
class OrderSerializer(serializers.ModelSerializer):
status = serializers.SerializerMethodField()
product_name = serializers.ReadOnlyField(source='id_product.name')
comanda_name = serializers.ReadOnlyField(source='id_comanda.name')
mesa_name = serializers.ReadOnlyField(source='id_comanda.mesa.name')
class Meta:
model = Order
fields = [
'id', 'id_product', 'product_name', 'id_comanda', 'comanda_name',
'mesa_name', 'obs', 'queue', 'preparing', 'finished',
'delivered', 'canceled', 'status'
]
extra_kwargs = {
'queue': {'read_only': True},
'status': {'read_only': True},
}
def get_status(self, obj):
if obj.delivered:
return 'Entregue'
if obj.finished:
return 'Pronto'
if obj.preparing:
return 'Preparando'
if obj.canceled:
return 'Cancelado'
return 'Em espera'