Odoo addons personalizados por Criptomart
The 18.0 migration of `pos_payment_method_cashdro` (OCA/pos@6a4c251d) kept three uses of APIs removed in 18.0. The module has no tests nor tours and needs a physical drawer to be exercised, so the OCA CI can't catch them: * `_cashdro_url()` reads `order.selected_paymentline`, so `.payment_method` on the resulting `undefined` throws a TypeError on every payment, swallowed into a generic "An error occurred while connecting to the cashdro" dialog. * The `add_paymentline()` patch checks `line.payment_method`, renamed to `payment_method_id`, so the line keeps the default due amount instead of waiting for the amount the customer inserts. * `_loader_params_pos_payment_method()` is the 17.0 loading API, replaced by `_load_pos_data_fields()`. Dead code, so the CashDro credentials never reach the front end. Patched from the outside, as OCA sources are not to be modified. Written to stay harmless once fixed upstream: the Python override only adds the missing fields and the JS patches are idempotent against the fixed code. `upstream/pos_payment_method_cashdro-18.0-fixes.patch` holds the same fixes as a ready to send `git format-patch`, verified with `git apply --check`. This module is temporary and should be removed once that lands in OCA/pos. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| .github | ||
| .vscode | ||
| account_banking_mandate_batch | ||
| account_invoice_triple_discount_readonly | ||
| docs | ||
| l10n_es_edi_tbai_reagyp_recibidas | ||
| l10n_es_partner_ccpae | ||
| membership_expiry_reminder | ||
| membership_monthly_invoicing | ||
| membership_payment_date | ||
| portal_event_registration | ||
| pos_account_payment_order_sepa | ||
| pos_full_refund | ||
| pos_order_reorder | ||
| pos_payment_method_cashdro_fix | ||
| pos_payment_method_cashdro_rounding | ||
| product_origin_char | ||
| product_price_category_supplier | ||
| product_pricelist_total_margin | ||
| product_sale_price_from_pricelist | ||
| purchase_rappel | ||
| scripts | ||
| setup | ||
| sort_lines_by_product_name | ||
| stock_picking_batch_custom | ||
| stock_picking_report_undelivered_product | ||
| website_membership_associate | ||
| website_membership_signup_required | ||
| website_sale_aplicoop | ||
| website_sale_disable_cart | ||
| .editorconfig | ||
| .flake8 | ||
| .gitignore | ||
| .isort.cfg | ||
| .pre-commit-config.yaml | ||
| .prettierignore | ||
| .prettierrc.yml | ||
| .pylintrc | ||
| .pylintrc-mandatory | ||
| check_addon.sh | ||
| check_tax_config.sh | ||
| CLAUDE.md | ||
| docker-compose.yml | ||
| eslint.config.js | ||
| Makefile | ||
| oca_dependencies.txt | ||
| odoo.conf | ||
| pyproject.toml | ||
| README.md | ||
| requirements.txt | ||
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 incorporados al repositorio. No se modifican salvo hotfixes puntuales.
| Addon | Versión | Descripción |
|---|---|---|
| account_invoice_triple_discount | 18.0.1.0.0 | Triple descuento en líneas de factura |
| product_get_price_helper | 18.0.1.1.0 | Helper para obtener precios de producto respetando tarifas |
| product_main_seller | 18.0.1.0.0 | Campo "proveedor principal" en producto |
| product_origin_char | 18.0.2.0.0 | Campo de texto libre para origen del producto |
| product_price_category | 18.0.1.0.0 | Categoría de precio en producto + aplicación masiva vía tarifas |
| 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 | 18.0.1.0.0 | Corrige bug de acumulación de descuentos y pone descuento total en solo lectura |
| membership_expiry_reminder | 18.0.1.0.0 | Recordatorio por email de membresías próximas a vencer |
| portal_event_registration | 18.0.1.0.0 | Vista portal de inscripciones a eventos con adjuntos al chatter |
| 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 | 18.0.1.2.0 | Margen aditivo (no compuesto) en tarifas encadenadas, con límites globales |
| 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 | 18.0.1.0.0 | Columnas extra en operaciones detalladas de lotes: partner, categoría, recogido |
| website_sale_aplicoop | 18.0.1.9.0 | Sistema de pedidos colaborativos para grupos de consumo (reemplazo de Aplicoop) |
Dependencias entre addons custom
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
docker-compose exec -T odoo odoo -d odoo -u <nombre_addon> --stop-after-init
Tests
docker-compose exec -T odoo odoo -d odoo --test-enable --stop-after-init -u <nombre_addon>
Linters
# Python
black . && isort . && flake8 . && pylint --load-plugins=pylint_odoo <addon>/
# JS
npx eslint <addon>/static/src/
Ver docs/LINTERS_README.md para configuración completa.
Traducciones
Ver docs/TRANSLATIONS.md.
Documentación técnica
Ver carpeta docs/ para documentación transversal (instalación, lazy loading, QWeb, etc.).