diff --git a/.copier-answers.yml b/.copier-answers.yml
new file mode 100644
index 000000000..da912ac93
--- /dev/null
+++ b/.copier-answers.yml
@@ -0,0 +1,26 @@
+# Do NOT update manually; changes here will be overwritten by Copier
+_commit: v1.14.0
+_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: {}
+github_enable_codecov: true
+github_enable_makepot: true
+github_enable_stale_action: true
+github_enforce_dev_status_compatibility: true
+include_wkhtmltopdf: false
+odoo_version: 12.0
+org_name: Odoo Community Association (OCA)
+org_slug: OCA
+rebel_module_groups: []
+repo_description: Report engines for Odoo
+repo_name: 'Odoo Alternative Reporting Engine
+
+ '
+repo_slug: reporting-engine
+repo_website: https://github.com/OCA/reporting-engine
+travis_apt_packages: []
+travis_apt_sources: []
+
diff --git a/.editorconfig b/.editorconfig
index 62276b0d5..bfd7ac53d 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -7,11 +7,11 @@ indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true
-[.eslintrc,*.{json,yml,yaml,rst,md}]
+[*.{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]
+[{*/static/{lib,src/lib}/**,*/static/description/index.html,*/readme/../README.rst}]
charset = unset
end_of_line = unset
indent_size = unset
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/workflows/pre-commit.yml b/.github/workflows/pre-commit.yml
new file mode 100644
index 000000000..f86d41826
--- /dev/null
+++ b/.github/workflows/pre-commit.yml
@@ -0,0 +1,37 @@
+name: pre-commit
+
+on:
+ pull_request:
+ branches:
+ - "12.0*"
+ push:
+ branches:
+ - "12.0"
+ - "12.0-ocabot-*"
+
+jobs:
+ pre-commit:
+ runs-on: ubuntu-20.04
+ steps:
+ - uses: actions/checkout@v2
+ - uses: actions/setup-python@v2
+ with:
+ python-version: "3.6"
+ - 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/stale.yml b/.github/workflows/stale.yml
new file mode 100644
index 000000000..1693a1253
--- /dev/null
+++ b/.github/workflows/stale.yml
@@ -0,0 +1,69 @@
+name: Mark stale issues and pull requests
+
+on:
+ schedule:
+ - cron: "0 12 * * 0"
+
+jobs:
+ stale:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Stale PRs and issues policy
+ uses: actions/stale@v4
+ with:
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+ # General settings.
+ ascending: true
+ remove-stale-when-updated: true
+ # Pull Requests settings.
+ # 120+30 day stale policy for PRs
+ # * Except PRs marked as "no stale"
+ days-before-pr-stale: 120
+ days-before-pr-close: 30
+ exempt-pr-labels: "no stale"
+ stale-pr-label: "stale"
+ stale-pr-message: >
+ There hasn't been any activity on this pull request in the past 4 months, so
+ it has been marked as stale and it will be closed automatically if no
+ further activity occurs in the next 30 days.
+
+ If you want this PR to never become stale, please ask a PSC member to apply
+ the "no stale" label.
+ # Issues settings.
+ # 180+30 day stale policy for open issues
+ # * Except Issues marked as "no stale"
+ days-before-issue-stale: 180
+ days-before-issue-close: 30
+ exempt-issue-labels: "no stale,needs more information"
+ stale-issue-label: "stale"
+ stale-issue-message: >
+ There hasn't been any activity on this issue in the past 6 months, so it has
+ been marked as stale and it will be closed automatically if no further
+ activity occurs in the next 30 days.
+
+ If you want this issue to never become stale, please ask a PSC member to
+ apply the "no stale" label.
+
+ # 15+30 day stale policy for issues pending more information
+ # * Issues that are pending more information
+ # * Except Issues marked as "no stale"
+ - name: Needs more information stale issues policy
+ uses: actions/stale@v4
+ with:
+ repo-token: ${{ secrets.GITHUB_TOKEN }}
+ ascending: true
+ only-labels: "needs more information"
+ exempt-issue-labels: "no stale"
+ days-before-stale: 15
+ days-before-close: 30
+ days-before-pr-stale: -1
+ days-before-pr-close: -1
+ remove-stale-when-updated: true
+ stale-issue-label: "stale"
+ stale-issue-message: >
+ This issue needs more information and there hasn't been any activity
+ recently, so it has been marked as stale and it will be closed automatically
+ if no further activity occurs in the next 30 days.
+
+ If you think this is a mistake, please ask a PSC member to remove the "needs
+ more information" label.
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
new file mode 100644
index 000000000..20bf055d4
--- /dev/null
+++ b/.github/workflows/test.yml
@@ -0,0 +1,69 @@
+name: tests
+
+on:
+ pull_request:
+ branches:
+ - "12.0*"
+ push:
+ branches:
+ - "12.0"
+ - "12.0-ocabot-*"
+
+jobs:
+ unreleased-deps:
+ runs-on: ubuntu-latest
+ name: Detect unreleased dependencies
+ steps:
+ - uses: actions/checkout@v2
+ - 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-20.04
+ container: ${{ matrix.container }}
+ name: ${{ matrix.name }}
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - container: ghcr.io/oca/oca-ci/py3.6-odoo12.0:latest
+ makepot: "true"
+ name: test with Odoo
+ - container: ghcr.io/oca/oca-ci/py3.6-ocb12.0:latest
+ 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 == 'OCA' }}
diff --git a/.gitignore b/.gitignore
index 890ff0109..9c283fd41 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,8 @@
# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
+/.venv
+/.pytest_cache
# C extensions
*.so
@@ -13,7 +15,6 @@ build/
develop-eggs/
dist/
eggs/
-lib/
lib64/
parts/
sdist/
@@ -21,6 +22,7 @@ var/
*.egg-info/
.installed.cfg
*.egg
+*.eggs
# Installer logs
pip-log.txt
@@ -40,6 +42,19 @@ coverage.xml
# Pycharm
.idea
+# Eclipse
+.settings
+
+# Visual Studio cache/options directory
+.vs/
+.vscode
+
+# OSX Files
+.DS_Store
+
+# Django stuff:
+*.log
+
# Mr Developer
.mr.developer.cfg
.project
@@ -54,3 +69,6 @@ docs/_build/
# Backup files
*~
*.swp
+
+# OCA rules
+!static/lib/
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
new file mode 100644
index 000000000..a0b486b7a
--- /dev/null
+++ b/.pre-commit-config.yaml
@@ -0,0 +1,60 @@
+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: 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://github.com/OCA/reporting-engine"]
+ - 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.4.1
+ hooks:
+ - id: flake8
+ language_version: python3.6
+ name: flake8 excluding __init__.py
+ exclude: __init__\.py
+ - repo: https://github.com/pre-commit/mirrors-pylint
+ rev: v2.5.3
+ hooks:
+ - id: pylint
+ name: pylint with optional checks
+ args:
+ - --rcfile=.pylintrc
+ - --exit-zero
+ verbose: true
+ additional_dependencies: &pylint_deps
+ - pylint-odoo==3.5.0
+ - id: pylint
+ name: pylint with mandatory checks
+ args:
+ - --rcfile=.pylintrc-mandatory
+ additional_dependencies: *pylint_deps
+
diff --git a/.pylintrc b/.pylintrc
new file mode 100644
index 000000000..d8abd7129
--- /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=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=12.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..9b44956f4
--- /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=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=12.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/.travis.yml b/.travis.yml
deleted file mode 100644
index 1869c12aa..000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-sudo: false
-cache: pip
-
-addons:
- postgresql: "9.6"
- apt:
- packages:
- - expect-dev # provides unbuffer utility
- - python-lxml # because pip installation is slow
- - pdftk
- - libreoffice
- - graphviz
-
-language: python
-
-python:
- - "3.5"
-
-env:
- global:
- - VERSION="12.0" TESTS="0" LINT_CHECK="0" MAKEPOT="0"
- - WKHTMLTOPDF_VERSION="0.12.4"
- matrix:
- - LINT_CHECK="1"
- - MALLOC_ARENA_MAX=4 TESTS="1" ODOO_REPO="OCA/OCB"
- - MALLOC_ARENA_MAX=4 TESTS="1" ODOO_REPO="odoo/odoo" MAKEPOT="1"
-
-install:
- - git clone --depth=1 https://github.com/OCA/maintainer-quality-tools.git ${HOME}/maintainer-quality-tools
- - export PATH=${HOME}/maintainer-quality-tools/travis:${PATH}
- - travis_install_nightly
-
-script:
- - travis_run_tests
-
-after_success:
- - travis_after_tests_success
diff --git a/LICENSE b/LICENSE
index 8410c2007..be3f7b28e 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,4 +1,4 @@
-GNU AFFERO GENERAL PUBLIC LICENSE
+ GNU AFFERO GENERAL PUBLIC LICENSE
Version 3, 19 November 2007
Copyright (C) 2007 Free Software Foundation, Inc.
@@ -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,
@@ -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
-.
\ No newline at end of file
+.
diff --git a/README.md b/README.md
index f53eaba94..9cbabe95f 100644
--- a/README.md
+++ b/README.md
@@ -1,67 +1,38 @@
-[](https://runbot.odoo-community.org/runbot/repo/github-com-oca-reporting-engine-143)
-[](https://travis-ci.org/OCA/reporting-engine)
-[](https://coveralls.io/r/OCA/reporting-engine?branch=12.0)
-OCA alternative reporting engines and reporting utilities for Odoo
-==================================================================
+[](https://runboat.odoo-community.org/builds?repo=OCA/reporting-engine&target_branch=12.0)
+[](https://github.com/OCA/reporting-engine/actions/workflows/pre-commit.yml?query=branch%3A12.0)
+[](https://github.com/OCA/reporting-engine/actions/workflows/test.yml?query=branch%3A12.0)
+[](https://codecov.io/gh/OCA/reporting-engine)
+[](https://translation.odoo-community.org/engage/reporting-engine-12-0/?utm_source=widget)
-This repository hosts alternative reporting engines to the ones included on Odoo core (RML, QWeb and Webkit). It is complemented with the ones that host the reports theirself:
+
-https://github.com/OCA/account-financial-reporting
+# Odoo Alternative Reporting Engine
-https://github.com/OCA/purchase-reporting
-https://github.com/OCA/sale-reporting
-...
+Report engines for Odoo
-The convention is to use a suffix to each module to indicate that it's for using with that report engine (for example, account_invoice_report_birt or sale_order_report_pentaho).
+
-It can contain also another utilities directly involved with reports (like merge/split utils, checkers, signing tools and so on).
+
[//]: # (addons)
-Available addons
-----------------
-addon | version | maintainers | summary
---- | --- | --- | ---
-[bi_sql_editor](bi_sql_editor/) | 12.0.1.3.0 | [](https://github.com/legalsylvain) | BI Views builder, based on Materialized or Normal SQL Views
-[bi_sql_editor_aggregate](bi_sql_editor_aggregate/) | 12.0.1.1.0 | | BI SQL Editor Aggregation
-[bi_view_editor](bi_view_editor/) | 12.0.1.1.0 | | Graphical BI views builder for Odoo
-[kpi](kpi/) | 12.0.1.0.0 | | Key Performance Indicator
-[kpi_dashboard](kpi_dashboard/) | 12.0.1.3.0 | [](https://github.com/etobella) | Create Dashboards using kpis
-[kpi_dashboard_altair](kpi_dashboard_altair/) | 12.0.1.0.3 | [](https://github.com/etobella) | Create dashboards using altair
-[kpi_dashboard_bokeh](kpi_dashboard_bokeh/) | 12.0.1.0.0 | | Create dashboards using bokeh
-[report_async](report_async/) | 12.0.1.0.1 | [](https://github.com/kittiu) | Central place to run reports live or async
-[report_context](report_context/) | 12.0.1.0.0 | | Adding context to reports
-[report_csv](report_csv/) | 12.0.1.0.0 | | Base module to create csv report
-[report_label](report_label/) | 12.0.1.0.0 | [](https://github.com/ivantodorovich) | Print configurable self-adhesive labels reports
-[report_py3o](report_py3o/) | 12.0.2.1.1 | | Reporting engine based on Libreoffice (ODT -> ODT, ODT -> PDF, ODT -> DOC, ODT -> DOCX, ODS -> ODS, etc.)
-[report_py3o_fusion_server](report_py3o_fusion_server/) | 12.0.1.0.1 | | Let the fusion server handle format conversion.
-[report_qr](report_qr/) | 12.0.1.1.0 | | Web QR Manager
-[report_qweb_element_page_visibility](report_qweb_element_page_visibility/) | 12.0.1.0.0 | | Report Qweb Element Page Visibility
-[report_qweb_encrypt](report_qweb_encrypt/) | 12.0.1.0.0 | [](https://github.com/kittiu) | Allow to encrypt qweb pdfs
-[report_qweb_parameter](report_qweb_parameter/) | 12.0.1.0.1 | | Add new parameters for qweb templates in order to reduce field length and check minimal length
-[report_qweb_pdf_fixed_column](report_qweb_pdf_fixed_column/) | 12.0.1.0.0 | [](https://github.com/Tardo) | Fix auto-col to not change report font size caused by a boundary overflow
-[report_qweb_pdf_watermark](report_qweb_pdf_watermark/) | 12.0.1.0.1 | | Add watermarks to your QWEB PDF reports
-[report_qweb_signer](report_qweb_signer/) | 12.0.1.1.0 | | Sign Qweb PDFs usign a PKCS#12 certificate
-[report_substitute](report_substitute/) | 12.0.1.0.0 | | This module allows to create substitution rules for report actions.
-[report_wkhtmltopdf_param](report_wkhtmltopdf_param/) | 12.0.1.0.0 | | Add new parameters for a paper format to be used by wkhtmltopdf command as arguments.
-[report_xlsx](report_xlsx/) | 12.0.1.0.4 | | Base module to create xlsx report
-[report_xlsx_helper](report_xlsx_helper/) | 12.0.1.2.0 | | Report xlsx helpers
-[report_xlsx_helper_demo](report_xlsx_helper_demo/) | 12.0.1.1.0 | | Report xlsx helpers - demo
-[report_xml](report_xml/) | 12.0.1.0.0 | | Allow to generate XML reports
+This part will be replaced when running the oca-gen-addons-table script from OCA/maintainer-tools.
[//]: # (end addons)
+
-## Translation Status
+## Licenses
-[](https://translation.odoo-community.org/engage/reporting-engine-12-0/?utm_source=widget)
+This repository is licensed under [AGPL-3.0](LICENSE).
+
+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, is a nonprofit organization whose
-mission is to support the collaborative development of Odoo features and
-promote its widespread use.
-
-https://odoo-community.org/
+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/bi_view_editor/__manifest__.py b/bi_view_editor/__manifest__.py
index 29986ed96..63653277e 100644
--- a/bi_view_editor/__manifest__.py
+++ b/bi_view_editor/__manifest__.py
@@ -23,6 +23,10 @@
'qweb': [
'static/src/xml/bi_view_editor.xml'
],
+ 'external_dependencies': {
+ 'python': ['pydot'],
+ 'deb': ['graphviz']
+ },
'post_load': 'post_load',
'uninstall_hook': 'uninstall_hook',
'installable': True,
diff --git a/bi_view_editor/models/bve_view.py b/bi_view_editor/models/bve_view.py
index 58ac76a89..c377acad9 100644
--- a/bi_view_editor/models/bve_view.py
+++ b/bi_view_editor/models/bve_view.py
@@ -171,7 +171,7 @@ class BveView(models.Model):
try:
png_base64_image = base64.b64encode(graph.create_png())
bve_view.er_diagram_image = png_base64_image
- except:
+ except Exception:
bve_view.er_diagram_image = False
def _create_view_arch(self):
diff --git a/kpi/__manifest__.py b/kpi/__manifest__.py
index 7ebaf1b41..0f2d0f3a2 100644
--- a/kpi/__manifest__.py
+++ b/kpi/__manifest__.py
@@ -5,7 +5,7 @@
"name": "Key Performance Indicator",
"version": "12.0.1.0.0",
"author": "Savoir-faire Linux,Odoo Community Association (OCA)",
- "website": "http://www.savoirfairelinux.com",
+ "website": "https://github.com/OCA/reporting-engine",
"license": "AGPL-3",
"category": "Report",
"depends": [
diff --git a/kpi_dashboard_bokeh/__manifest__.py b/kpi_dashboard_bokeh/__manifest__.py
index 9bf5d2f47..1a1b273d1 100644
--- a/kpi_dashboard_bokeh/__manifest__.py
+++ b/kpi_dashboard_bokeh/__manifest__.py
@@ -8,7 +8,7 @@
"version": "12.0.1.0.0",
"license": "AGPL-3",
"author": "Creu Blanca,Odoo Community Association (OCA)",
- "website": "https://github.com/OCA/reporting-engine ",
+ "website": "https://github.com/OCA/reporting-engine",
"depends": ["web_widget_bokeh_chart", "kpi_dashboard"],
"data": ["views/webclient_templates.xml"],
"qweb": ["static/src/xml/dashboard.xml"],
diff --git a/report_csv/__manifest__.py b/report_csv/__manifest__.py
index 0aec029a4..bb37cb399 100644
--- a/report_csv/__manifest__.py
+++ b/report_csv/__manifest__.py
@@ -6,15 +6,10 @@
'summary': "Base module to create csv report",
'author': 'Creu Blanca,'
'Odoo Community Association (OCA)',
- 'website': "https://github.com/oca/reporting-engine",
+ "website": "https://github.com/OCA/reporting-engine",
'category': 'Reporting',
'version': '12.0.1.0.0',
'license': 'AGPL-3',
- 'external_dependencies': {
- 'python': [
- 'csv',
- ],
- },
'depends': [
'base', 'web',
],
diff --git a/report_py3o/__manifest__.py b/report_py3o/__manifest__.py
index b7493e2ec..7ce45020b 100644
--- a/report_py3o/__manifest__.py
+++ b/report_py3o/__manifest__.py
@@ -10,12 +10,13 @@
'author': 'XCG Consulting,'
'ACSONE SA/NV,'
'Odoo Community Association (OCA)',
- 'website': 'http://odoo.consulting/',
+ "website": "https://github.com/OCA/reporting-engine",
'depends': ['web'],
'external_dependencies': {
'python': ['py3o.template',
'py3o.formats',
- 'PyPDF2']
+ 'PyPDF2'],
+ "deb": ["libreoffice"],
},
'data': [
'security/ir.model.access.csv',
diff --git a/report_py3o_fusion_server/__manifest__.py b/report_py3o_fusion_server/__manifest__.py
index eee9d61ad..3055c9282 100644
--- a/report_py3o_fusion_server/__manifest__.py
+++ b/report_py3o_fusion_server/__manifest__.py
@@ -16,6 +16,7 @@
'py3o.template',
'py3o.formats',
],
+ "deb": ["libreoffice"],
},
'demo': [
"demo/report_py3o.xml",
diff --git a/report_qweb_element_page_visibility/__manifest__.py b/report_qweb_element_page_visibility/__manifest__.py
index 88659452d..abd588968 100644
--- a/report_qweb_element_page_visibility/__manifest__.py
+++ b/report_qweb_element_page_visibility/__manifest__.py
@@ -6,7 +6,7 @@
'version': '12.0.1.0.0',
'author': 'Agile Business Group, Odoo Community Association (OCA)',
'category': 'Tools',
- 'website': 'https://github.com/oca/reporting-engine',
+ "website": "https://github.com/OCA/reporting-engine",
'license': 'AGPL-3',
'application': False,
'installable': True,
diff --git a/report_qweb_parameter/__manifest__.py b/report_qweb_parameter/__manifest__.py
index 588d7373c..8dd6d1a81 100644
--- a/report_qweb_parameter/__manifest__.py
+++ b/report_qweb_parameter/__manifest__.py
@@ -12,7 +12,7 @@
""",
"author": "Creu Blanca,"
"Odoo Community Association (OCA)",
- "website": "https://github.com/oca/reporting-engine",
+ "website": "https://github.com/OCA/reporting-engine",
"category": "Technical Settings",
"depends": [
"web",
diff --git a/report_qweb_pdf_watermark/__manifest__.py b/report_qweb_pdf_watermark/__manifest__.py
index 9c4f1d44a..dfaee2a6f 100644
--- a/report_qweb_pdf_watermark/__manifest__.py
+++ b/report_qweb_pdf_watermark/__manifest__.py
@@ -8,7 +8,7 @@
"license": "AGPL-3",
"category": "Technical Settings",
"summary": "Add watermarks to your QWEB PDF reports",
- "website": "https://github.com/oca/reporting-engine",
+ "website": "https://github.com/OCA/reporting-engine",
"depends": [
'web',
],
diff --git a/report_qweb_signer/__manifest__.py b/report_qweb_signer/__manifest__.py
index db6c7ab1e..ec0606324 100644
--- a/report_qweb_signer/__manifest__.py
+++ b/report_qweb_signer/__manifest__.py
@@ -8,7 +8,7 @@
"summary": "Sign Qweb PDFs usign a PKCS#12 certificate",
"version": "12.0.1.1.0",
"category": "Reporting",
- "website": "https://github.com/oca/reporting-engine",
+ "website": "https://github.com/OCA/reporting-engine",
"author": "Tecnativa, "
"Odoo Community Association (OCA)",
"license": "AGPL-3",
@@ -18,6 +18,7 @@
],
"external_dependencies": {
"bin": ['/usr/bin/java'],
+ "deb": ["default-jre-headless"],
},
"data": [
"data/defaults.xml",
diff --git a/report_qweb_signer/data/defaults.xml b/report_qweb_signer/data/defaults.xml
index ea4a22b01..b7e1c66b3 100644
--- a/report_qweb_signer/data/defaults.xml
+++ b/report_qweb_signer/data/defaults.xml
@@ -2,6 +2,6 @@
report_qweb_signer.java_parameters
- -Xms4M -Xmx4M
+ -Xms16M -Xmx16M -XX:CompressedClassSpaceSize=256m
diff --git a/report_wkhtmltopdf_param/__manifest__.py b/report_wkhtmltopdf_param/__manifest__.py
index bd0639be3..0e542746e 100644
--- a/report_wkhtmltopdf_param/__manifest__.py
+++ b/report_wkhtmltopdf_param/__manifest__.py
@@ -13,7 +13,7 @@
"author": "Avoin.Systems,"
"Eficent,"
"Odoo Community Association (OCA)",
- "website": "https://avoin.systems",
+ "website": "https://github.com/OCA/reporting-engine",
"category": "Technical Settings",
"depends": [
"web",
diff --git a/report_xlsx/__manifest__.py b/report_xlsx/__manifest__.py
index fb0b66c3a..14c54ab7a 100644
--- a/report_xlsx/__manifest__.py
+++ b/report_xlsx/__manifest__.py
@@ -7,7 +7,7 @@
'author': 'ACSONE SA/NV,'
'Creu Blanca,'
'Odoo Community Association (OCA)',
- 'website': "https://github.com/oca/reporting-engine",
+ 'website': "https://github.com/OCA/reporting-engine",
'category': 'Reporting',
'version': '12.0.1.0.4',
'license': 'AGPL-3',
diff --git a/report_xlsx_helper_demo/__manifest__.py b/report_xlsx_helper_demo/__manifest__.py
index 60c07e20b..5835f71d8 100644
--- a/report_xlsx_helper_demo/__manifest__.py
+++ b/report_xlsx_helper_demo/__manifest__.py
@@ -5,6 +5,7 @@
'name': 'Report xlsx helpers - demo',
'author': 'Noviat,'
'Odoo Community Association (OCA)',
+ 'website': "https://github.com/OCA/reporting-engine",
'category': 'Reporting',
'version': '12.0.1.1.0',
'license': 'AGPL-3',
diff --git a/requirements.txt b/requirements.txt
index 4fd49ee21..04bfa1fdc 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,3 +1,8 @@
+# generated from manifests external_dependencies
altair
-py3o.template
py3o.formats
+py3o.template
+pydot
+PyPDF2
+xlrd
+xlsxwriter