Added × button to clear the search input field. When clicked: - Clears the search text - Updates lastSearchValue to prevent polling false-positive - Calls infiniteScroll.resetWithFilters() to reload all products from server - Maintains current category filter - Returns focus to search input The button appears when text is entered and hides when search is empty. |
||
|---|---|---|
| .github | ||
| .vscode | ||
| account_invoice_triple_discount | ||
| account_invoice_triple_discount_readonly | ||
| docs | ||
| ocb@6fb141fc75 | ||
| product_get_price_helper | ||
| product_main_seller | ||
| product_origin | ||
| product_price_category | ||
| product_price_category_supplier | ||
| product_sale_price_from_pricelist | ||
| purchase_triple_discount | ||
| setup | ||
| website_sale_aplicoop | ||
| .editorconfig | ||
| .flake8 | ||
| .gitignore | ||
| .isort.cfg | ||
| .pre-commit-config.yaml | ||
| .prettierignore | ||
| .prettierrc.yml | ||
| .pylintrc | ||
| .pylintrc-mandatory | ||
| check_addon.sh | ||
| check_tax_config.sh | ||
| docker-compose.yml | ||
| DOCUMENTATION.md | ||
| DOCUMENTATION_UPDATE_SUMMARY.md | ||
| eslint.config.js | ||
| Makefile | ||
| oca_dependencies.txt | ||
| odoo.conf | ||
| pyproject.toml | ||
| README.md | ||
| requirements.txt | ||
| run_price_tests.sh | ||
| setup.cfg | ||
| test_prices.py | ||
| test_with_docker_run.sh | ||
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 | Sistema de triple descuento en facturas | account-invoicing |
| purchase_triple_discount | Sistema de triple descuento en compras | purchase-workflow |
| product_origin | Campo de origen del producto | product-attribute |
| product_get_price_helper | Helper para cálculo de precios | product-attribute |
| product_main_seller | Proveedor principal por producto | purchase-workflow |
| product_price_category | Sistema de categorías de precio | product-attribute |
3. Addons Custom Propios
| Addon | Propósito | Estado |
|---|---|---|
| account_invoice_triple_discount_readonly | Fix para bug de descuentos acumulados | ✅ Estable |
| product_price_category_supplier | Gestión de categorías por proveedor | ✅ Estable |
| product_sale_price_from_pricelist | Auto-cálculo precio venta desde compra | ✅ Estable |
| website_sale_aplicoop | Sistema completo de eskaera web con lazy loading 🚀 | ✅ Estable |
✨ Nueva Feature v18.0.1.3.0: website_sale_aplicoop incluye lazy loading configurable para mejorar el rendimiento de carga de productos. Reduce el tiempo de carga inicial de 10-20s a 500-800ms. Ver docs/LAZY_LOADING.md para detalles.
🚀 Quick Start
Requisitos
- Docker & Docker Compose
- Python 3.10+
- PostgreSQL 14+
Instalación
# 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
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
# 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
# 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
# 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
📖 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 - Guía para desarrollo con AI
- Documentación Técnica - Guías de instalación, linters, y troubleshooting
- 🚀 Lazy Loading Documentation - Guía técnica completa sobre la nueva feature de carga lazy
- 📦 Upgrade Instructions v18.0.1.3.0 - Guía de actualización e instalación de lazy loading
- Makefile - Comandos disponibles
- requirements.txt - Dependencias Python
- 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
- 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