- Create .github/copilot-instructions.md with global development guidelines - Add comprehensive README.md at project root with quick start guide - Create docs/ directory for technical documentation - Move installation and linter docs to docs/ - Add docs/TRANSLATIONS.md with complete translation system guide - Create README.md for OCA modified addons (product_origin, product_get_price_helper, product_main_seller) - Document translation best practices (no _() in field definitions) - Add references between all documentation files - Clean up project root by moving technical docs to docs/ All documentation now properly references addon-specific READMEs for detailed architecture and implementation.
249 lines
7.1 KiB
Markdown
249 lines
7.1 KiB
Markdown
# Kidekoop - Addons Custom para Odoo 18.0
|
|
|
|
Sistema de gestión de compras colaborativas (grupo de consumo) basado en Odoo 18.0 con módulos personalizados y modificados.
|
|
|
|
## 🎯 Descripción
|
|
|
|
Este repositorio contiene los addons personalizados para Kidekoop, un sistema completo de gestión de grupos de consumo que permite:
|
|
|
|
- **Gestión de compras colaborativas** (eskaera)
|
|
- **Sistema de precios multinivel** con categorías y descuentos múltiples
|
|
- **Integración con proveedores** y gestión de precios automática
|
|
- **Interfaz web moderna** para pedidos grupales
|
|
- **Multiidioma** (ES, EU, CA, GL, PT, FR, IT)
|
|
|
|
## 📦 Componentes del Proyecto
|
|
|
|
### 1. OCB - Odoo Community Backports
|
|
- **Ubicación**: `/ocb`
|
|
- **Versión**: 18.0
|
|
- **Descripción**: Base de Odoo Community Edition
|
|
- **Repositorio**: https://github.com/OCA/OCB
|
|
|
|
### 2. Addons OCA Modificados
|
|
|
|
| Addon | Propósito | Repositorio OCA |
|
|
|-------|-----------|-----------------|
|
|
| [account_invoice_triple_discount](account_invoice_triple_discount/) | Sistema de triple descuento en facturas | account-invoicing |
|
|
| [purchase_triple_discount](purchase_triple_discount/) | Sistema de triple descuento en compras | purchase-workflow |
|
|
| [product_origin](product_origin/) | Campo de origen del producto | product-attribute |
|
|
| [product_get_price_helper](product_get_price_helper/) | Helper para cálculo de precios | product-attribute |
|
|
| [product_main_seller](product_main_seller/) | Proveedor principal por producto | purchase-workflow |
|
|
| [product_price_category](product_price_category/) | Sistema de categorías de precio | product-attribute |
|
|
|
|
### 3. Addons Custom Propios
|
|
|
|
| Addon | Propósito | Estado |
|
|
|-------|-----------|--------|
|
|
| [account_invoice_triple_discount_readonly](account_invoice_triple_discount_readonly/) | Fix para bug de descuentos acumulados | ✅ Estable |
|
|
| [product_price_category_supplier](product_price_category_supplier/) | Gestión de categorías por proveedor | ✅ Estable |
|
|
| [product_sale_price_from_pricelist](product_sale_price_from_pricelist/) | Auto-cálculo precio venta desde compra | ✅ Estable |
|
|
| [website_sale_aplicoop](website_sale_aplicoop/) | Sistema completo de eskaera web | ✅ Estable |
|
|
|
|
## 🚀 Quick Start
|
|
|
|
### Requisitos
|
|
|
|
- Docker & Docker Compose
|
|
- Python 3.10+
|
|
- PostgreSQL 14+
|
|
|
|
### Instalación
|
|
|
|
```bash
|
|
# Clonar repositorio
|
|
git clone [URL_REPO]
|
|
cd addons-cm
|
|
|
|
# Iniciar entorno
|
|
docker-compose up -d
|
|
|
|
# Verificar logs
|
|
docker-compose logs -f odoo
|
|
```
|
|
|
|
### Instalar un addon
|
|
|
|
```bash
|
|
docker-compose exec odoo odoo -d odoo -u addon_name --stop-after-init
|
|
```
|
|
|
|
## 🛠️ Desarrollo
|
|
|
|
### Estructura de Carpetas
|
|
|
|
```
|
|
addons-cm/
|
|
├── .github/ # GitHub Copilot instructions
|
|
├── ocb/ # Odoo 18.0 base
|
|
├── account_invoice_*/ # Addons de facturación
|
|
├── purchase_*/ # Addons de compras
|
|
├── product_*/ # Addons de productos
|
|
├── website_sale_aplicoop/ # Sistema eskaera
|
|
├── docker-compose.yml # Configuración Docker
|
|
├── requirements.txt # Dependencias Python
|
|
├── oca_dependencies.txt # Dependencias OCA
|
|
├── Makefile # Comandos útiles
|
|
└── .pre-commit-config.yaml # Hooks de pre-commit
|
|
```
|
|
|
|
### Herramientas de Calidad
|
|
|
|
```bash
|
|
# Ejecutar checks de código
|
|
make lint
|
|
|
|
# Formatear código
|
|
make format
|
|
|
|
# Ejecutar todos los pre-commit hooks
|
|
pre-commit run --all-files
|
|
|
|
# Verificar addon específico
|
|
./check_addon.sh addon_name
|
|
```
|
|
|
|
### Tests
|
|
|
|
```bash
|
|
# Ejecutar tests de un addon
|
|
docker-compose exec odoo odoo -d odoo --test-enable --stop-after-init -u addon_name
|
|
|
|
# Tests específicos con Python unittest
|
|
docker-compose exec odoo python -m pytest addons/addon_name/tests/
|
|
```
|
|
|
|
## 🌍 Sistema de Traducciones
|
|
|
|
Todos los addons custom incluyen traducciones completas en:
|
|
|
|
- **Español** (es) - Obligatorio
|
|
- **Euskera** (eu) - Obligatorio
|
|
- **Catalán** (ca)
|
|
- **Gallego** (gl)
|
|
- **Portugués** (pt)
|
|
- **Francés** (fr)
|
|
- **Italiano** (it)
|
|
|
|
### Actualizar Traducciones
|
|
|
|
```bash
|
|
# Exportar términos traducibles
|
|
docker-compose exec odoo odoo \
|
|
--addons-path=/mnt/extra-addons \
|
|
--i18n-export=/tmp/addon_name.pot \
|
|
--modules=addon_name \
|
|
--db=odoo
|
|
|
|
# Actualizar archivos .po
|
|
cd addon_name/i18n
|
|
msgmerge --update es.po addon_name.pot
|
|
msgmerge --update eu.po addon_name.pot
|
|
```
|
|
|
|
**Importante**: No usar `_()` en definiciones de campos a nivel de módulo. Solo usar en métodos.
|
|
|
|
📖 **[Ver guía completa de traducciones](docs/TRANSLATIONS.md)**
|
|
|
|
## 📖 Documentación Adicional
|
|
|
|
Cada addon incluye su propio README.md con:
|
|
- Arquitectura y diseño
|
|
- Detalles de implementación
|
|
- Ejemplos de uso
|
|
- Casos de prueba
|
|
|
|
### Documentos Principales
|
|
|
|
- [GitHub Copilot Instructions](.github/copilot-instructions.md) - Guía para desarrollo con AI
|
|
- [Documentación Técnica](docs/) - Guías de instalación, linters, y troubleshooting
|
|
- [Makefile](Makefile) - Comandos disponibles
|
|
- [requirements.txt](requirements.txt) - Dependencias Python
|
|
- [oca_dependencies.txt](oca_dependencies.txt) - Repositorios OCA necesarios
|
|
|
|
## 🔧 Configuración
|
|
|
|
### Dependencias OCA
|
|
|
|
Este proyecto depende de los siguientes repositorios OCA:
|
|
|
|
- **account-invoicing**: Sistema de facturación extendido
|
|
- **product-attribute**: Gestión avanzada de productos
|
|
- **purchase-workflow**: Flujos de compra personalizados
|
|
- **sale-workflow**: Flujos de venta personalizados
|
|
|
|
### Configuración de Odoo
|
|
|
|
Archivo `odoo.conf` incluye:
|
|
- Configuración de addons path
|
|
- Parámetros de base de datos
|
|
- Configuración de workers y límites
|
|
|
|
## 🐛 Issues Conocidos y Soluciones
|
|
|
|
### Descuentos Acumulándose en discount1
|
|
|
|
**Problema**: Al usar triple descuento, todos los descuentos se acumulan en el primer campo.
|
|
|
|
**Solución**: Instalar `account_invoice_triple_discount_readonly`
|
|
|
|
### Precio de Venta No Actualiza
|
|
|
|
**Problema**: El precio de venta no se calcula automáticamente desde el precio de compra.
|
|
|
|
**Solución**: Configurar `product_sale_price_from_pricelist` correctamente.
|
|
|
|
### Warnings de Traducción
|
|
|
|
**Problema**: `WARNING: _() called at import time at module...`
|
|
|
|
**Solución**: No usar `_()` en definiciones de campos, solo en métodos ejecutables.
|
|
|
|
## 🤝 Contribuir
|
|
|
|
### Estándares de Código
|
|
|
|
- Seguir [OCA Guidelines](https://github.com/OCA/odoo-community.org/blob/master/website/Contribution/CONTRIBUTING.rst)
|
|
- Usar **black** para formateo
|
|
- Usar **isort** para imports
|
|
- Pasar **flake8** y **pylint-odoo**
|
|
- Todos los commits deben pasar pre-commit hooks
|
|
|
|
### Estructura de Commits
|
|
|
|
```
|
|
[TAG] module_name: Brief description
|
|
|
|
Detailed explanation if needed
|
|
|
|
Tags: [ADD], [FIX], [IMP], [REF], [REM], [I18N], [DOC]
|
|
```
|
|
|
|
### Testing
|
|
|
|
Todos los nuevos features deben incluir:
|
|
- Tests unitarios
|
|
- Tests de integración (si aplica)
|
|
- Documentación actualizada
|
|
|
|
## 📝 License
|
|
|
|
AGPL-3.0 or later
|
|
|
|
## 👥 Autores
|
|
|
|
- **Criptomart** - Development
|
|
- **OCA Community** - Base addons
|
|
|
|
## 🔗 Enlaces
|
|
|
|
- **Odoo Documentation**: https://www.odoo.com/documentation/18.0/
|
|
- **OCA**: https://github.com/OCA
|
|
- **OCB**: https://github.com/OCA/OCB
|
|
- **OCA Guidelines**: https://github.com/OCA/odoo-community.org
|
|
|
|
---
|
|
|
|
**Versión Odoo**: 18.0
|
|
**Python**: 3.10+
|
|
**Última Actualización**: 2026-02-12
|