addons-cm/website_sale_aplicoop/static/description/index.html
2026-02-11 15:32:11 +01:00

180 lines
5.2 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Website Sale Aplicoop - Sistema de Pedidos Colaborativos
![Criptomart Logo](icon.svg)
**Versión:** 18.0.1.0.0-beta
**Licencia:** AGPL-3.0
**Autor:** [Criptomart](https://criptomart.net)
## Descripción
Website Sale Aplicoop es un módulo de Odoo 18 que implementa un sistema moderno y escalable para gestionar **pedidos colaborativos de compra grupal** (*eskaera* en euskera).
Este módulo reemplaza la antigua aplicación Aplicoop con una solución integrada en Odoo que permite a grupos de usuarios realizar compras coordinadas con productos específicos, fechas de corte y períodos de recogida.
## Características Principales
### 🛒 Gestión de Pedidos de Grupo
- Crear pedidos colaborativos con fechas de inicio/fin configurables
- Sistema de máquina de estados (draft → open → closed/cancelled)
- Asignación de productos por:
- Producto directo (lista explícita)
- Categoría (todos los productos en categorías seleccionadas)
- Proveedor (todos los productos del proveedor)
### 🔍 Experiencia de Compra
- Búsqueda y filtrado de productos por:
- Nombre y descripción
- Categoría
- Imágenes en miniatura de productos
- Carrito persistente por pedido (localStorage)
- Interfaz responsive (móvil-friendly)
### 👥 Control de Acceso
- Grupos de usuarios (res.partner)
- Solo usuarios miembros de grupos pueden ver/comprar en pedidos
- Dos niveles de permisos:
- Lectora (portal): ver y comprar
- Gestora: crear y editar pedidos
### 📅 Fechas y Períodos
- Fecha de inicio/fin del pedido
- Horas de apertura/cierre opcionales
- Día de corte de compras (cutoff_day)
- Día de recogida del pedido
- Períodos de recurrencia (diario, semanal, quincenal, mensual)
### 🌍 Internacionalización
Disponible en 7 idiomas:
- 🇪🇸 Español
- 🇫🇷 Francés
- 🇨🇦 Catalán
- 🇪🇺 Euskera
- 🇬🇦 Gallego
- 🇮🇹 Italiano
- 🇵🇹 Portugués
## Flujo de Compra
```
1. Usuario ve lista de pedidos activos (/eskaera)
2. Selecciona un pedido y ve productos (/eskaera/<id>)
3. Busca/filtra productos (search, category)
4. Agrega productos al carrito (localStorage)
5. Confirma el carrito (/eskaera/confirm)
6. Sale.order creada automáticamente en BD
7. Flujo estándar de Odoo (quotation → order → invoice)
```
## Instalación
1. Descargar el módulo en la carpeta de addons
2. Actualizar la lista de módulos en Odoo
3. Instalar "Website Sale Aplicoop"
4. Ir a **Website Sale > Group Orders** para crear pedidos
## Uso
### Crear un Pedido de Grupo
1. **Website Sale > Group Orders > Create**
2. Completar campos:
- Nombre del pedido
- Grupos que pueden participar (requerido)
- Productos, categorías o proveedores
- Fechas y horarios
- Día de corte y recogida
3. Cambiar estado a "Open"
4. Los usuarios pueden empezar a comprar
### Buscar y Filtrar Productos
En la página de tienda (/eskaera/<id>):
- Barra de búsqueda para buscar por nombre/descripción
- Dropdown de categorías para filtrar
- Botón "Filtrar" para aplicar
## Estructura Técnica
### Modelos
- `group.order`: Pedido de grupo (máquina de estados)
- Extensiones de `product.product` y `res.partner`
### Controlador
- `/eskaera`: Lista de pedidos activos
- `/eskaera/<id>`: Tienda de productos
- `/eskaera/add-to-cart`: Validación de productos (POST JSON)
- `/eskaera/confirm`: Crear sale.order (POST JSON)
### Vistas
- Plantillas para website (eskaera_page, eskaera_shop, eskaera_checkout)
- Formularios backend para gestión de pedidos
### Internacionalización
- Traducciones al 100% en 7 idiomas
- Basado en POT master con msgmerge
## Validaciones
- `cutoff_day`: Campo requerido
- `start_date`: Opcional (si vacío, pedido siempre abierto)
- `end_date`: Opcional (si vacío, pedido permanente)
- Validación de fechas: `start_date ≤ end_date`
- Validación de horarios: `start_time < end_time` (0-24)
## Seguridad
- CSRF token en rutas JSON
- Validación de acceso por grupo en todas las rutas
- Verificación de estado del pedido (solo open)
- ACL basado en grupos de usuario
## Performance
- Búsqueda de productos optimizada (filtered en lugar de search)
- Carrito en localStorage (sin DB writes hasta confirmación)
- Logging detallado para debugging
## Testing
Suite completa de tests:
- `test_group_order.py`: Validaciones del modelo
- `test_product_extension.py`: Extensión de productos
- `test_res_partner.py`: Extensión de partner
- `test_eskaera_shop.py`: Lógica de descubrimiento de productos
Ejecutar tests:
```bash
docker-compose exec -T odoo odoo -d odoo -p 8070 -i website_sale_aplicoop --test-enable --stop-after-init
```
## Soporte
- Documentación: Ver carpeta `readme/`
- Diagnóstico de problemas: Ver `DIAGNOSTIC_PRODUCTS.md`
- Estado del módulo: Ver `STATUS_REPORT.md`
## Licencia
AGPL-3.0 - Copyright 2025 Criptomart
## Cambios Recientes
**v18.0.1.0.0-beta:**
- Traducción completa a 7 idiomas
- Correcciones de tipos de pedido
- Descubrimiento de productos por categorías/proveedores
- Búsqueda y filtros en la tienda
- Imágenes en miniatura de productos
- Información de fechas de corte y recogida
- Suite de tests completa
---
**Desarrollado con por [Criptomart](https://criptomart.net)**