diff --git a/.copier-answers.yml b/.copier-answers.yml index 94b71157..5679dea4 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.18 _src_path: https://github.com/OCA/oca-addons-repo-template.git ci: GitHub -dependency_installation_mode: PIP generate_requirements_txt: true github_check_license: true github_ci_extra_env: {} @@ -11,13 +10,15 @@ github_enable_makepot: false github_enable_stale_action: false github_enforce_dev_status_compatibility: false include_wkhtmltopdf: false +odoo_test_flavor: OCB odoo_version: 16.0 org_name: Odoo Community Association (OCA) -org_slug: OCA +org_slug: qrtl rebel_module_groups: [] -repo_description: null -repo_name: null -repo_slug: null +repo_description: '' +repo_name: AXLS OCA +repo_slug: axls-oca repo_website: '' -travis_apt_packages: [] -travis_apt_sources: [] +use_pyproject_toml: false +use_ruff: false + diff --git a/.eslintrc.yml b/.eslintrc.yml index 9429bc68..fed88d70 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 23e6e58d..38b0ba11 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 new file mode 100644 index 00000000..cca82f7f --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,67 @@ +name: tests + +on: + pull_request: + branches: + - "16.0*" + push: + branches: + - "16.0" + - "16.0-ocabot-*" + +jobs: + # unreleased-deps: + # runs-on: ubuntu-latest + # name: Detect unreleased dependencies + # steps: + # - uses: actions/checkout@v3 + # - run: | + # for reqfile in requirements.txt test-requirements.txt ; do + # if [ -f ${reqfile} ] ; then + # result=0 + # # reject non-comment lines that contain a / (i.e. URLs, relative paths) + # grep "^[^#].*/" ${reqfile} || result=$? + # if [ $result -eq 0 ] ; then + # echo "Unreleased dependencies found in ${reqfile}." + # exit 1 + # fi + # fi + # done + test: + runs-on: ubuntu-22.04 + container: ${{ matrix.container }} + name: ${{ matrix.name }} + strategy: + fail-fast: false + matrix: + include: + - container: ghcr.io/oca/oca-ci/py3.10-ocb16.0:latest + name: test with OCB + makepot: "false" + services: + postgres: + image: postgres:12.0 + env: + POSTGRES_USER: odoo + POSTGRES_PASSWORD: odoo + POSTGRES_DB: odoo + ports: + - 5432:5432 + steps: + - uses: actions/checkout@v3 + with: + persist-credentials: false + - name: Install addons and dependencies + run: oca_install_addons + - name: Check licenses + run: manifestoo -d . check-licenses + - name: Check development status + run: manifestoo -d . check-dev-status --default-dev-status=Beta + continue-on-error: true + - name: Initialize test db + run: oca_init_test_database + - name: Run tests + run: oca_run_tests + - name: Update .pot files + run: oca_export_and_push_pot https://x-access-token:${{ secrets.GIT_PUSH_TOKEN }}@github.com/${{ github.repository }} + if: ${{ matrix.makepot == 'true' && github.event_name == 'push' && github.repository_owner == 'qrtl' }} diff --git a/.gitignore b/.gitignore index 9c283fd4..0090721f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ __pycache__/ *.py[cod] /.venv /.pytest_cache +/.ruff_cache # C extensions *.so diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 36be2f76..a659f6ec 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -12,6 +12,10 @@ 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)$| + # Ignore build and dist directories in addons + /build/|/dist/| # You don't usually want a bot to modify your legal texts (LICENSE.*|COPYING.*) default_language_version: @@ -33,12 +37,24 @@ repos: language: fail files: '[a-zA-Z0-9_]*/i18n/en\.po$' - repo: https://github.com/oca/maintainer-tools - rev: 4cd2b852214dead80822e93e6749b16f2785b2fe + rev: 568cacd1d6eef453063a524a5ce63dcd49c7259b hooks: # update the NOT INSTALLABLE ADDONS section above - id: oca-update-pre-commit-excluded-addons # - id: oca-fix-manifest-website # args: [""] + # - id: oca-gen-addon-readme + # args: + # - --addons-dir=. + # - --branch=16.0 + # - --org-name=qrtl + # - --repo-name=axls-oca + # - --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: @@ -94,7 +110,7 @@ repos: - id: check-symlinks - id: check-xml - id: mixed-line-ending - args: ["--fix=lf"] + args: ["--fix=lf"] # ruff doesn't support python 3.6 - repo: https://github.com/asottile/pyupgrade rev: v2.38.2 hooks: @@ -125,7 +141,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 cad9c2f1..55491327 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 fa4b81c4..7a0cd4ef 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/README.md b/README.md index 92725d81..d8daec3e 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,17 @@ +<<<<<<< before updating [![Runboat](https://img.shields.io/badge/runboat-Try%20me-875A7B.png)](https://runboat.odoo-community.org/builds?repo=OCA/None&target_branch=16.0) [![Pre-commit Status](https://github.com/OCA/None/actions/workflows/pre-commit.yml/badge.svg?branch=16.0)](https://github.com/OCA/None/actions/workflows/pre-commit.yml?query=branch%3A16.0) [![Build Status](https://github.com/OCA/None/actions/workflows/test.yml/badge.svg?branch=16.0)](https://github.com/OCA/None/actions/workflows/test.yml?query=branch%3A16.0) [![codecov](https://codecov.io/gh/OCA/None/branch/16.0/graph/badge.svg)](https://codecov.io/gh/OCA/None) [![Translation Status](https://translation.odoo-community.org/widgets/None-16-0/-/svg-badge.svg)](https://translation.odoo-community.org/engage/None-16-0/?utm_source=widget) +======= + +[![Pre-commit Status](https://github.com/qrtl/axls-oca/actions/workflows/pre-commit.yml/badge.svg?branch=16.0)](https://github.com/qrtl/axls-oca/actions/workflows/pre-commit.yml?query=branch%3A16.0) +[![Build Status](https://github.com/qrtl/axls-oca/actions/workflows/test.yml/badge.svg?branch=16.0)](https://github.com/qrtl/axls-oca/actions/workflows/test.yml?query=branch%3A16.0) +[![codecov](https://codecov.io/gh/qrtl/axls-oca/branch/16.0/graph/badge.svg)](https://codecov.io/gh/qrtl/axls-oca) + +>>>>>>> after updating @@ -32,6 +40,4 @@ policy. Consult each module's `__manifest__.py` file, which contains a `license` 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/purchase_report_date_format/__init__.py b/purchase_report_date_format/__init__.py new file mode 100644 index 00000000..e69de29b