Aplicoop desde el repo de kidekoop
This commit is contained in:
parent
69917d1ec2
commit
7cff89e418
93 changed files with 313992 additions and 0 deletions
180
website_sale_aplicoop/static/description/index.html
Normal file
180
website_sale_aplicoop/static/description/index.html
Normal file
|
|
@ -0,0 +1,180 @@
|
|||
# Website Sale Aplicoop - Sistema de Pedidos Colaborativos
|
||||
|
||||

|
||||
|
||||
**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)**
|
||||
Loading…
Add table
Add a link
Reference in a new issue