diff --git a/.copier-answers.yml b/.copier-answers.yml index fd55ca6..f8671ac 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,8 +1,7 @@ # Do NOT update manually; changes here will be overwritten by Copier -_commit: v1.14.2 +_commit: v1.17.2 _src_path: gh:oca/oca-addons-repo-template ci: GitHub -dependency_installation_mode: PIP generate_requirements_txt: true github_check_license: true github_ci_extra_env: {} @@ -11,6 +10,7 @@ github_enable_makepot: true github_enable_stale_action: true github_enforce_dev_status_compatibility: true include_wkhtmltopdf: false +odoo_test_flavor: Both odoo_version: 16.0 org_name: Odoo Community Association (OCA) org_slug: OCA @@ -19,6 +19,4 @@ repo_description: 'TODO: add repo description.' repo_name: l10n-portugal repo_slug: l10n-portugal repo_website: https://github.com/OCA/l10n-portugal -travis_apt_packages: [] -travis_apt_sources: [] diff --git a/.eslintrc.yml b/.eslintrc.yml index 9429bc6..fed88d7 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -22,6 +22,7 @@ globals: odoo: readonly openerp: readonly owl: readonly + luxon: readonly # Styling is handled by Prettier, so we only need to enable AST rules; # see https://github.com/OCA/maintainer-quality-tools/pull/618#issuecomment-558576890 diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 23e6e58..38b0ba1 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -13,8 +13,10 @@ jobs: pre-commit: runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: actions/setup-python@v2 + with: + python-version: "3.11" - name: Get python version run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV - uses: actions/cache@v1 @@ -25,6 +27,15 @@ jobs: run: pip install pre-commit - name: Run pre-commit run: pre-commit run --all-files --show-diff-on-failure --color=always + env: + # Consider valid a PR that changes README fragments but doesn't + # change the README.rst file itself. It's not really a problem + # because the bot will update it anyway after merge. This way, we + # lower the barrier for functional contributors that want to fix the + # readme fragments, while still letting developers get README + # auto-generated (which also helps functionals when using runboat). + # DOCS https://pre-commit.com/#temporarily-disabling-hooks + SKIP: oca-gen-addon-readme - name: Check that all files generated by pre-commit are in git run: | newfiles="$(git ls-files --others --exclude-from=.gitignore)" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f1b2b9f..e1af743 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -14,7 +14,7 @@ jobs: runs-on: ubuntu-latest name: Detect unreleased dependencies steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - run: | for reqfile in requirements.txt test-requirements.txt ; do if [ -f ${reqfile} ] ; then @@ -36,10 +36,10 @@ jobs: matrix: include: - container: ghcr.io/oca/oca-ci/py3.10-odoo16.0:latest - makepot: "true" name: test with Odoo - container: ghcr.io/oca/oca-ci/py3.10-ocb16.0:latest name: test with OCB + makepot: "true" services: postgres: image: postgres:12.0 @@ -50,7 +50,7 @@ jobs: ports: - 5432:5432 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: persist-credentials: false - name: Install addons and dependencies diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 81ebeb2..d861cfb 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -12,6 +12,8 @@ exclude: | /static/(src/)?lib/| # Repos using Sphinx to generate docs don't need prettying ^docs/_templates/.*\.html$| + # Don't bother non-technical authors with formatting issues in docs + readme/.*\.(rst|md)$| # You don't usually want a bot to modify your legal texts (LICENSE.*|COPYING.*) default_language_version: @@ -33,12 +35,24 @@ repos: language: fail files: '[a-zA-Z0-9_]*/i18n/en\.po$' - repo: https://github.com/oca/maintainer-tools - rev: 4cd2b852214dead80822e93e6749b16f2785b2fe + rev: 969238e47c07d0c40573acff81d170f63245d738 hooks: # update the NOT INSTALLABLE ADDONS section above - id: oca-update-pre-commit-excluded-addons - id: oca-fix-manifest-website args: ["https://github.com/OCA/l10n-portugal"] + - id: oca-gen-addon-readme + args: + - --addons-dir=. + - --branch=16.0 + - --org-name=OCA + - --repo-name=l10n-portugal + - --if-source-changed + - repo: https://github.com/OCA/odoo-pre-commit-hooks + rev: v0.0.25 + hooks: + - id: oca-checks-odoo-module + - id: oca-checks-po - repo: https://github.com/myint/autoflake rev: v1.6.1 hooks: @@ -125,7 +139,7 @@ repos: name: flake8 additional_dependencies: ["flake8-bugbear==21.9.2"] - repo: https://github.com/OCA/pylint-odoo - rev: 7.0.2 + rev: v8.0.19 hooks: - id: pylint_odoo name: pylint with optional checks diff --git a/.pylintrc b/.pylintrc index cad9c2f..5549132 100644 --- a/.pylintrc +++ b/.pylintrc @@ -5,12 +5,12 @@ load-plugins=pylint_odoo 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 -valid_odoo_versions=16.0 +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 +valid-odoo-versions=16.0 [MESSAGES CONTROL] disable=all diff --git a/.pylintrc-mandatory b/.pylintrc-mandatory index fa4b81c..7a0cd4e 100644 --- a/.pylintrc-mandatory +++ b/.pylintrc-mandatory @@ -4,12 +4,12 @@ load-plugins=pylint_odoo 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 -valid_odoo_versions=16.0 +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 +valid-odoo-versions=16.0 [MESSAGES CONTROL] disable=all diff --git a/l10n_pt_account_invoicexpress/i18n/l10n_pt_account_invoicexpress.pot b/l10n_pt_account_invoicexpress/i18n/l10n_pt_account_invoicexpress.pot index 45720a1..26a3e44 100644 --- a/l10n_pt_account_invoicexpress/i18n/l10n_pt_account_invoicexpress.pot +++ b/l10n_pt_account_invoicexpress/i18n/l10n_pt_account_invoicexpress.pot @@ -97,7 +97,9 @@ msgstr "" #. odoo-python #: code:addons/l10n_pt_account_invoicexpress/models/account_move.py:0 #, python-format -msgid "Email sent by InvoiceXpress:" +msgid "" +"Email sent by InvoiceXpress:" msgstr "" #. module: l10n_pt_account_invoicexpress diff --git a/l10n_pt_account_invoicexpress/models/account_move.py b/l10n_pt_account_invoicexpress/models/account_move.py index 6c14dc0..3f27c97 100644 --- a/l10n_pt_account_invoicexpress/models/account_move.py +++ b/l10n_pt_account_invoicexpress/models/account_move.py @@ -274,10 +274,11 @@ def action_send_invoicexpress_email(self, ignore_no_config=False): if payload: InvoiceXpress.call(invoice.company_id, endpoint, "PUT", payload=payload) msg = _( - "Email sent by InvoiceXpress:" + "Email sent by InvoiceXpress:" ).format( - payload["message"]["client"]["email"], - payload["message"]["cc"] or _("None"), + email=payload["message"]["client"]["email"], + cc=payload["message"]["cc"] or _("None"), ) invoice.message_post(body=msg) diff --git a/l10n_pt_stock_invoicexpress/i18n/l10n_pt_stock_invoicexpress.pot b/l10n_pt_stock_invoicexpress/i18n/l10n_pt_stock_invoicexpress.pot index 223c616..e593570 100644 --- a/l10n_pt_stock_invoicexpress/i18n/l10n_pt_stock_invoicexpress.pot +++ b/l10n_pt_stock_invoicexpress/i18n/l10n_pt_stock_invoicexpress.pot @@ -17,7 +17,7 @@ msgstr "" #. odoo-python #: code:addons/l10n_pt_stock_invoicexpress/models/stock_picking.py:0 #, python-format -msgid "{}" +msgid "%(name)s" msgstr "" #. module: l10n_pt_stock_invoicexpress @@ -82,7 +82,9 @@ msgstr "" #. odoo-python #: code:addons/l10n_pt_stock_invoicexpress/models/stock_picking.py:0 #, python-format -msgid "Email sent by InvoiceXpress:" +msgid "" +"Email sent by InvoiceXpress:" msgstr "" #. module: l10n_pt_stock_invoicexpress @@ -157,7 +159,8 @@ msgstr "" #, python-format msgid "" "InvoiceXpress record has been created for this delivery " -"order:" +"order:" msgstr "" #. module: l10n_pt_stock_invoicexpress diff --git a/l10n_pt_stock_invoicexpress/models/stock_picking.py b/l10n_pt_stock_invoicexpress/models/stock_picking.py index 32a5434..1b74dfd 100644 --- a/l10n_pt_stock_invoicexpress/models/stock_picking.py +++ b/l10n_pt_stock_invoicexpress/models/stock_picking.py @@ -178,12 +178,12 @@ def _prepare_invoicexpress_vals(self): def _update_invoicexpress_status(self): inv_xpress_link_name = _("View Document") inv_xpress_link = _( - "{}" - ).format(self.invoicexpress_permalink, inv_xpress_link_name) + "%(name)s" + ).format(link=self.invoicexpress_permalink, name=inv_xpress_link_name) msg = _( "InvoiceXpress record has been created for this delivery order:" + "
  • Number: %(inv_xpress_num)s
  • " + "
  • %(inv_xpress_link)s
  • " ).format( inv_xpress_num=self.invoicexpress_number, inv_xpress_link=inv_xpress_link ) @@ -269,10 +269,11 @@ def action_send_invoicexpress_delivery(self, ignore_no_config=False): delivery.company_id, endpoint, "PUT", payload=payload ) msg = _( - "Email sent by InvoiceXpress:" + "Email sent by InvoiceXpress:" ).format( - payload["message"]["client"]["email"], - payload["message"]["cc"] or _("None"), + email=payload["message"]["client"]["email"], + cc=payload["message"]["cc"] or _("None"), ) delivery.message_post(body=msg)