diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 168470e2ed745631aefb772a4a864cf1de76d3cb..c575299fc05d609e25260193f2b663be50d0fd31 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -16,7 +16,7 @@ exclude: | (LICENSE.*|COPYING.*) default_language_version: python: python3 - node: "14.18.0" + node: "16.17.0" repos: - repo: local hooks: @@ -27,15 +27,20 @@ repos: entry: found forbidden files; remove them language: fail files: "\\.rej$" + - id: en-po-files + name: en.po files cannot exist + entry: found a en.po file + language: fail + files: '[a-zA-Z0-9_]*/i18n/en\.po$' - repo: https://github.com/oca/maintainer-tools - rev: dfba427ba03900b69e0a7f2c65890dc48921d36a + rev: 4cd2b852214dead80822e93e6749b16f2785b2fe hooks: # update the NOT INSTALLABLE ADDONS section above - id: oca-update-pre-commit-excluded-addons - id: oca-fix-manifest-website args: ["https://le-filament.com"] - repo: https://github.com/myint/autoflake - rev: v1.4 + rev: v1.6.1 hooks: - id: autoflake args: @@ -46,22 +51,22 @@ repos: - --remove-duplicate-keys - --remove-unused-variables - repo: https://github.com/psf/black - rev: 22.3.0 + rev: 22.8.0 hooks: - id: black - repo: https://github.com/pre-commit/mirrors-prettier - rev: v2.4.1 + rev: v2.7.1 hooks: - id: prettier name: prettier (with plugin-xml) additional_dependencies: - - "prettier@2.4.1" - - "@prettier/plugin-xml@1.1.0" + - "prettier@2.7.1" + - "@prettier/plugin-xml@2.2.0" args: - --plugin=@prettier/plugin-xml files: \.(css|htm|html|js|json|jsx|less|md|scss|toml|ts|xml|yaml|yml)$ - repo: https://github.com/pre-commit/mirrors-eslint - rev: v7.32.0 + rev: v8.24.0 hooks: - id: eslint verbose: true @@ -69,7 +74,7 @@ repos: - --color - --fix - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.0.1 + rev: v4.3.0 hooks: - id: trailing-whitespace # exclude autogenerated files @@ -91,12 +96,12 @@ repos: - id: mixed-line-ending args: ["--fix=lf"] - repo: https://github.com/asottile/pyupgrade - rev: v2.29.0 + rev: v2.38.2 hooks: - id: pyupgrade args: ["--keep-percent-format"] - repo: https://github.com/PyCQA/isort - rev: 5.9.3 + rev: 5.10.1 hooks: - id: isort name: isort except __init__.py diff --git a/.pylintrc b/.pylintrc index d431ca78d44080ba32c20c6991c2655f2ab6423b..71c476d4f10ac08a7333729b93705c9573d240d5 100644 --- a/.pylintrc +++ b/.pylintrc @@ -1,3 +1,5 @@ + + [MASTER] load-plugins=pylint_odoo score=n @@ -8,7 +10,7 @@ manifest_required_authors=Le Filament 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 -valid_odoo_versions=15.0 +valid_odoo_versions=16.0 [MESSAGES CONTROL] disable=all @@ -96,6 +98,7 @@ enable=anomalous-backslash-in-string, xml-attribute-translatable, xml-deprecated-qweb-directive, xml-deprecated-tree-attribute, + external-request-timeout, # messages that do not cause the lint step to fail consider-merging-classes-inherited, create-user-wo-reset-password, diff --git a/.pylintrc-mandatory b/.pylintrc-mandatory index 189c548631665bef116fc4d0df3b986f9727df31..ed2c2171ffe63ac191e30ed0759c4b6211ad5f15 100644 --- a/.pylintrc-mandatory +++ b/.pylintrc-mandatory @@ -1,3 +1,4 @@ + [MASTER] load-plugins=pylint_odoo score=n @@ -8,7 +9,7 @@ manifest_required_authors=Le Filament 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 -valid_odoo_versions=15.0 +valid_odoo_versions=16.0 [MESSAGES CONTROL] disable=all @@ -88,7 +89,8 @@ enable=anomalous-backslash-in-string, website-manifest-key-not-valid-uri, xml-attribute-translatable, xml-deprecated-qweb-directive, - xml-deprecated-tree-attribute + xml-deprecated-tree-attribute, + external-request-timeout [REPORTS] msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg} diff --git a/__manifest__.py b/__manifest__.py index d34ebcf3cef083f35d2d6ec86327859764a6af86..dc5d2510c2a20e63c4376a81a0998387e0c45ada 100644 --- a/__manifest__.py +++ b/__manifest__.py @@ -3,7 +3,7 @@ "summary": "Gestion des mise en production logicielles", "author": "Le Filament", "website": "https://le-filament.com", - "version": "15.0.1.0.1", + "version": "16.0.1.0.0", "license": "AGPL-3", "depends": [ "web", diff --git a/controllers/banner_release.py b/controllers/banner_release.py index 948ff54ae8d3c96d2efca4e1af8e47ea1005ed09..b0f0b400f45a095dfed48a39e5cfe4390ef92f9f 100644 --- a/controllers/banner_release.py +++ b/controllers/banner_release.py @@ -9,5 +9,7 @@ class BannerController(http.Controller): @http.route(["/lefilament_release/header"], type="json", auth="user") def release_header(self): return { - "html": request.env.ref("lefilament_release.header_template")._render({}) + "html": request.env["ir.qweb"]._render( + "lefilament_release.header_template", {} + ) } diff --git a/models/res_partner_release.py b/models/res_partner_release.py index 8bc36940433ce619f92e95f9343e9965b58b1cd9..7aec7433e0fef4d49b9e28494bc9785746d4e86a 100644 --- a/models/res_partner_release.py +++ b/models/res_partner_release.py @@ -105,10 +105,12 @@ class PartnerRelease(models.Model): # ------------------------------------------------------ # CRUD methods (ORM overrides) # ------------------------------------------------------ - @api.model - def create(self, vals): - vals["access_token"] = str(uuid.uuid4()) - return super().create(vals) + @api.model_create_multi + @api.returns("self", lambda value: value.id) + def create(self, vals_list): + for vals in vals_list: + vals["access_token"] = str(uuid.uuid4()) + return super().create(vals_list) # ------------------------------------------------------ # Actions diff --git a/wizard/multi_partner_release_wizard.py b/wizard/multi_partner_release_wizard.py index 74a69d89d40484c1087aab37063e4ef84f176edc..5f1def120eb865084c61a8434e46b886bc2eeaa3 100644 --- a/wizard/multi_partner_release_wizard.py +++ b/wizard/multi_partner_release_wizard.py @@ -26,7 +26,7 @@ class MultiPartnerReleaseWizard(models.TransientModel): ) release_date = fields.Datetime( string="Date de mise en production", - default=fields.Datetime.now(), + default=lambda self: fields.Date.today(), ) release_module_ids = fields.One2many( comodel_name="multi.partner.release.line.wizard",