From 5dff7565f4fc27cbe75d61f2ff93ce71584a1465 Mon Sep 17 00:00:00 2001 From: Mono Mono Date: Tue, 31 Dec 2024 13:09:16 -0500 Subject: [PATCH] #84 refactor(paymentMethods): move to apiview. --- tienda_ilusion/don_confiao/api_views.py | 10 ++++++++-- tienda_ilusion/don_confiao/serializers.py | 10 ++++++++++ tienda_ilusion/don_confiao/urls.py | 2 +- tienda_ilusion/don_confiao/views.py | 8 -------- 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/tienda_ilusion/don_confiao/api_views.py b/tienda_ilusion/don_confiao/api_views.py index bfb85bc..6b5b8ca 100644 --- a/tienda_ilusion/don_confiao/api_views.py +++ b/tienda_ilusion/don_confiao/api_views.py @@ -3,8 +3,8 @@ from rest_framework.response import Response from rest_framework.status import HTTP_400_BAD_REQUEST from rest_framework.views import APIView -from .models import Sale, SaleLine, Customer, Product, ReconciliationJar -from .serializers import SaleSerializer, ProductSerializer, CustomerSerializer, ReconciliationJarSerializer +from .models import Sale, SaleLine, Customer, Product, ReconciliationJar, PaymentMethods +from .serializers import SaleSerializer, ProductSerializer, CustomerSerializer, ReconciliationJarSerializer, PaymentMethodSerializer from decimal import Decimal import json @@ -100,3 +100,9 @@ class ReconciliateJarView(APIView): purchase.reconciliation = reconciliation purchase.clean() purchase.save() + + +class PaymentMethodView(APIView): + def get(self, request): + serializer = PaymentMethodSerializer(PaymentMethods.choices, many=True) + return Response(serializer.data) diff --git a/tienda_ilusion/don_confiao/serializers.py b/tienda_ilusion/don_confiao/serializers.py index eb9db60..10e1a95 100644 --- a/tienda_ilusion/don_confiao/serializers.py +++ b/tienda_ilusion/don_confiao/serializers.py @@ -38,3 +38,13 @@ class ReconciliationJarSerializer(serializers.ModelSerializer): 'cash_discrepancy', 'total_cash_purchases', ] + +class PaymentMethodSerializer(serializers.Serializer): + text = serializers.CharField() + value = serializers.CharField() + + def to_representation(self, instance): + return { + 'text': instance[1], + 'value': instance[0], + } diff --git a/tienda_ilusion/don_confiao/urls.py b/tienda_ilusion/don_confiao/urls.py index 18388f8..f6bcd46 100644 --- a/tienda_ilusion/don_confiao/urls.py +++ b/tienda_ilusion/don_confiao/urls.py @@ -25,7 +25,7 @@ urlpatterns = [ name="exportar_ventas_para_tryton"), path("resumen_compra/", views.purchase_summary, name="purchase_summary"), path("resumen_compra_json/", views.purchase_json_summary, name="purchase_json_summary"), - path("payment_methods/all/select_format", views.payment_methods_to_select, name="payment_methods_to_select"), + path("payment_methods/all/select_format", api_views.PaymentMethodView.as_view(), name="payment_methods_to_select"), path('purchases/for_reconciliation', views.sales_for_reconciliation, name='sales_for_reconciliation'), path('reconciliate_jar', api_views.ReconciliateJarView.as_view()), path('api/', include(router.urls)), diff --git a/tienda_ilusion/don_confiao/views.py b/tienda_ilusion/don_confiao/views.py index a7f543b..039759d 100644 --- a/tienda_ilusion/don_confiao/views.py +++ b/tienda_ilusion/don_confiao/views.py @@ -152,14 +152,6 @@ def purchase_json_summary(request, id): return JsonResponse(to_response, safe=False) -def payment_methods_to_select(request): - methods = [ - {'text': choice[1], 'value': choice[0]} - for choice in PaymentMethods.choices - ] - return JsonResponse(methods, safe=False) - - def sales_for_reconciliation(request): sales = Sale.objects.filter(reconciliation=None) grouped_sales = {}