Fix Precios tienda

This commit is contained in:
adevopg
2025-02-16 00:13:15 +01:00
parent 41c3c6ae91
commit e6f6abdc8b
2 changed files with 12 additions and 19 deletions
@@ -85,7 +85,7 @@
alert("¡Por favor, selecciona un personaje antes de añadir un ítem al carrito!"); alert("¡Por favor, selecciona un personaje antes de añadir un ítem al carrito!");
return; return;
} }
carrito.push({ id, nombre, precio }); carrito.push({ id, nombre, precio });
actualizarCarrito(); actualizarCarrito();
} }
+11 -18
View File
@@ -1,10 +1,4 @@
import socket import socket, hashlib, gmpy2, binascii, os, re, json, logging, secrets
import hashlib
import gmpy2
import binascii
import os
import re
import json
from django.shortcuts import render, redirect from django.shortcuts import render, redirect
from django.urls import reverse from django.urls import reverse
from django.http import HttpResponse, JsonResponse from django.http import HttpResponse, JsonResponse
@@ -15,7 +9,6 @@ from django import forms
from .pagos_stripe import create_checkout_session from .pagos_stripe import create_checkout_session
from .models import Noticia, ClienteCategoria, ServerSelection, RecruitAFriend, DownloadClientPage, ContentCreator, RecruitReward, ClaimedReward, AccountActivation, SecurityToken, GuildRenameSettings, VoteSite, VoteLog, HomeApiPoints, UnstuckHistory, ReviveHistory, RenamePrice, CustomizePrice, ChangeRacePrice, ChangeFactionPrice, LevelUpPrice, GoldPrice, TransferPrice, Category, Item from .models import Noticia, ClienteCategoria, ServerSelection, RecruitAFriend, DownloadClientPage, ContentCreator, RecruitReward, ClaimedReward, AccountActivation, SecurityToken, GuildRenameSettings, VoteSite, VoteLog, HomeApiPoints, UnstuckHistory, ReviveHistory, RenamePrice, CustomizePrice, ChangeRacePrice, ChangeFactionPrice, LevelUpPrice, GoldPrice, TransferPrice, Category, Item
from django.views.decorators.csrf import csrf_exempt from django.views.decorators.csrf import csrf_exempt
import logging
from datetime import datetime, timedelta from datetime import datetime, timedelta
from .zone_definitions import get_zone_name from .zone_definitions import get_zone_name
from .ac_soap import execute_soap_command from .ac_soap import execute_soap_command
@@ -23,8 +16,8 @@ from django.utils import timezone
from .library_correo import enviar_correo from .library_correo import enviar_correo
from django.utils.crypto import get_random_string from django.utils.crypto import get_random_string
from django.conf import settings from django.conf import settings
import secrets
from django.utils.timezone import now from django.utils.timezone import now
from decimal import Decimal
# Configuración del logger # Configuración del logger
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@@ -1749,12 +1742,6 @@ def transfer_success_view(request):
def transfer_cancel_view(request): def transfer_cancel_view(request):
return render(request, 'account/transfer_cancel.html') return render(request, 'account/transfer_cancel.html')
from decimal import Decimal
from django.http import JsonResponse
def store_novawow_success_view(request): def store_novawow_success_view(request):
return render(request, 'store/store_novawow_success.html') return render(request, 'store/store_novawow_success.html')
@@ -1793,15 +1780,21 @@ def store_novawow_view(request):
# Si el carrito está en la sesión # Si el carrito está en la sesión
carrito = request.session.get('carrito', []) carrito = request.session.get('carrito', [])
total_price = sum(item['price'] for item in carrito) * Decimal('1.21') # Incluir IVA total_price = sum(Decimal(item['precio']) for item in carrito) * Decimal('1.21')
if request.method == 'POST': if request.method == 'POST':
# Obtener datos del body # Obtener datos del body
data = json.loads(request.body) data = json.loads(request.body)
character_name = data.get('character') character_name = data.get('character')
carrito = data.get('carrito')
request.session['carrito'] = carrito
if not character_name: if not character_name:
return JsonResponse({'success': False, 'message': 'Por favor, selecciona un personaje.'}) return JsonResponse({'success': False, 'message': 'Por favor, selecciona un personaje.'})
if category_name:
items_in_category = Category.objects.get(name=category_name).items.values()
return JsonResponse({'success': True, 'items': list(items_in_category)})
# Verificar si el personaje pertenece al usuario # Verificar si el personaje pertenece al usuario
if character_name not in characters: if character_name not in characters:
@@ -1841,9 +1834,9 @@ def store_novawow_success_view(request):
if response is None or response.strip() == "": if response is None or response.strip() == "":
message = f"El personaje {character_name} se a anadido los items de la compra." message = f"El personaje {character_name} se a anadido los items de la compra."
request.session.pop('store_novawow', None) # Limpiar la sesión request.session.pop('store_novawow', None) # Limpiar la sesión
return render(request, 'store/store_success.html', {'message': message}) return render(request, 'store/store_novawow_success.html', {'message': message})
else: else:
return render(request, 'store/store_success.html', {'message': f"Error: {response}"}) return render(request, 'store/store_novawow_success.html', {'message': f"Error: {response}"})
def store_novawow_buscar_categoria_view(request, categoria): def store_novawow_buscar_categoria_view(request, categoria):