ed92991872
Agent-Logs-Url: https://github.com/dsaub/proyecto-final/sessions/49df17c8-213a-4e23-adfe-465a0104f6a3 Co-authored-by: dsaub <54474838+dsaub@users.noreply.github.com>
7.7 KiB
7.7 KiB
Documentación de tienda/views.py
Este directorio contiene la documentación de cada función definida en tienda/views.py.
🔧 Funciones auxiliares y helpers
Helpers privados de localización y validación
| Función | Descripción |
|---|---|
_normalize_location_text |
Normaliza texto de localidad (quita acentos, símbolos, pasa a minúsculas). |
_is_almeria_postal_code |
Valida que un código postal pertenezca a Almería (04xxx). |
_is_almeria_city |
Comprueba si un municipio pertenece a la provincia de Almería. |
_address_form_context |
Construye el contexto de template para formularios de dirección. |
Helpers privados de petición
| Función | Descripción |
|---|---|
_get_client_ip |
Obtiene la IP real del cliente (soporta proxy con X-Forwarded-For). |
Helpers públicos de precio
| Función | Descripción |
|---|---|
get_price_with_vat_decimal |
Calcula el precio con IVA aplicado, redondeado a 2 decimales. |
🛒 Carrito de compra
| Función | Descripción |
|---|---|
get_or_create_cart |
Obtiene o crea el carrito del usuario/sesión actual. |
add_to_cart |
Agrega un producto al carrito. |
view_cart |
Muestra el contenido del carrito. |
update_cart_item |
Actualiza la cantidad de un ítem del carrito. |
remove_from_cart |
Elimina un ítem del carrito. |
clear_cart |
Vacía el carrito completo. |
📦 Reservas de stock
| Función | Descripción |
|---|---|
_get_or_create_session_key |
Garantiza que la sesión tiene una clave activa. |
_get_reservation_owner_filters |
Filtros ORM para identificar al propietario de una reserva. |
_release_expired_stock_reservations |
Marca como expiradas las reservas caducadas. |
_clear_stock_reservation_session |
Elimina los datos de reserva de la sesión HTTP. |
_cancel_active_stock_reservations_for_request |
Cancela las reservas activas del usuario/sesión actual. |
_get_reserved_quantities_by_product |
Calcula la cantidad reservada activamente por producto. |
_get_active_reservation_ids_for_request |
Devuelve los IDs de reservas activas del usuario/sesión. |
_get_available_stock_by_product |
Calcula el stock disponible real (total menos reservado). |
_get_cart_stock_issues |
Detecta conflictos de stock en los ítems del carrito. |
_build_stock_issue_message |
Construye el mensaje de error para un conflicto de stock. |
_create_stock_reservation_for_cart |
Crea atómicamente una reserva de stock para el carrito. |
_get_session_stock_reservation |
Recupera la reserva de stock activa desde la sesión. |
💳 Pedidos y checkout
| Función | Descripción |
|---|---|
_get_selected_shipping_address |
Obtiene y valida la dirección de envío seleccionada. |
create_order_from_cart |
Crea el pedido, descuenta stock y vacía el carrito. |
checkout |
Página de checkout con resumen de carrito y direcciones. |
checkout_success |
Página de confirmación de pago exitoso (Stripe). |
checkout_cancel |
Página de cancelación de pago. |
💳 Pago con Stripe
| Función | Descripción |
|---|---|
stripe_config |
Expone la clave pública de Stripe al frontend. |
create_checkout_session |
Crea una sesión de pago en Stripe Checkout. |
🅿️ Pago con PayPal
| Función | Descripción |
|---|---|
create_paypal_payment |
Crea un pago en PayPal y devuelve la URL de aprobación. |
paypal_execute |
Confirma y ejecuta el pago de PayPal tras la aprobación. |
🏪 Panel de vendedor
| Función | Descripción |
|---|---|
mis_productos |
Lista de productos del vendedor autenticado. |
pedidos_vendedor |
Lista de pedidos asignados al vendedor. |
cambiar_estado_pedido |
Cambia el estado de un ítem de pedido. |
enviar_mensaje_pedido |
Envía un mensaje al comprador sobre un pedido. |
crear_producto |
Formulario para crear un nuevo producto. |
editar_producto |
Formulario para editar un producto existente. |
borrar_producto |
Elimina un producto del vendedor. |
👤 Portal de usuario
| Función | Descripción |
|---|---|
portal_usuario |
Dashboard del portal de usuario. |
mis_compras |
Historial de compras del usuario. |
mis_recibos |
Lista de recibos / pedidos pagados. |
editar_perfil |
Edita el perfil del usuario. |
cambiar_contrasena |
Cambia la contraseña del usuario. |
mensajes_comprador |
Mensajes de vendedores al comprador. |
📍 Direcciones de envío
| Función | Descripción |
|---|---|
direcciones_usuario |
Lista las direcciones del usuario. |
crear_direccion |
Crea una nueva dirección de entrega. |
editar_direccion |
Edita una dirección existente. |
eliminar_direccion |
Elimina una dirección. |
🔍 Búsqueda
| Función | Descripción |
|---|---|
search |
Búsqueda de productos por nombre y descripción. |
search_suggestions |
API AJAX de sugerencias para el autocompletado. |
🏷️ Catálogo público
| Función | Descripción |
|---|---|
home |
Página de inicio con productos destacados. |
index |
Catálogo paginado de productos. |
producto |
Detalle de un producto (con caché Redis). |
categoria |
Catálogo filtrado por categoría. |
🔐 Autenticación y cuentas
| Función | Descripción |
|---|---|
login |
Inicio de sesión. |
register |
Registro de nuevo usuario. |
logout |
Cierre de sesión. |
verify |
Verificación de cuenta por email. |
reset_password |
Solicitud de restablecimiento de contraseña. |
reset_password_phase2 |
Segunda fase: establecer la nueva contraseña. |
📄 Páginas estáticas y utilidades
| Función | Descripción |
|---|---|
rgpd |
Página de política de privacidad / RGPD. |
send_test_email |
Vista de prueba para envío de correo (solo desarrollo). |