From 541855a097426eeb3296e63ef0f46c2f3ee3510a Mon Sep 17 00:00:00 2001 From: benjamin <benjamin@le-filament.com> Date: Tue, 13 Feb 2024 19:14:48 +0100 Subject: [PATCH] [UPD] move Alfresco upload to _post function --- .pre-commit-config.yaml | 35 +++++++++++++++++++---------------- models/account_move.py | 25 ++++++++++++++++++------- 2 files changed, 37 insertions(+), 23 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 732d0c4..4acca68 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -6,6 +6,8 @@ exclude: | ^setup/|/static/description/index\.html$| # We don't want to mess with tool-generated files .svg$|/tests/([^/]+/)?cassettes/|^.copier-answers.yml$|^.github/| + # Maybe reactivate this when all README files include prettier ignore tags? + ^README\.md$| # Library files can have extraneous formatting (even minimized) /static/(src/)?lib/| # Repos using Sphinx to generate docs don't need prettying @@ -25,8 +27,13 @@ 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: 7d8a9f9ad73db0976fb03cbee43d953bc29b89e9 + rev: ab1d7f6 hooks: # update the NOT INSTALLABLE ADDONS section above - id: oca-update-pre-commit-excluded-addons @@ -48,7 +55,7 @@ repos: hooks: - id: black - repo: https://github.com/pre-commit/mirrors-prettier - rev: v2.6.2 + rev: v2.1.2 hooks: - id: prettier name: prettier (with plugin-xml) @@ -59,7 +66,7 @@ repos: - --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: v8.15.0 + rev: v7.8.1 hooks: - id: eslint verbose: true @@ -67,7 +74,7 @@ repos: - --color - --fix - repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.2.0 + rev: v3.2.0 hooks: - id: trailing-whitespace # exclude autogenerated files @@ -89,37 +96,33 @@ repos: - id: mixed-line-ending args: ["--fix=lf"] - repo: https://github.com/asottile/pyupgrade - rev: v2.32.1 + rev: v2.7.2 hooks: - id: pyupgrade args: ["--keep-percent-format"] - repo: https://github.com/PyCQA/isort - rev: 5.10.1 + rev: 5.12.0 hooks: - id: isort name: isort except __init__.py args: - --settings=. exclude: /__init__\.py$ - - repo: https://gitlab.com/PyCQA/flake8 - rev: 3.9.2 + - repo: https://github.com/PyCQA/flake8 + rev: 3.8.3 hooks: - id: flake8 name: flake8 additional_dependencies: ["flake8-bugbear==20.1.4"] - - repo: https://github.com/PyCQA/pylint - rev: v2.11.1 + - repo: https://github.com/OCA/pylint-odoo + rev: 7.0.2 hooks: - - id: pylint + - id: pylint_odoo name: pylint with optional checks args: - --rcfile=.pylintrc - --exit-zero verbose: true - additional_dependencies: &pylint_deps - - pylint-odoo==5.0.5 - - id: pylint - name: pylint with mandatory checks + - id: pylint_odoo args: - --rcfile=.pylintrc-mandatory - additional_dependencies: *pylint_deps diff --git a/models/account_move.py b/models/account_move.py index dfc40bd..e35a23e 100644 --- a/models/account_move.py +++ b/models/account_move.py @@ -81,20 +81,31 @@ class AccountMove(models.Model): # ------------------------------------------------------ # Override parent # ------------------------------------------------------ - def action_post(self): + def _post(self, soft=True): """ - Charge la facture ou l'avoir sur Alfresco s'l s'agit d'une cotisation AURA + Charge la facture ou l'avoir sur Alfresco s'il s'agit d'une cotisation AURA Stocke le noderef sur la facture """ ur_aura = self.env.ref("__import__.ur_arh") - res = super().action_post() - for invoice in self: + move_ids = super(AccountMove, self)._post(soft) + if len(move_ids) == 1: try: - if invoice.is_contribution and invoice.company_id == ur_aura: - invoice.node_ref = invoice.upload_contribution_file() + if move_ids.is_contribution and move_ids.company_id == ur_aura: + move_ids.node_ref = move_ids.upload_contribution_file() except Exception as e: raise e - return res + else: + for move in move_ids: + if move.is_contribution and move.company_id == ur_aura: + description = "%s - %s - PDF Cotisation" % ( + move.name, + move.partner_id.name, + ) + move.node_ref = move.with_delay( + description=description + ).upload_contribution_file() + + return move_ids def button_draft(self): """ -- GitLab