Odoo addons personalizados por Criptomart
Find a file
snt f35bf0c5a1 [FIX] website_sale_aplicoop: Calculate UoM quantity step server-side for portal users
Portal users cannot read uom.uom model due to ACL restrictions (1,0,0,0 permissions).
This caused products sold by weight (kg) to have incorrect quantity step (1 instead of 0.1).

Solution:
- Calculate quantity_step in Python controller using product.uom_id.sudo()
- Check if UoM category contains 'weight' or 'kg' -> use step=0.1
- For other products, use default step=1
- Pass quantity_step to template via product_display_info dict
- Update XML input attributes (value, min, step) to use dynamic quantity_step

This maintains proper UX for bulk products while respecting security permissions.
2026-02-21 14:31:34 +01:00
.github [REF] Code quality improvements and structure fixes 2026-02-21 13:51:25 +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 [TEST FIX] Resolver errores de tests en addons custom 2026-02-18 18:17:55 +01:00
docs [FIX] website_sale_aplicoop: Arreglar búsqueda y filtrado por tags 2026-02-18 18:51:26 +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] Actualizar documentación y instrucciones con cambios recientes (v18.0.1.3.1) 2026-02-18 18:37:43 +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 [REF] Code quality improvements and structure fixes 2026-02-21 13:51:25 +01:00
product_sale_price_from_pricelist [REF] Code quality improvements and structure fixes 2026-02-21 13:51:25 +01:00
purchase_triple_discount [FIX] website_sale_aplicoop: Remove redundant string= attributes and fix OCA linting warnings 2026-02-18 17:54:43 +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: Calculate UoM quantity step server-side for portal users 2026-02-21 14:31:34 +01:00
.editorconfig build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
.flake8 [CHORE] Increase flake8 max-complexity threshold 2026-02-17 01:29:37 +01:00
.gitignore [FIX] website_sale_aplicoop: Remove redundant string= attributes and fix OCA linting warnings 2026-02-18 17:54:43 +01:00
.isort.cfg build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
.pre-commit-config.yaml [FIX] Code quality refactoring: remove F401, fix translations, improve test coverage 2026-02-21 02:13:40 +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
eslint.config.js [CHORE] Add ESLint configuration file 2026-02-17 01:29:17 +01:00
Makefile build: configurar herramientas de verificación OCA 2026-02-11 16:09:41 +01:00
mypy.ini [REF] Code quality improvements and structure fixes 2026-02-21 13:51:25 +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 [REF] Code quality improvements and structure fixes 2026-02-21 13:51:25 +01:00
README.md [DOC] Añadir archivos de skills detallados (python, xml, html_css, javascript) y actualizar README.md con instrucciones de tests actualizadas. 2026-02-20 20:34:49 +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 [REF] Code quality improvements and structure fixes 2026-02-21 13:51:25 +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 v18.0.1.3.1 - Estable

Feature v18.0.1.3.0: website_sale_aplicoop incluye lazy loading configurable para mejorar el rendimiento de carga de productos (10-20s → 500-800ms).

🔧 Fixes v18.0.1.3.1: Correcciones críticas en cálculo de fechas y refactor de template rendering para evitar errores QWeb.

Ver docs/LAZY_LOADING.md y docs/FINAL_SOLUTION_SUMMARY.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 run odoo odoo -d odoo --test-enable --stop-after-init -u addon_name
# NOTA: Usa `docker-compose run` (no `exec`) para lanzar un contenedor limpio y evitar efectos de caché. Cambia `addon_name` por el módulo a testear.

# 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