Odoo addons personalizados por Criptomart
Find a file
snt 5eb039ffe0 [FIX] website_sale_aplicoop: Complete infinite scroll and search filter integration
Major fixes:
- Fix JSON body parsing in load_products_ajax with type='http' route
  * Parse JSON from request.httprequest.get_data() instead of post params
  * Correctly read page, search, category from JSON request body

- Fix search and category filter combination
  * Use intersection (&) instead of replacement to preserve both filters
  * Now respects search AND category simultaneously

- Integrate realtime_search.js with infinite_scroll.js
  * Add resetWithFilters() method to reset scroll to page 1 with new filters
  * When search/category changes, reload products from server
  * Clear grid and load fresh results

- Fix pagination reset logic
  * Set currentPage = 0 in resetWithFilters() so loadNextPage() increments to 1
  * Prevents loading empty page 2 when resetting filters

Results:
 Infinite scroll loads all pages correctly (1, 2, 3...)
 Search filters work across all products (not just loaded)
 Category filters work correctly
 Search AND category filters work together
 Page resets to 1 when filters change
2026-02-17 01:10:47 +01:00
.github [FIX] website_sale_aplicoop: Correct XPath for block element 2026-02-16 15:16:56 +01:00
.vscode build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
account_invoice_triple_discount build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
account_invoice_triple_discount_readonly update pylint10, corrije authors manifest 2026-02-12 17:15:33 +01:00
docs [DOC] Add final verification results to FINAL_SOLUTION_SUMMARY 2026-02-16 23:49:37 +01:00
ocb@6fb141fc75 [FIX] product_sale_price_from_pricelist: Actualizar tests para Odoo 18 2026-02-12 19:23:29 +01:00
product_get_price_helper [DOC] all: Reorganize and consolidate project documentation 2026-02-12 16:25:49 +01:00
product_main_seller [DOC] all: Reorganize and consolidate project documentation 2026-02-12 16:25:49 +01:00
product_origin [FIX] product_sale_price_from_pricelist: Actualizar tests para Odoo 18 2026-02-12 19:23:29 +01:00
product_price_category build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
product_price_category_supplier [DOC] website_sale_aplicoop: Add lazy loading documentation and implement v18.0.1.3.0 feature 2026-02-16 18:39:39 +01:00
product_sale_price_from_pricelist [FIX] product_sale_price_from_pricelist: Correct _compute_price method signature 2026-02-16 15:26:22 +01:00
purchase_triple_discount build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
setup build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
website_sale_aplicoop [FIX] website_sale_aplicoop: Complete infinite scroll and search filter integration 2026-02-17 01:10:47 +01:00
.editorconfig build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
.flake8 build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
.gitignore LaOsaCoop/Odoo16#12 migration pos_balance_multishop + pos_balance_epelsa 2025-05-22 13:10:51 +02:00
.isort.cfg build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
.pre-commit-config.yaml update pylint10, corrije authors manifest 2026-02-12 17:15:33 +01:00
.prettierignore [FIX] product_sale_price_from_pricelist: Actualizar tests para Odoo 18 2026-02-12 19:23:29 +01:00
.prettierrc.yml [FIX] product_sale_price_from_pricelist: Actualizar tests para Odoo 18 2026-02-12 19:23:29 +01:00
.pylintrc update pylint10, corrije authors manifest 2026-02-12 17:15:33 +01:00
.pylintrc-mandatory update pylint10, corrije authors manifest 2026-02-12 17:15:33 +01:00
check_addon.sh build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
check_tax_config.sh Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00
docker-compose.yml [DOC] website_sale_aplicoop: Add lazy loading documentation and implement v18.0.1.3.0 feature 2026-02-16 18:39:39 +01:00
DOCUMENTATION.md [DOC] website_sale_aplicoop: Add lazy loading documentation and implement v18.0.1.3.0 feature 2026-02-16 18:39:39 +01:00
DOCUMENTATION_UPDATE_SUMMARY.md [DOC] website_sale_aplicoop: Add lazy loading documentation and implement v18.0.1.3.0 feature 2026-02-16 18:39:39 +01:00
Makefile build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
oca_dependencies.txt build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
odoo.conf docker test files 2026-02-11 15:33:31 +01:00
pyproject.toml build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
README.md [DOC] website_sale_aplicoop: Add lazy loading documentation and implement v18.0.1.3.0 feature 2026-02-16 18:39:39 +01:00
requirements.txt build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
run_price_tests.sh Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00
setup.cfg build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
test_prices.py Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00
test_with_docker_run.sh Revertir cambio: eliminar cálculo duplicado de impuestos 2026-02-11 19:54:28 +01:00

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

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

🔧 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


Versión Odoo: 18.0 Python: 3.10+ Última Actualización: 2026-02-12