Files
proyecto-final/docs/views/INDEX.md
T

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).