update pylint10, corrije authors manifest

This commit is contained in:
snt 2026-02-12 17:15:33 +01:00
parent 0889cdfc3a
commit 4207afbc3f
9 changed files with 139 additions and 195 deletions

View file

@ -5,12 +5,12 @@
Este repositorio contiene addons personalizados y modificados de Odoo 18.0. El proyecto combina: Este repositorio contiene addons personalizados y modificados de Odoo 18.0. El proyecto combina:
- **OCB (Odoo Community Backports)**: Base de Odoo 18.0 community en `/ocb` - **OCB (Odoo Community Backports)**: Base de Odoo 18.0 community en `/ocb`
- **Addons OCA**: Módulos de la comunidad OCA modificados para necesidades específicas - **Addons OCA**: Módulos de la comunidad OCA de los que heredan nuestros addons, modificados para adaptarse a nuestras necesidades
- **Addons Custom**: Módulos desarrollados específicamente para este proyecto - **Addons Custom**: Módulos desarrollados por este proyecto
## Architecture & Stack ## Architecture & Stack
- **Odoo Version**: 18.0 - **Odoo Version**: 18.0 (OCB)
- **Python Version**: 3.10+ - **Python Version**: 3.10+
- **Framework**: Odoo ORM - **Framework**: Odoo ORM
- **Deployment**: Docker Compose - **Deployment**: Docker Compose
@ -80,56 +80,53 @@ Este repositorio contiene addons personalizados y modificados de Odoo 18.0. El p
```bash ```bash
# Exportar términos a traducir # Exportar términos a traducir
docker-compose exec odoo odoo \ Pedir al usuario generar a través de UI, no sabemos el método correcto para exportar SÓLO las cadenas del addon sin incluir todo el sistema.
--addons-path=/mnt/extra-addons \
--i18n-export=/tmp/addon_name.pot \
--modules=addon_name \
--db=odoo
# Copiar y renombrar
cd addon_name/i18n
msgmerge --update es.po addon_name.pot
msgmerge --update eu.po addon_name.pot
``` ```
Usar sólo polib para trataer los archivos .po, msmerge corrompe los archivos.
```
5. **Formato de archivos .po**: 5. **Formato de archivos .po**:
- Encoding: UTF-8 - Encoding: UTF-8
- Content-Type: text/plain; charset=UTF-8 - Content-Type: text/plain; charset=UTF-8
- Language codes: `es`, `eu`, `ca`, `gl`, `pt`, `fr`, `it` - Language codes: `es`, `eu`, `ca`, `gl`, `pt`, `fr`, `it`
## Project Structure ## Project Structure
``` ```
addons-cm/ addons-cm/
├── .github/ # GitHub configs ├── .github/ # GitHub configs
└── copilot-instructions.md # Este archivo │ └── copilot-instructions.md # Este archivo
├── ocb/ # Odoo Community Backports (18.0) ├── ocb/ # Odoo Community Backports (18.0)
└── addons/ # Addons core de Odoo │ └── addons/ # Addons core de Odoo
├── oca_dependencies.txt # Dependencias OCA ├── oca_dependencies.txt # Dependencias OCA
├── requirements.txt # Dependencias Python ├── requirements.txt # Dependencias Python
├── docker-compose.yml # Configuración Docker ├── docker-compose.yml # Configuración Docker
├── Makefile # Comandos útiles ├── Makefile # Comandos útiles
├── # === ADDONS OCA MODIFICADOS === ├── # === ADDONS OCA NO MODIFICADOS ===
├── account_invoice_triple_discount/ # Triple descuento en facturas (OCA) ├── account_invoice_triple_discount/ # Triple descuento en facturas (OCA)
├── purchase_triple_discount/ # Triple descuento en compras (OCA) ├── purchase_triple_discount/ # Triple descuento en compras (OCA)
├── product_origin/ # Origen del producto (OCA) ├── product_origin/ # Origen del producto (OCA)
├── product_get_price_helper/ # Helper de precios (OCA) ├── product_get_price_helper/ # Helper de precios (OCA)
├── product_main_seller/ # Proveedor principal (OCA) ├── product_main_seller/ # Proveedor principal (OCA)
├── product_price_category/ # Categorías de precio (OCA) ├── product_price_category/ # Categorías de precio (OCA)
├── # === ADDONS CUSTOM === ├── # === ADDONS CUSTOM ===
├── account_invoice_triple_discount_readonly/ # Fix para triple descuento ├── account_invoice_triple_discount_readonly/ # Fix para triple descuento
├── product_price_category_supplier/ # Extensión categorías precio ├── product_price_category_supplier/ # Extensión categorías precio
├── product_sale_price_from_pricelist/ # Auto-cálculo precio venta ├── product_sale_price_from_pricelist/ # Auto-cálculo precio venta
└── website_sale_aplicoop/ # Sistema eskaera (compras grupo) └── website_sale_aplicoop/ # Sistema eskaera (compras grupo)
```
````
## Addon References ## Addon References
**Para arquitectura, detalles de implementación y uso específico de cada addon, consultar su `README.md` individual.** **Para arquitectura, detalles de implementación y uso específico de cada addon, consultar su `README.md` individual.**
### Addons OCA Modificados ### Addons OCA No Modificados
- [account_invoice_triple_discount](../account_invoice_triple_discount/README.rst) - [account_invoice_triple_discount](../account_invoice_triple_discount/README.rst)
- [purchase_triple_discount](../purchase_triple_discount/README.rst) - [purchase_triple_discount](../purchase_triple_discount/README.rst)
@ -161,7 +158,7 @@ docker-compose logs -f odoo
# Ejecutar tests # Ejecutar tests
docker-compose exec odoo odoo -d odoo --test-enable --stop-after-init -u addon_name docker-compose exec odoo odoo -d odoo --test-enable --stop-after-init -u addon_name
``` ````
### Quality Checks ### Quality Checks

View file

@ -125,7 +125,7 @@ repos:
- "types-requests" - "types-requests"
- "types-setuptools" - "types-setuptools"
- repo: https://github.com/PyCQA/pylint - repo: https://github.com/PyCQA/pylint
rev: v3.1.1 rev: v4.0.4
hooks: hooks:
- id: pylint - id: pylint
name: pylint with optional checks name: pylint with optional checks
@ -134,7 +134,7 @@ repos:
- --exit-zero - --exit-zero
verbose: true verbose: true
additional_dependencies: &pylint_deps additional_dependencies: &pylint_deps
- pylint-odoo==9.1.2 - pylint-odoo==10.0.0
- id: pylint - id: pylint
name: pylint with mandatory checks name: pylint with mandatory checks
args: args:

View file

@ -2,14 +2,6 @@
load-plugins=pylint_odoo load-plugins=pylint_odoo
score=n score=n
[ODOOLINT]
readme_template_url="https://github.com/OCA/maintainer-tools/blob/master/template/module/README.rst"
manifest_required_authors=Odoo Community Association (OCA)
manifest_required_keys=license
manifest_deprecated_keys=description,active
license_allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3,Other OSI approved licence,Other proprietary
valid_odoo_versions=16.0,17.0,18.0
[MESSAGES CONTROL] [MESSAGES CONTROL]
disable=all disable=all
@ -22,67 +14,76 @@ disable=all
# checks. # checks.
enable=anomalous-backslash-in-string, enable=anomalous-backslash-in-string,
api-one-deprecated,
api-one-multi-together,
assignment-from-none, assignment-from-none,
attribute-deprecated, attribute-deprecated,
class-camelcase, attribute-string-redundant,
bad-builtin-groupby,
category-allowed,
category-allowed-app,
consider-merging-classes-inherited,
context-overridden, context-overridden,
copy-wo-api-one,
dangerous-default-value, dangerous-default-value,
dangerous-view-replace-wo-priority, deprecated-name-get,
deprecated-odoo-model-method,
development-status-allowed, development-status-allowed,
duplicate-id-csv,
duplicate-key, duplicate-key,
duplicate-xml-fields, except-pass,
duplicate-xml-record-id, external-request-timeout,
eval-referenced, inheritable-method-lambda,
eval-used, inheritable-method-string,
incoherent-interpreter-exec-perm, invalid-commit,
invalid-email,
license-allowed, license-allowed,
manifest-author-string, manifest-author-string,
manifest-behind-migrations,
manifest-data-duplicated,
manifest-deprecated-key, manifest-deprecated-key,
manifest-external-assets,
manifest-maintainers-list,
manifest-required-author, manifest-required-author,
manifest-required-key, manifest-required-key,
manifest-required-key-app,
manifest-superfluous-key,
manifest-version-format, manifest-version-format,
method-compute, method-compute,
method-inverse, method-inverse,
method-required-super, method-required-super,
method-search, method-search,
missing-import-error, missing-odoo-file,
missing-manifest-dependency, missing-odoo-file-app,
openerp-exception-warning, missing-readme,
missing-return,
no-raise-unlink,
no-search-all,
no-wizard-in-models,
no-write-in-compute,
odoo-addons-relative-import,
odoo-exception-warning,
pointless-statement, pointless-statement,
pointless-string-statement, pointless-string-statement,
prefer-env-translation,
print-used, print-used,
prohibited-method-override,
redundant-keyword-arg, redundant-keyword-arg,
redundant-modulename-xml, renamed-field-parameter,
reimported, resource-not-exist,
relative-import,
return-in-init,
rst-syntax-error,
sql-injection, sql-injection,
super-method-mismatch,
test-folder-imported,
too-few-format-args, too-few-format-args,
translation-contains-variable,
translation-field, translation-field,
translation-format-interpolation,
translation-format-truncated,
translation-fstring-interpolation,
translation-not-lazy,
translation-positional-used,
translation-required, translation-required,
unreachable, translation-too-few-args,
translation-too-many-args,
translation-unsupported-format,
use-vim-comment, use-vim-comment,
wrong-tabs-instead-of-spaces, website-manifest-key-not-valid-uri
xml-syntax-error
# messages that do not cause the lint step to fail
consider-merging-classes-inherited,
create-user-wo-reset-password,
deprecated-module,
file-not-used,
invalid-commit,
missing-newline-extrafiles,
missing-readme,
no-utf8-coding-comment,
odoo-addons-relative-import,
old-api7-method-defined,
redefined-builtin,
too-complex,
unnecessary-utf8-coding-comment
[REPORTS] [REPORTS]
msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg} msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg}

View file

@ -2,65 +2,58 @@
load-plugins=pylint_odoo load-plugins=pylint_odoo
score=n score=n
[ODOOLINT]
readme_template_url="https://github.com/OCA/maintainer-tools/blob/master/template/module/README.rst"
manifest_required_authors=Odoo Community Association (OCA)
manifest_required_keys=license
manifest_deprecated_keys=description,active
license_allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3,Other OSI approved licence,Other proprietary
valid_odoo_versions=16.0,17.0,18.0
[MESSAGES CONTROL] [MESSAGES CONTROL]
disable=all disable=all
enable=anomalous-backslash-in-string, enable=anomalous-backslash-in-string,
api-one-deprecated,
api-one-multi-together,
assignment-from-none, assignment-from-none,
attribute-deprecated, attribute-deprecated,
class-camelcase, consider-merging-classes-inherited,
context-overridden, context-overridden,
copy-wo-api-one,
dangerous-default-value, dangerous-default-value,
dangerous-view-replace-wo-priority, deprecated-name-get,
deprecated-odoo-model-method,
development-status-allowed, development-status-allowed,
duplicate-id-csv,
duplicate-key, duplicate-key,
duplicate-xml-fields, except-pass,
duplicate-xml-record-id, external-request-timeout,
eval-referenced, inheritable-method-lambda,
eval-used, inheritable-method-string,
incoherent-interpreter-exec-perm, invalid-commit,
license-allowed, license-allowed,
manifest-author-string, manifest-author-string,
manifest-behind-migrations,
manifest-data-duplicated,
manifest-deprecated-key, manifest-deprecated-key,
manifest-maintainers-list,
manifest-required-author, manifest-required-author,
manifest-required-key, manifest-required-key,
manifest-superfluous-key,
manifest-version-format, manifest-version-format,
method-compute, method-compute,
method-inverse, method-inverse,
method-required-super, method-required-super,
method-search, method-search,
missing-import-error, missing-readme,
missing-manifest-dependency, missing-return,
openerp-exception-warning, no-raise-unlink,
no-write-in-compute,
odoo-addons-relative-import,
odoo-exception-warning,
pointless-statement, pointless-statement,
pointless-string-statement, pointless-string-statement,
print-used, print-used,
prohibited-method-override,
redundant-keyword-arg, redundant-keyword-arg,
redundant-modulename-xml, renamed-field-parameter,
reimported, resource-not-exist,
relative-import,
return-in-init,
rst-syntax-error,
sql-injection, sql-injection,
test-folder-imported,
too-few-format-args, too-few-format-args,
translation-field, translation-field,
translation-positional-used,
translation-required, translation-required,
unreachable, use-vim-comment
use-vim-comment,
wrong-tabs-instead-of-spaces,
xml-syntax-error
[REPORTS] [REPORTS]
msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg} msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg}

View file

@ -1,13 +1,11 @@
# Copyright 2025 # Copyright 2025 - Today Criptomart
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{ { # noqa: B018
"name": "Account Invoice Triple Discount Readonly", "name": "Account Invoice Triple Discount Readonly",
"version": "18.0.1.0.0", "version": "18.0.1.0.0",
"summary": "Make total discount readonly and fix discount2/discount3 write issue", "summary": "Make total discount readonly and fix discount2/discount3 write issue",
"license": "AGPL-3", "license": "AGPL-3",
"author": "Criptomart", "author": "Odoo Community Association (OCA), Criptomart",
"website": "https://github.com/OCA/account-invoicing", "website": "https://git.criptomart.net/criptomart/addons-cm",
"depends": ["account_invoice_triple_discount", "purchase_triple_discount"], "depends": ["account_invoice_triple_discount", "purchase_triple_discount"],
"data": [],
"installable": True,
} }

View file

@ -1,4 +1,5 @@
from odoo import fields, models from odoo import fields
from odoo import models
class TripleDiscountMixin(models.AbstractModel): class TripleDiscountMixin(models.AbstractModel):

View file

@ -1,39 +1,22 @@
# Copyright 2026 Your Company # Copyright 2026 Criptomart
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{ { # noqa: B018
'name': 'Product Price Category - Supplier Extension', "name": "Product Price Category - Supplier Extension",
'version': '18.0.1.0.0', "version": "18.0.1.0.0",
'category': 'Product', "category": "Product",
'summary': 'Add default price category to suppliers and bulk update products', "summary": "Add default price category to suppliers and bulk update products",
'description': ''' "author": "Odoo Community Association (OCA), Criptomart",
Extends res.partner (suppliers) with a default price category field. "license": "AGPL-3",
Allows bulk updating all products from a supplier with the default category "depends": ["product_price_category", "sales_team", "product_main_seller"],
via a wizard with confirmation dialog. "data": [
"security/ir.model.access.csv",
Features: "views/res_partner_views.xml",
- Add default price category to supplier partner "views/wizard_update_product_category.xml",
- Wizard to bulk update all supplier's products
- Column visibility toggle in partner tree view
- Access restricted to sales managers
''',
'author': 'Your Company',
'license': 'AGPL-3',
'depends': [
'product_price_category',
'sales_team',
'product_main_seller'
], ],
'data': [ "i18n": [
'security/ir.model.access.csv', "i18n/product_price_category_supplier.pot",
'views/res_partner_views.xml', "i18n/es.po",
'views/wizard_update_product_category.xml', "i18n/eu.po",
], ],
'i18n': [
'i18n/product_price_category_supplier.pot',
'i18n/es.po',
'i18n/eu.po',
],
'installable': True,
'auto_install': False,
} }

View file

@ -1,13 +1,13 @@
{ # Copyright 2025 - Today Criptomart
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{ # noqa: B018
"name": "Product Sale Price from Pricelist", "name": "Product Sale Price from Pricelist",
"version": "18.0.1.0.0", "version": "18.0.1.0.0",
"category": "product", "category": "product",
"summary": "Set sale price from pricelist based on last purchase price", "summary": "Set sale price from pricelist based on last purchase price",
"description": """ "author": "Odoo Community Association (OCA), Criptomart",
Set sale price from pricelist based on last purchase price "maintainers": ["Criptomart"],
""", "website": "https://git.criptomart.net/criptomart/addons-cm",
"author": "Criptomart",
"website": "https://criptomart.net",
"license": "AGPL-3", "license": "AGPL-3",
"depends": [ "depends": [
"product_get_price_helper", "product_get_price_helper",
@ -21,5 +21,4 @@
"views/actions.xml", "views/actions.xml",
"views/product_view.xml", "views/product_view.xml",
], ],
"installable": True,
} }

View file

@ -1,40 +1,14 @@
# Copyright 2025 Criptomart # Copyright 2025 - Today Criptomart
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl) # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl)
{ { # noqa: B018
"name": "Website Sale - Aplicoop", "name": "Website Sale - Aplicoop",
"version": "18.0.1.0.2", "version": "18.0.1.0.3",
"category": "Website/Sale", "category": "Website/Sale",
"summary": "Modern replacement of legacy Aplicoop - Collaborative consumption group orders", "summary": "Modern replacement of legacy Aplicoop - Collaborative consumption group orders",
"description": """ "author": "Odoo Community Association (OCA), Criptomart",
Website Sale - Aplicoop
=======================
A modern Odoo 18 module that replaces the legacy Aplicoop application with
a complete, scalable solution for managing collaborative consumption group
orders (eskaera in Basque).
Features
--------
* Group Order Management: Create and manage group purchasing periods
* Separate Carts: Each user has an independent cart per group order
* Product Associations: Link products, suppliers, and categories to orders
* Web Interface: Responsive product catalog and checkout
* State Machine: Draft Open Closed/Cancelled workflow
* Sales Integration: Automatic conversion to Odoo sale.order
* Modern UI: AJAX-based cart without page reloads
* Security: Enterprise-ready with access control
Installation
-----------
Add to Odoo addons directory and install via Apps menu.
See README.rst for detailed documentation.
""",
"author": "Criptomart",
"maintainers": ["Criptomart"], "maintainers": ["Criptomart"],
"website": "https://criptomart.net", "website": "https://git.criptomart.net/criptomart/addons-cm",
"license": "AGPL-3", "license": "AGPL-3",
"depends": [ "depends": [
"website_sale", "website_sale",
@ -77,7 +51,5 @@ See README.rst for detailed documentation.
"website_sale_aplicoop/static/tests/test_realtime_search.js", "website_sale_aplicoop/static/tests/test_realtime_search.js",
], ],
}, },
"installable": True,
"auto_install": False,
"application": True, "application": True,
} }