diff --git a/.copier-answers.yml b/.copier-answers.yml index 78a4e6d8f..bdfece3e7 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,14 +1,17 @@ # Do NOT update manually; changes here will be overwritten by Copier -_commit: v1.3.6 +_commit: v1.5.2 _src_path: gh:oca/oca-addons-repo-template ci: Travis dependency_installation_mode: PIP generate_requirements_txt: true include_wkhtmltopdf: false odoo_version: 14.0 +org_name: Odoo Community Association (OCA) +org_slug: OCA rebel_module_groups: [] repo_description: 'TODO: add repo description.' repo_name: server-backend repo_slug: server-backend +repo_website: https://github.com/OCA/server-backend travis_apt_packages: [] travis_apt_sources: [] diff --git a/.eslintrc.yml b/.eslintrc.yml index d4cc423cc..9429bc688 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -4,7 +4,7 @@ env: # See https://github.com/OCA/odoo-community.org/issues/37#issuecomment-470686449 parserOptions: - ecmaVersion: 2017 + ecmaVersion: 2019 overrides: - files: diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml index 80ab1a211..a7a139046 100644 --- a/.github/workflows/pre-commit.yml +++ b/.github/workflows/pre-commit.yml @@ -2,7 +2,12 @@ name: pre-commit on: pull_request: + branches: + - "14.0*" push: + branches: + - "14.0" + - "14.0-ocabot-*" jobs: pre-commit: @@ -10,11 +15,21 @@ jobs: steps: - uses: actions/checkout@v2 - uses: actions/setup-python@v2 + - name: Get python version + run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV + - uses: actions/cache@v1 with: - # The pylint-odoo version we use here does not support python 3.10 - # https://github.com/OCA/oca-addons-repo-template/issues/80 - # We also need to pin to an older version of python for older odoo versions - # where we are not using black > 21. Older black versions won't work with - # Python 3.9.8+, and we can't bump black without reformatting. - python-version: "3.9.7" - - uses: pre-commit/action@v2.0.0 + path: ~/.cache/pre-commit + key: pre-commit|${{ env.PY }}|${{ hashFiles('.pre-commit-config.yaml') }} + - name: Install pre-commit + run: pip install pre-commit + - name: Run pre-commit + run: pre-commit run --all-files --show-diff-on-failure --color=always + - name: Check that all files generated by pre-commit are in git + run: | + newfiles="$(git ls-files --others --exclude-from=.gitignore)" + if [ "$newfiles" != "" ] ; then + echo "Please check-in the following files:" + echo "$newfiles" + exit 1 + fi diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0a69b9e2e..f79ce8c86 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -46,7 +46,7 @@ repos: - --remove-duplicate-keys - --remove-unused-variables - repo: https://github.com/psf/black - rev: 20.8b1 + rev: 22.3.0 hooks: - id: black - repo: https://github.com/pre-commit/mirrors-prettier @@ -120,7 +120,7 @@ repos: name: flake8 additional_dependencies: ["flake8-bugbear==20.1.4"] - repo: https://github.com/PyCQA/pylint - rev: pylint-2.5.3 + rev: v2.11.1 hooks: - id: pylint name: pylint with optional checks @@ -129,7 +129,7 @@ repos: - --exit-zero verbose: true additional_dependencies: &pylint_deps - - pylint-odoo==3.5.0 + - pylint-odoo==5.0.5 - id: pylint name: pylint with mandatory checks args: diff --git a/README.md b/README.md index aa7ef5960..be04caa87 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,5 @@ -[![Runbot Status](https://runbot.odoo-community.org/runbot/badge/flat/253/14.0.svg)](https://runbot.odoo-community.org/runbot/repo/github-com-oca-server-backend-253) + +[![Runboat](https://img.shields.io/badge/runboat-Try%20me-875A7B.png)](https://runboat.odoo-community.org/builds?repo=OCA/server-backend&target_branch=14.0) [![Build Status](https://travis-ci.com/OCA/server-backend.svg?branch=14.0)](https://travis-ci.com/OCA/server-backend) [![codecov](https://codecov.io/gh/OCA/server-backend/branch/14.0/graph/badge.svg)](https://codecov.io/gh/OCA/server-backend) [![Translation Status](https://translation.odoo-community.org/widgets/server-backend-14-0/-/svg-badge.svg)](https://translation.odoo-community.org/engage/server-backend-14-0/?utm_source=widget) @@ -33,12 +34,11 @@ addon | version | maintainers | summary This repository is licensed under [AGPL-3.0](LICENSE). -However, each module can have a totally different license, as long as they adhere to OCA +However, each module can have a totally different license, as long as they adhere to Odoo Community Association (OCA) policy. Consult each module's `__manifest__.py` file, which contains a `license` key that explains its license. ---- - OCA, or the [Odoo Community Association](http://odoo-community.org/), is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use. diff --git a/base_import_match/models/base.py b/base_import_match/models/base.py index 327818c96..e6ab20861 100644 --- a/base_import_match/models/base.py +++ b/base_import_match/models/base.py @@ -47,7 +47,7 @@ class Base(models.AbstractModel): # To generate externals IDS. match.export_data(fields) ext_id = match.get_external_id() - row["id"] = ext_id[match.id] if match else row.get("id", u"") + row["id"] = ext_id[match.id] if match else row.get("id", "") # Store the modified row, in the same order as fields newdata.append(tuple(row[f] for f in clean_fields)) # We will import the patched data to get updates on matches diff --git a/base_import_match/models/base_import.py b/base_import_match/models/base_import.py index 16f4e6a5f..874a1722c 100644 --- a/base_import_match/models/base_import.py +++ b/base_import_match/models/base_import.py @@ -42,7 +42,7 @@ class BaseImportMatch(models.Model): def _compute_name(self): """Automatic self-descriptive name for the setting records.""" for one in self: - one.name = u"{}: {}".format( + one.name = "{}: {}".format( one.model_id.display_name, " + ".join(one.field_ids.mapped("display_name")), ) @@ -163,7 +163,7 @@ class BaseImportMatchField(models.Model): def name_get(self): result = [] for one in self: - pattern = u"{name} ({cond})" if one.conditional else u"{name}" + pattern = "{name} ({cond})" if one.conditional else "{name}" name = pattern.format( name=one.field_id.name, cond=one.imported_value,