# Odoo Addons — Criptomart Colección de addons Odoo 18.0 para Criptomart / Elika Bilbo. Incluye addons OCA incluidos como dependencias y addons custom desarrollados internamente. ## Addons OCA (dependencias incluidas) Addons del ecosistema [OCA](https://github.com/OCA) incorporados al repositorio. No se modifican salvo hotfixes puntuales. | Addon | Versión | Descripción | | ----- | ------- | ----------- | | [account_invoice_triple_discount](account_invoice_triple_discount/) | 18.0.1.0.0 | Triple descuento en líneas de factura | | [product_get_price_helper](product_get_price_helper/) | 18.0.1.1.0 | Helper para obtener precios de producto respetando tarifas | | [product_main_seller](product_main_seller/) | 18.0.1.0.0 | Campo "proveedor principal" en producto | | [product_origin_char](product_origin_char/) | 18.0.2.0.0 | Campo de texto libre para origen del producto | | [product_price_category](product_price_category/) | 18.0.1.0.0 | Categoría de precio en producto + aplicación masiva vía tarifas | | [purchase_triple_discount](purchase_triple_discount/) | 18.0.1.0.0 | Triple descuento en líneas de pedido de compra | ## Addons Custom Addons desarrollados por Criptomart para necesidades específicas del proyecto. | Addon | Versión | Descripción | | ----- | ------- | ----------- | | [account_invoice_triple_discount_readonly](account_invoice_triple_discount_readonly/) | 18.0.1.0.0 | Corrige bug de acumulación de descuentos y pone descuento total en solo lectura | | [membership_expiry_reminder](membership_expiry_reminder/) | 18.0.1.0.0 | Recordatorio por email de membresías próximas a vencer | | [portal_event_registration](portal_event_registration/) | 18.0.1.0.0 | Vista portal de inscripciones a eventos con adjuntos al chatter | | [product_price_category_supplier](product_price_category_supplier/) | 18.0.1.0.0 | Categoría de precio por defecto en proveedor + actualización masiva de productos | | [product_pricelist_total_margin](product_pricelist_total_margin/) | 18.0.1.2.0 | Margen aditivo (no compuesto) en tarifas encadenadas, con límites globales | | [product_sale_price_from_pricelist](product_sale_price_from_pricelist/) | 18.0.2.7.0 | Calcula precio de venta desde último precio de compra vía tarifa configurable | | [stock_picking_batch_custom](stock_picking_batch_custom/) | 18.0.1.0.0 | Columnas extra en operaciones detalladas de lotes: partner, categoría, recogido | | [website_sale_aplicoop](website_sale_aplicoop/) | 18.0.1.9.0 | Sistema de pedidos colaborativos para grupos de consumo (reemplazo de Aplicoop) | ## Dependencias entre addons custom ```text website_sale_aplicoop └── product_sale_price_from_pricelist └── product_pricelist_total_margin └── product_price_category └── product_main_seller └── product_price_category_supplier └── product_price_category account_invoice_triple_discount_readonly └── account_invoice_triple_discount └── purchase_triple_discount ``` ## Desarrollo ### Instalación / actualización de un addon ```bash docker-compose exec -T odoo odoo -d odoo -u --stop-after-init ``` ### Tests ```bash docker-compose exec -T odoo odoo -d odoo --test-enable --stop-after-init -u ``` ### Linters ```bash # Python black . && isort . && flake8 . && pylint --load-plugins=pylint_odoo / # JS npx eslint /static/src/ ``` Ver [docs/LINTERS_README.md](docs/LINTERS_README.md) para configuración completa. ### Traducciones Ver [docs/TRANSLATIONS.md](docs/TRANSLATIONS.md). ## Documentación técnica Ver carpeta [docs/](docs/) para documentación transversal (instalación, lazy loading, QWeb, etc.).