From 02b19940af065b3283c2cfeac7a5ac66bd7f93eb Mon Sep 17 00:00:00 2001 From: Carmen Bianca BAKKER Date: Thu, 8 Dec 2022 09:29:18 +0100 Subject: [PATCH 1/2] [UPD] Apply template Signed-off-by: Carmen Bianca BAKKER --- .copier-answers.yml | 23 ++++ .editorconfig | 20 ++++ .eslintrc.yml | 187 +++++++++++++++++++++++++++++++ .flake8 | 11 ++ .github/pull_request_template.md | 14 +++ .github/workflows/pre-commit.yml | 37 ++++++ .github/workflows/test.yml | 50 +++++++++ .gitignore | 70 +++++------- .isort.cfg | 13 +++ .pre-commit-config.yaml | 132 ++++++++++++++++++++++ .prettierrc.yml | 8 ++ .pylintrc | 156 ++++++++++++++++++++++++++ .pylintrc-mandatory | 68 +++++++++++ LICENSE | 10 +- README.md | 36 +++++- 15 files changed, 787 insertions(+), 48 deletions(-) create mode 100644 .copier-answers.yml create mode 100644 .editorconfig create mode 100644 .eslintrc.yml create mode 100644 .flake8 create mode 100644 .github/pull_request_template.md create mode 100644 .github/workflows/pre-commit.yml create mode 100644 .github/workflows/test.yml create mode 100644 .isort.cfg create mode 100644 .pre-commit-config.yaml create mode 100644 .prettierrc.yml create mode 100644 .pylintrc create mode 100644 .pylintrc-mandatory diff --git a/.copier-answers.yml b/.copier-answers.yml new file mode 100644 index 000000000..b3b510fb4 --- /dev/null +++ b/.copier-answers.yml @@ -0,0 +1,23 @@ +# Do NOT update manually; changes here will be overwritten by Copier +_commit: v2.1.4 +_src_path: https://github.com/coopiteasy/oca-addons-repo-template.git +ci: GitHub +dependency_installation_mode: PIP +generate_requirements_txt: true +github_check_license: true +github_enable_codecov: true +github_enable_makepot: true +github_enable_stale_action: true +github_enforce_dev_status_compatibility: true +include_wkhtmltopdf: false +odoo_version: 11.0 +org_name: Coop IT Easy SC +org_slug: coopiteasy +rebel_module_groups: [] +repo_description: TODO +repo_name: IT management tools for the social economy +repo_slug: addons +repo_website: https://coopiteasy.be +travis_apt_packages: [] +travis_apt_sources: [] + diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..bfd7ac53d --- /dev/null +++ b/.editorconfig @@ -0,0 +1,20 @@ +# Configuration for known file extensions +[*.{css,js,json,less,md,py,rst,sass,scss,xml,yaml,yml}] +charset = utf-8 +end_of_line = lf +indent_size = 4 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true + +[*.{json,yml,yaml,rst,md}] +indent_size = 2 + +# Do not configure editor for libs and autogenerated content +[{*/static/{lib,src/lib}/**,*/static/description/index.html,*/readme/../README.rst}] +charset = unset +end_of_line = unset +indent_size = unset +indent_style = unset +insert_final_newline = false +trim_trailing_whitespace = false diff --git a/.eslintrc.yml b/.eslintrc.yml new file mode 100644 index 000000000..9429bc688 --- /dev/null +++ b/.eslintrc.yml @@ -0,0 +1,187 @@ +env: + browser: true + es6: true + +# See https://github.com/OCA/odoo-community.org/issues/37#issuecomment-470686449 +parserOptions: + ecmaVersion: 2019 + +overrides: + - files: + - "**/*.esm.js" + parserOptions: + sourceType: module + +# Globals available in Odoo that shouldn't produce errorings +globals: + _: readonly + $: readonly + fuzzy: readonly + jQuery: readonly + moment: readonly + odoo: readonly + openerp: readonly + owl: 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 +rules: + accessor-pairs: warn + array-callback-return: warn + callback-return: warn + capitalized-comments: + - warn + - always + - ignoreConsecutiveComments: true + ignoreInlineComments: true + complexity: + - warn + - 15 + constructor-super: warn + dot-notation: warn + eqeqeq: warn + global-require: warn + handle-callback-err: warn + id-blacklist: warn + id-match: warn + init-declarations: error + max-depth: warn + max-nested-callbacks: warn + max-statements-per-line: warn + no-alert: warn + no-array-constructor: warn + no-caller: warn + no-case-declarations: warn + no-class-assign: warn + no-cond-assign: error + no-const-assign: error + no-constant-condition: warn + no-control-regex: warn + no-debugger: error + no-delete-var: warn + no-div-regex: warn + no-dupe-args: error + no-dupe-class-members: error + no-dupe-keys: error + no-duplicate-case: error + no-duplicate-imports: error + no-else-return: warn + no-empty-character-class: warn + no-empty-function: error + no-empty-pattern: error + no-empty: warn + no-eq-null: error + no-eval: error + no-ex-assign: error + no-extend-native: warn + no-extra-bind: warn + no-extra-boolean-cast: warn + no-extra-label: warn + no-fallthrough: warn + no-func-assign: error + no-global-assign: error + no-implicit-coercion: + - warn + - allow: ["~"] + no-implicit-globals: warn + no-implied-eval: warn + no-inline-comments: warn + no-inner-declarations: warn + no-invalid-regexp: warn + no-irregular-whitespace: warn + no-iterator: warn + no-label-var: warn + no-labels: warn + no-lone-blocks: warn + no-lonely-if: error + no-mixed-requires: error + no-multi-str: warn + no-native-reassign: error + no-negated-condition: warn + no-negated-in-lhs: error + no-new-func: warn + no-new-object: warn + no-new-require: warn + no-new-symbol: warn + no-new-wrappers: warn + no-new: warn + no-obj-calls: warn + no-octal-escape: warn + no-octal: warn + no-param-reassign: warn + no-path-concat: warn + no-process-env: warn + no-process-exit: warn + no-proto: warn + no-prototype-builtins: warn + no-redeclare: warn + no-regex-spaces: warn + no-restricted-globals: warn + no-restricted-imports: warn + no-restricted-modules: warn + no-restricted-syntax: warn + no-return-assign: error + no-script-url: warn + no-self-assign: warn + no-self-compare: warn + no-sequences: warn + no-shadow-restricted-names: warn + no-shadow: warn + no-sparse-arrays: warn + no-sync: warn + no-this-before-super: warn + no-throw-literal: warn + no-undef-init: warn + no-undef: error + no-unmodified-loop-condition: warn + no-unneeded-ternary: error + no-unreachable: error + no-unsafe-finally: error + no-unused-expressions: error + no-unused-labels: error + no-unused-vars: error + no-use-before-define: error + no-useless-call: warn + no-useless-computed-key: warn + no-useless-concat: warn + no-useless-constructor: warn + no-useless-escape: warn + no-useless-rename: warn + no-void: warn + no-with: warn + operator-assignment: [error, always] + prefer-const: warn + radix: warn + require-yield: warn + sort-imports: warn + spaced-comment: [error, always] + strict: [error, function] + use-isnan: error + valid-jsdoc: + - warn + - prefer: + arg: param + argument: param + augments: extends + constructor: class + exception: throws + func: function + method: function + prop: property + return: returns + virtual: abstract + yield: yields + preferType: + array: Array + bool: Boolean + boolean: Boolean + number: Number + object: Object + str: String + string: String + requireParamDescription: false + requireReturn: false + requireReturnDescription: false + requireReturnType: false + valid-typeof: warn + yoda: warn diff --git a/.flake8 b/.flake8 new file mode 100644 index 000000000..6363964b5 --- /dev/null +++ b/.flake8 @@ -0,0 +1,11 @@ +[flake8] +# E123,E133,E226,E241,E242 are ignored by default by pep8 and flake8 +# F811 is legal in odoo 8 when we implement 2 interfaces for a method +# F601 pylint support this case with expected tests +# W503 changed by W504 and OCA prefers allow both +# E203: whitespace before ':' (black behaviour and not pep8 compliant) +ignore = E123,E133,E226,E241,E242,F811,F601,W503,W504,E203 +max-line-length = 88 +per-file-ignores= + __init__.py:F401 + diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..e6a7954b9 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,14 @@ +## Description + + + +## Odoo task (if applicable) + + + +## Checklist before approval + +- [ ] Tests are present (or not needed). +- [ ] Credits/copyright have been changed correctly. +- [ ] Change log snippet is present. +- [ ] (If a new module) Moving this to OCA has been considered. diff --git a/.github/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml new file mode 100644 index 000000000..0c7d3ae48 --- /dev/null +++ b/.github/workflows/pre-commit.yml @@ -0,0 +1,37 @@ +name: pre-commit + +on: + pull_request: + branches: + - "11.0*" + push: + branches: + - "11.0" + - "11.0-ocabot-*" + +jobs: + pre-commit: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v2 + - uses: actions/setup-python@v2 + with: + python-version: "3.7" + - name: Get python version + run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV + - uses: actions/cache@v1 + with: + 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/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 000000000..651028b7c --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,50 @@ +name: tests + +on: + pull_request: + branches: + - "11.0*" + push: + branches: + - "11.0" + - "11.0-ocabot-*" + +jobs: + test: + runs-on: ubuntu-latest + container: ${{ matrix.container }} + name: ${{ matrix.name }} + strategy: + fail-fast: false + matrix: + include: + - container: ghcr.io/oca/oca-ci/py3.5-ocb11.0:latest + makepot: "true" + name: test with OCB + services: + postgres: + image: postgres:9.6 + env: + POSTGRES_USER: odoo + POSTGRES_PASSWORD: odoo + POSTGRES_DB: odoo + ports: + - 5432:5432 + steps: + - uses: actions/checkout@v2 + 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 + - name: Initialize test db + run: oca_init_test_database + - name: Run tests + run: oca_run_tests + - uses: codecov/codecov-action@v1 + - 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 == 'coopiteasy' }} diff --git a/.gitignore b/.gitignore index a76c9ccbe..9c283fd41 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,8 @@ # Byte-compiled / optimized / DLL files __pycache__/ *.py[cod] -*$py.class +/.venv +/.pytest_cache # C extensions *.so @@ -9,12 +10,11 @@ __pycache__/ # Distribution / packaging .Python env/ +bin/ build/ develop-eggs/ dist/ -downloads/ eggs/ -.eggs/ lib64/ parts/ sdist/ @@ -22,12 +22,7 @@ var/ *.egg-info/ .installed.cfg *.egg - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec +*.eggs # Installer logs pip-log.txt @@ -37,52 +32,43 @@ pip-delete-this-directory.txt htmlcov/ .tox/ .coverage -.coverage.* .cache nosetests.xml coverage.xml -*,cover -.hypothesis/ # Translations *.mo -*.pot - -# Django stuff: -*.log -local_settings.py -# Flask stuff: -instance/ -.webassets-cache +# Pycharm +.idea -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ +# Eclipse +.settings -# PyBuilder -target/ +# Visual Studio cache/options directory +.vs/ +.vscode -# IPython Notebook -.ipynb_checkpoints +# OSX Files +.DS_Store -# pyenv -.python-version +# Django stuff: +*.log -# celery beat schedule file -celerybeat-schedule +# Mr Developer +.mr.developer.cfg +.project +.pydevproject -# dotenv -.env +# Rope +.ropeproject -# virtualenv -venv/ -ENV/ +# Sphinx documentation +docs/_build/ -# Spyder project settings -.spyderproject +# Backup files +*~ +*.swp -# Rope project settings -.ropeproject +# OCA rules +!static/lib/ diff --git a/.isort.cfg b/.isort.cfg new file mode 100644 index 000000000..0ec187efd --- /dev/null +++ b/.isort.cfg @@ -0,0 +1,13 @@ +[settings] +; see https://github.com/psf/black +multi_line_output=3 +include_trailing_comma=True +force_grid_wrap=0 +combine_as_imports=True +use_parentheses=True +line_length=88 +known_odoo=odoo +known_odoo_addons=odoo.addons +sections=FUTURE,STDLIB,THIRDPARTY,ODOO,ODOO_ADDONS,FIRSTPARTY,LOCALFOLDER +default_section=THIRDPARTY +ensure_newline_before_comments = True diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 000000000..9394a6bf7 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,132 @@ +exclude: | + (?x) + # NOT INSTALLABLE ADDONS + # END NOT INSTALLABLE ADDONS + # Files and folders generated by bots, to avoid loops + ^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 + ^docs/_templates/.*\.html$| + # You don't usually want a bot to modify your legal texts + (LICENSE.*|COPYING.*) +default_language_version: + python: python3 +repos: + - repo: local + hooks: + # These files are most likely copier diff rejection junks; if found, + # review them manually, fix the problem (if needed) and remove them + - id: forbidden-files + name: forbidden files + entry: found forbidden files; remove them + language: fail + files: "\\.rej$" + - repo: https://github.com/oca/maintainer-tools + rev: ab1d7f6 + hooks: + # update the NOT INSTALLABLE ADDONS section above + - id: oca-update-pre-commit-excluded-addons + - id: oca-fix-manifest-website + args: ["https://coopiteasy.be"] + - repo: https://github.com/myint/autoflake + rev: v1.4 + hooks: + - id: autoflake + args: + - --expand-star-imports + - --ignore-init-module-imports + - --in-place + - --remove-all-unused-imports + - --remove-duplicate-keys + - --remove-unused-variables + - repo: https://github.com/psf/black + rev: 20.8b1 + hooks: + - id: black + additional_dependencies: ["click<8.1.0"] + - repo: https://github.com/pre-commit/mirrors-prettier + rev: v2.4.1 + hooks: + - id: prettier + name: prettier (with plugin-xml) + entry: prettier --write --list-different + additional_dependencies: + - "prettier@2.4.1" + - "@prettier/plugin-xml@1.1.0" + files: \.(css|htm|html|js|json|jsx|less|md|scss|toml|ts|xml|yaml|yml)$ + - repo: https://github.com/pre-commit/mirrors-eslint + rev: v6.8.0 + hooks: + - id: eslint + verbose: true + args: + - --color + - --fix + - repo: https://github.com/pre-commit/pre-commit-hooks + rev: v2.4.0 + hooks: + - id: trailing-whitespace + # exclude autogenerated files + exclude: /README\.rst$|\.pot?$ + - id: end-of-file-fixer + # exclude autogenerated files + exclude: /README\.rst$|\.pot?$ + - id: debug-statements + - id: fix-encoding-pragma + args: ["--remove"] + - id: check-case-conflict + - id: check-docstring-first + - id: check-executables-have-shebangs + - id: check-merge-conflict + # exclude files where underlines are not distinguishable from merge conflicts + exclude: /README\.rst$|^docs/.*\.rst$ + - id: check-symlinks + - id: check-xml + - id: mixed-line-ending + args: ["--fix=lf"] + - repo: https://github.com/asottile/pyupgrade + rev: v1.26.2 + hooks: + - id: pyupgrade + args: ["--keep-percent-format"] + - repo: https://github.com/pre-commit/mirrors-isort + rev: v4.3.21 + hooks: + - id: isort + name: isort except __init__.py + exclude: /__init__\.py$ + - repo: https://github.com/acsone/setuptools-odoo + rev: 3.1.8 + hooks: + - id: setuptools-odoo-make-default + - id: setuptools-odoo-get-requirements + args: + - --output + - requirements.txt + - --header + - "# generated from manifests external_dependencies" + - repo: https://github.com/OCA/mirrors-flake8 + rev: v3.7.9 + hooks: + - id: flake8 + language_version: python3 + name: flake8 excluding __init__.py + exclude: __init__\.py + - repo: https://github.com/OCA/pylint-odoo + rev: 7.0.2 + hooks: + - id: pylint_odoo + name: pylint with optional checks + args: + - --rcfile=.pylintrc + - --exit-zero + verbose: true + - id: pylint_odoo + args: + - --rcfile=.pylintrc-mandatory + diff --git a/.prettierrc.yml b/.prettierrc.yml new file mode 100644 index 000000000..5b6d4b361 --- /dev/null +++ b/.prettierrc.yml @@ -0,0 +1,8 @@ +# Defaults for all prettier-supported languages. +# Prettier will complete this with settings from .editorconfig file. +bracketSpacing: false +printWidth: 88 +proseWrap: always +semi: true +trailingComma: "es5" +xmlWhitespaceSensitivity: "strict" diff --git a/.pylintrc b/.pylintrc new file mode 100644 index 000000000..ea315ad6c --- /dev/null +++ b/.pylintrc @@ -0,0 +1,156 @@ +[MASTER] +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=Coop IT Easy SC +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=11.0 + +[MESSAGES CONTROL] +disable=all + +# Enable message and code: +# anomalous-backslash-in-string - W1401 +# assignment-from-none - W1111 +# dangerous-default-value - W0102 +# duplicate-key - W0109 +# missing-import-error - W7935 +# missing-manifest-dependency - W7936 +# pointless-statement - W0104 +# pointless-string-statement - W0105 +# print-statement - E1601 +# redundant-keyword-arg - E1124 +# reimported - W0404 +# relative-import - W0403 +# return-in-init - E0101 +# rst-syntax-error - E7901 +# too-few-format-args - E1306 +# unreachable - W0101 + + +# This .pylintrc contains optional AND mandatory checks and is meant to be +# loaded in an IDE to have it check everything, in the hope this will make +# optional checks more visible to contributors who otherwise never look at a +# green travis to see optional checks that failed. +# .pylintrc-mandatory containing only mandatory checks is used the pre-commit +# config as a blocking check. + +# Beta message and code: +# api-one-deprecated - W8104 +# api-one-multi-together - W8101 +# attribute-deprecated - W8105 +# class-camelcase - C8104 +# create-user-wo-reset-password - W7905 +# consider-merging-classes-inherited - R7980 +# copy-wo-api-one - W8102 +# dangerous-filter-wo-user - W7901 +# dangerous-view-replace-wo-priority - W7940 +# deprecated-module - W0402 +# duplicate-id-csv - W7906 +# duplicate-xml-fields - W7907 +# duplicate-xml-record-id - W7902 +# file-not-used - W7930 +# incoherent-interpreter-exec-perm - W8201 +# invalid-commit - E8102 +# javascript-lint - W7903 +# manifest-deprecated-key - C8103 +# method-compute - C8108 +# method-inverse - C8110 +# method-required-super - W8106 +# method-search - C8109 +# missing-newline-extrafiles - W7908 +# missing-readme - C7902 +# no-utf8-coding-comment - C8201 +# unnecessary-utf8-coding-comment - C8202 +# odoo-addons-relative-import - W7950 +# old-api7-method-defined - R8110 +# openerp-exception-warning - R8101 +# redundant-modulename-xml - W7909 +# sql-injection - E8103 +# too-complex - C0901 +# translation-field - W8103 +# translation-required - C8107 +# use-vim-comment - W8202 +# wrong-tabs-instead-of-spaces - W7910 +# xml-syntax-error - E7902 + + +enable=anomalous-backslash-in-string, + assignment-from-none, + dangerous-default-value, + development-status-allowed, + duplicate-key, + duplicate-po-message-definition, + missing-import-error, + missing-manifest-dependency, + po-msgstr-variables, + po-syntax-error, + pointless-statement, + pointless-string-statement, + print-used, + redundant-keyword-arg, + reimported, + relative-import, + return-in-init, + rst-syntax-error, + too-few-format-args, + unreachable, + eval-used, + eval-referenced, + license-allowed, + manifest-author-string, + manifest-required-author, + manifest-required-key, + manifest-version-format, + api-one-deprecated, + api-one-multi-together, + attribute-deprecated, + class-camelcase, + create-user-wo-reset-password, + consider-merging-classes-inherited, + copy-wo-api-one, + dangerous-filter-wo-user, + dangerous-view-replace-wo-priority, + deprecated-module, + duplicate-id-csv, + duplicate-po-message-definition, + duplicate-xml-fields, + duplicate-xml-record-id, + file-not-used, + incoherent-interpreter-exec-perm, + invalid-commit, + javascript-lint, + manifest-deprecated-key, + method-compute, + method-inverse, + method-required-super, + method-search, + missing-newline-extrafiles, + missing-readme, + po-msgstr-variables, + po-syntax-error, + no-utf8-coding-comment, + unnecessary-utf8-coding-comment, + odoo-addons-relative-import, + old-api7-method-defined, + openerp-exception-warning, + redefined-builtin, + redundant-modulename-xml, + sql-injection, + too-complex, + translation-field, + translation-required, + use-vim-comment, + wrong-tabs-instead-of-spaces, + xml-syntax-error, + + +[REPORTS] +msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg} +output-format=colorized +reports=no + diff --git a/.pylintrc-mandatory b/.pylintrc-mandatory new file mode 100644 index 000000000..dfeddb93a --- /dev/null +++ b/.pylintrc-mandatory @@ -0,0 +1,68 @@ +[MASTER] +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=Coop IT Easy SC +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=11.0 + +[MESSAGES CONTROL] +disable=all + +# Enable message and code: +# anomalous-backslash-in-string - W1401 +# assignment-from-none - W1111 +# dangerous-default-value - W0102 +# duplicate-key - W0109 +# missing-import-error - W7935 +# missing-manifest-dependency - W7936 +# pointless-statement - W0104 +# pointless-string-statement - W0105 +# print-statement - E1601 +# redundant-keyword-arg - E1124 +# reimported - W0404 +# relative-import - W0403 +# return-in-init - E0101 +# rst-syntax-error - E7901 +# too-few-format-args - E1306 +# unreachable - W0101 + + + +enable=anomalous-backslash-in-string, + assignment-from-none, + dangerous-default-value, + development-status-allowed, + duplicate-key, + duplicate-po-message-definition, + missing-import-error, + missing-manifest-dependency, + po-msgstr-variables, + po-syntax-error, + pointless-statement, + pointless-string-statement, + print-used, + redundant-keyword-arg, + reimported, + relative-import, + return-in-init, + rst-syntax-error, + too-few-format-args, + unreachable, + eval-used, + eval-referenced, + license-allowed, + manifest-author-string, + manifest-required-author, + manifest-required-key, + manifest-version-format + +[REPORTS] +msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg} +output-format=colorized +reports=no + diff --git a/LICENSE b/LICENSE index dbbe35581..be3f7b28e 100644 --- a/LICENSE +++ b/LICENSE @@ -1,7 +1,7 @@ GNU AFFERO GENERAL PUBLIC LICENSE Version 3, 19 November 2007 - Copyright (C) 2007 Free Software Foundation, Inc. + Copyright (C) 2007 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. @@ -633,8 +633,8 @@ the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify - it under the terms of the GNU Affero General Public License as published - by the Free Software Foundation, either version 3 of the License, or + it under the terms of the GNU Affero General Public License as published by + the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -643,7 +643,7 @@ the "copyright" line and a pointer to where the full notice is found. GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License - along with this program. If not, see . + along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. @@ -658,4 +658,4 @@ specific requirements. You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU AGPL, see -. +. diff --git a/README.md b/README.md index 300fc256f..e49025115 100644 --- a/README.md +++ b/README.md @@ -1 +1,35 @@ -# addons + + +[![Pre-commit Status](https://github.com/coopiteasy/addons/actions/workflows/pre-commit.yml/badge.svg?branch=11.0)](https://github.com/coopiteasy/addons/actions/workflows/pre-commit.yml?query=branch%3A11.0) +[![Build Status](https://github.com/coopiteasy/addons/actions/workflows/test.yml/badge.svg?branch=11.0)](https://github.com/coopiteasy/addons/actions/workflows/test.yml?query=branch%3A11.0) +[![codecov](https://codecov.io/gh/coopiteasy/addons/branch/11.0/graph/badge.svg)](https://codecov.io/gh/coopiteasy/addons) + + + + +# IT management tools for the social economy + +TODO + + + + + +[//]: # (addons) + +This part will be replaced when running the oca-gen-addons-table script from OCA/maintainer-tools. + +[//]: # (end addons) + + + +## Licenses + +This repository is licensed under [AGPL-3.0](LICENSE). + +However, each module can have a totally different license, as long as they adhere to Coop IT Easy SC +policy. Consult each module's `__manifest__.py` file, which contains a `license` key +that explains its license. + +---- + From 43f1c33824275b06fa1770e0fb9f0662f3f0f949 Mon Sep 17 00:00:00 2001 From: Carmen Bianca BAKKER Date: Thu, 8 Dec 2022 09:43:20 +0100 Subject: [PATCH 2/2] [FIX] Satisfy pre-commit Signed-off-by: Carmen Bianca BAKKER --- .flake8 | 1 - .pre-commit-config.yaml | 1 - .pylintrc | 1 - .pylintrc-mandatory | 1 - account_invoice_paid_transaction/README.rst | 2 +- .../__manifest__.py | 6 +- .../models/account_invoice.py | 9 +- .../models/sale_order.py | 5 +- .../readme/CONTRIBUTORS.rst | 2 +- .../report/report_invoice.xml | 23 +- .../static/description/index.html | 2 +- .../tests/test_account_invoice.py | 2 +- .../views/account_invoice.xml | 18 +- account_invoice_validate_and_send/__init__.py | 2 +- .../__manifest__.py | 42 +- .../wizard/__init__.py | 2 +- .../wizard/invoice_send_and_validate.py | 19 +- .../wizard/invoice_send_and_validate.xml | 58 +- backend_theme/__init__.py | 1 - backend_theme/__manifest__.py | 21 +- backend_theme/static/description/index.html | 84 +- backend_theme/static/src/js/web_responsive.js | 176 +- backend_theme/static/src/less/app_drawer.less | 58 +- .../src/less/bootswatch/bootswatch.less | 114 +- .../static/src/less/bootswatch/style.less | 295 +-- .../static/src/less/bootswatch/variables.less | 1647 ++++++++--------- backend_theme/static/src/less/main.less | 1 - backend_theme/static/src/less/navbar.less | 10 +- backend_theme/static/src/less/variables.less | 10 +- backend_theme/views/assets.xml | 76 +- backend_theme/views/web.xml | 206 ++- l10n_be_sale_order_bba/__init__.py | 2 +- l10n_be_sale_order_bba/__manifest__.py | 44 +- l10n_be_sale_order_bba/models/__init__.py | 4 +- l10n_be_sale_order_bba/models/invoice.py | 34 +- l10n_be_sale_order_bba/models/sale.py | 174 +- .../report/sale_order_report.xml | 29 +- l10n_be_sale_order_bba/views/sale_views.xml | 32 +- l10n_be_website_sale_order_bba/__init__.py | 2 +- .../__manifest__.py | 41 +- .../models/__init__.py | 2 +- .../models/website.py | 38 +- partner_isr/__manifest__.py | 31 +- partner_isr/data/customer_id_sequence.xml | 10 +- partner_isr/models/account_bank_statement.py | 16 +- partner_isr/models/partner.py | 38 +- .../views/account_bank_statement_view.xml | 25 +- partner_isr/views/partner_view.xml | 39 +- portal_partner_isr/__manifest__.py | 32 +- portal_partner_isr/controllers/main.py | 6 +- portal_partner_isr/views/partner_isr.xml | 12 +- .../__manifest__.py | 12 +- ...rtner_bank_remove_uniqueness_constraint.py | 4 +- res_users_case_insensitive/__init__.py | 1 - res_users_case_insensitive/__manifest__.py | 9 +- res_users_case_insensitive/models/__init__.py | 1 - .../models/res_users.py | 27 +- .../static/description/icon.svg | 1162 ++++++------ res_users_case_insensitive/tests/__init__.py | 1 - .../tests/test_res_users.py | 57 +- sale_report_carrier/README.rst | 4 +- sale_report_carrier/__manifest__.py | 4 +- sale_report_carrier/readme/CONTRIBUTORS.rst | 2 +- sale_report_carrier/report/sale_report.py | 2 +- .../static/description/index.html | 4 +- setup/.setuptools-odoo-make-default-ignore | 2 + setup/README | 2 + .../addons/account_invoice_paid_transaction | 1 + .../setup.cfg | 2 + .../account_invoice_paid_transaction/setup.py | 6 + .../addons/account_invoice_validate_and_send | 1 + .../setup.cfg | 2 + .../setup.py | 6 + setup/backend_theme/odoo/addons/backend_theme | 1 + setup/backend_theme/setup.cfg | 2 + setup/backend_theme/setup.py | 6 + .../odoo/addons/l10n_be_sale_order_bba | 1 + setup/l10n_be_sale_order_bba/setup.cfg | 2 + setup/l10n_be_sale_order_bba/setup.py | 6 + .../addons/l10n_be_website_sale_order_bba | 1 + .../l10n_be_website_sale_order_bba/setup.cfg | 2 + setup/l10n_be_website_sale_order_bba/setup.py | 6 + setup/partner_isr/odoo/addons/partner_isr | 1 + setup/partner_isr/setup.cfg | 2 + setup/partner_isr/setup.py | 6 + .../odoo/addons/portal_partner_isr | 1 + setup/portal_partner_isr/setup.cfg | 2 + setup/portal_partner_isr/setup.py | 6 + ..._partner_bank_remove_uniqueness_constraint | 1 + .../setup.cfg | 2 + .../setup.py | 6 + .../odoo/addons/res_users_case_insensitive | 1 + setup/res_users_case_insensitive/setup.cfg | 2 + setup/res_users_case_insensitive/setup.py | 6 + .../odoo/addons/sale_report_carrier | 1 + setup/sale_report_carrier/setup.cfg | 2 + setup/sale_report_carrier/setup.py | 6 + .../odoo/addons/stock_picking_auto_send_email | 1 + setup/stock_picking_auto_send_email/setup.cfg | 2 + setup/stock_picking_auto_send_email/setup.py | 6 + .../addons/stock_picking_print_traceability | 1 + .../setup.cfg | 2 + .../stock_picking_print_traceability/setup.py | 6 + ...bsite_portal_restrict_address_modification | 1 + .../setup.cfg | 2 + .../setup.py | 6 + stock_picking_auto_send_email/__init__.py | 2 +- stock_picking_auto_send_email/__manifest__.py | 45 +- .../models/__init__.py | 4 +- .../models/delivery_carrier.py | 17 +- .../models/stock_picking.py | 56 +- .../views/delivery_carrier_view.xml | 26 +- stock_picking_print_traceability/README.rst | 2 +- stock_picking_print_traceability/__init__.py | 4 +- .../__manifest__.py | 32 +- .../models/__init__.py | 2 +- .../models/stock_picking.py | 58 +- .../static/description/index.html | 2 +- .../views/stock_picking_views.xml | 26 +- .../README.rst | 2 +- .../__manifest__.py | 4 +- .../static/description/index.html | 2 +- .../views/portal_website_templates.xml | 10 +- 123 files changed, 2696 insertions(+), 2515 deletions(-) create mode 100644 setup/.setuptools-odoo-make-default-ignore create mode 100644 setup/README create mode 120000 setup/account_invoice_paid_transaction/odoo/addons/account_invoice_paid_transaction create mode 100644 setup/account_invoice_paid_transaction/setup.cfg create mode 100644 setup/account_invoice_paid_transaction/setup.py create mode 120000 setup/account_invoice_validate_and_send/odoo/addons/account_invoice_validate_and_send create mode 100644 setup/account_invoice_validate_and_send/setup.cfg create mode 100644 setup/account_invoice_validate_and_send/setup.py create mode 120000 setup/backend_theme/odoo/addons/backend_theme create mode 100644 setup/backend_theme/setup.cfg create mode 100644 setup/backend_theme/setup.py create mode 120000 setup/l10n_be_sale_order_bba/odoo/addons/l10n_be_sale_order_bba create mode 100644 setup/l10n_be_sale_order_bba/setup.cfg create mode 100644 setup/l10n_be_sale_order_bba/setup.py create mode 120000 setup/l10n_be_website_sale_order_bba/odoo/addons/l10n_be_website_sale_order_bba create mode 100644 setup/l10n_be_website_sale_order_bba/setup.cfg create mode 100644 setup/l10n_be_website_sale_order_bba/setup.py create mode 120000 setup/partner_isr/odoo/addons/partner_isr create mode 100644 setup/partner_isr/setup.cfg create mode 100644 setup/partner_isr/setup.py create mode 120000 setup/portal_partner_isr/odoo/addons/portal_partner_isr create mode 100644 setup/portal_partner_isr/setup.cfg create mode 100644 setup/portal_partner_isr/setup.py create mode 120000 setup/res_partner_bank_remove_uniqueness_constraint/odoo/addons/res_partner_bank_remove_uniqueness_constraint create mode 100644 setup/res_partner_bank_remove_uniqueness_constraint/setup.cfg create mode 100644 setup/res_partner_bank_remove_uniqueness_constraint/setup.py create mode 120000 setup/res_users_case_insensitive/odoo/addons/res_users_case_insensitive create mode 100644 setup/res_users_case_insensitive/setup.cfg create mode 100644 setup/res_users_case_insensitive/setup.py create mode 120000 setup/sale_report_carrier/odoo/addons/sale_report_carrier create mode 100644 setup/sale_report_carrier/setup.cfg create mode 100644 setup/sale_report_carrier/setup.py create mode 120000 setup/stock_picking_auto_send_email/odoo/addons/stock_picking_auto_send_email create mode 100644 setup/stock_picking_auto_send_email/setup.cfg create mode 100644 setup/stock_picking_auto_send_email/setup.py create mode 120000 setup/stock_picking_print_traceability/odoo/addons/stock_picking_print_traceability create mode 100644 setup/stock_picking_print_traceability/setup.cfg create mode 100644 setup/stock_picking_print_traceability/setup.py create mode 120000 setup/website_portal_restrict_address_modification/odoo/addons/website_portal_restrict_address_modification create mode 100644 setup/website_portal_restrict_address_modification/setup.cfg create mode 100644 setup/website_portal_restrict_address_modification/setup.py diff --git a/.flake8 b/.flake8 index 6363964b5..d51ebb33c 100644 --- a/.flake8 +++ b/.flake8 @@ -8,4 +8,3 @@ ignore = E123,E133,E226,E241,E242,F811,F601,W503,W504,E203 max-line-length = 88 per-file-ignores= __init__.py:F401 - diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 9394a6bf7..f14f0f316 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -129,4 +129,3 @@ repos: - id: pylint_odoo args: - --rcfile=.pylintrc-mandatory - diff --git a/.pylintrc b/.pylintrc index ea315ad6c..14d7d5c00 100644 --- a/.pylintrc +++ b/.pylintrc @@ -153,4 +153,3 @@ enable=anomalous-backslash-in-string, msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg} output-format=colorized reports=no - diff --git a/.pylintrc-mandatory b/.pylintrc-mandatory index dfeddb93a..46100f997 100644 --- a/.pylintrc-mandatory +++ b/.pylintrc-mandatory @@ -65,4 +65,3 @@ enable=anomalous-backslash-in-string, msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg} output-format=colorized reports=no - diff --git a/account_invoice_paid_transaction/README.rst b/account_invoice_paid_transaction/README.rst index 1628efe9f..a25b73c85 100644 --- a/account_invoice_paid_transaction/README.rst +++ b/account_invoice_paid_transaction/README.rst @@ -49,7 +49,7 @@ Credits Authors ~~~~~~~ -* Coop IT Easy SCRLfs +* Coop IT Easy SC Contributors ~~~~~~~~~~~~ diff --git a/account_invoice_paid_transaction/__manifest__.py b/account_invoice_paid_transaction/__manifest__.py index 8cf049487..f7de6e248 100644 --- a/account_invoice_paid_transaction/__manifest__.py +++ b/account_invoice_paid_transaction/__manifest__.py @@ -1,4 +1,4 @@ -# Copyright 2021+ Coop IT Easy SCRL fs +# Copyright 2021+ Coop IT Easy SC # Robin Keunen # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). @@ -7,8 +7,8 @@ "summary": "Mark invoice as paid if an online transaction exists", "version": "11.0.1.0.0", "category": "Sales", - "website": "https://www.coopiteasy.be", - "author": "Coop IT Easy SCRLfs", + "website": "https://coopiteasy.be", + "author": "Coop IT Easy SC", "license": "AGPL-3", "application": False, "installable": True, diff --git a/account_invoice_paid_transaction/models/account_invoice.py b/account_invoice_paid_transaction/models/account_invoice.py index 4bf498b94..2d00f064b 100644 --- a/account_invoice_paid_transaction/models/account_invoice.py +++ b/account_invoice_paid_transaction/models/account_invoice.py @@ -1,11 +1,12 @@ -# Copyright 2021 Coop IT Easy SCRL fs +# Copyright 2021 Coop IT Easy SC # Robin Keunen # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). -from odoo import api, fields, models import logging +from odoo import api, fields, models + _logger = logging.getLogger(__name__) @@ -36,9 +37,7 @@ def _compute_paid_by_transactions(self): transactions = invoice.origin_so_id.payment_tx_ids.filtered( lambda p: p.state == "done" ) - invoice.amount_paid_by_transactions = sum( - transactions.mapped("amount") - ) + invoice.amount_paid_by_transactions = sum(transactions.mapped("amount")) @api.multi def _get_so_payments_vals(self): diff --git a/account_invoice_paid_transaction/models/sale_order.py b/account_invoice_paid_transaction/models/sale_order.py index 931af0b5c..1c0893412 100644 --- a/account_invoice_paid_transaction/models/sale_order.py +++ b/account_invoice_paid_transaction/models/sale_order.py @@ -1,4 +1,4 @@ -# Copyright 2021+ Coop IT Easy SCRL fs +# Copyright 2021+ Coop IT Easy SC # Robin Keunen # License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). @@ -24,7 +24,6 @@ def action_invoice_create(self, grouped=False, final=False): invoice.origin_so_id = self except ValueError: _logger.warning( - "Could not link invoices to sale orders %s" - % self.mapped("name") + "Could not link invoices to sale orders %s" % self.mapped("name") ) return invoice_ids diff --git a/account_invoice_paid_transaction/readme/CONTRIBUTORS.rst b/account_invoice_paid_transaction/readme/CONTRIBUTORS.rst index ed47aee80..0ecb06105 100644 --- a/account_invoice_paid_transaction/readme/CONTRIBUTORS.rst +++ b/account_invoice_paid_transaction/readme/CONTRIBUTORS.rst @@ -1 +1 @@ -* Robin Keunen \ No newline at end of file +* Robin Keunen diff --git a/account_invoice_paid_transaction/report/report_invoice.xml b/account_invoice_paid_transaction/report/report_invoice.xml index 54eb84d20..7d1e34a5a 100644 --- a/account_invoice_paid_transaction/report/report_invoice.xml +++ b/account_invoice_paid_transaction/report/report_invoice.xml @@ -1,23 +1,28 @@ - + -