mirror of
				https://github.com/brain-tec/account_ebics.git
				synced 2025-11-03 22:50:59 +00:00 
			
		
		
		
	Merge pull request #60 from Noviat/18.0
Syncing from upstream Noviat/account_ebics (18.0)
This commit is contained in:
		@@ -1,12 +1,12 @@
 | 
			
		||||
# Do NOT update manually; changes here will be overwritten by Copier
 | 
			
		||||
_commit: v3.1
 | 
			
		||||
_src_path: https://picasso.noviat.com/ci/addons-repo-template.git
 | 
			
		||||
ci_exclude_modules: account_asset
 | 
			
		||||
customer_slug: Noviat_Generic
 | 
			
		||||
odoo_enterprise: 1
 | 
			
		||||
_commit: v4.3
 | 
			
		||||
_src_path: git@github.com:Noviat-CI/addons-repo-template.git
 | 
			
		||||
ci_disable_autoinstall_modules: account_asset
 | 
			
		||||
odoo_test_flavor: Both
 | 
			
		||||
odoo_version: 18.0
 | 
			
		||||
org_slug: Noviat
 | 
			
		||||
rebel_module_groups: []
 | 
			
		||||
repo_name: Modules dedicated to manage the EBICS protocol
 | 
			
		||||
repo_slug: accounting-ebics
 | 
			
		||||
repo_type: Customer/Generic Addons
 | 
			
		||||
repo_slug: account_ebics
 | 
			
		||||
repo_type: customer
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										188
									
								
								.eslintrc.yml
									
									
									
									
									
								
							
							
						
						
									
										188
									
								
								.eslintrc.yml
									
									
									
									
									
								
							@@ -1,188 +0,0 @@
 | 
			
		||||
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
 | 
			
		||||
  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
 | 
			
		||||
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
 | 
			
		||||
							
								
								
									
										45
									
								
								.github/workflows/pre-commit.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								.github/workflows/pre-commit.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,45 @@
 | 
			
		||||
name: pre-commit
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
      - "18.0*"
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - "18.0"
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  pre-commit:
 | 
			
		||||
    runs-on: ubuntu-22.04
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - uses: actions/setup-python@v5
 | 
			
		||||
        with:
 | 
			
		||||
          python-version: "3.11"
 | 
			
		||||
      - name: Get python version
 | 
			
		||||
        run: echo "PY=$(python -VV | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
 | 
			
		||||
      - uses: actions/cache@v4
 | 
			
		||||
        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
 | 
			
		||||
        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)"
 | 
			
		||||
          if [ "$newfiles" != "" ] ; then
 | 
			
		||||
              echo "Please check-in the following files:"
 | 
			
		||||
              echo "$newfiles"
 | 
			
		||||
              exit 1
 | 
			
		||||
          fi
 | 
			
		||||
							
								
								
									
										123
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										123
									
								
								.github/workflows/test.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,123 @@
 | 
			
		||||
name: tests
 | 
			
		||||
 | 
			
		||||
on:
 | 
			
		||||
  pull_request:
 | 
			
		||||
    branches:
 | 
			
		||||
      - "18.0*"
 | 
			
		||||
  push:
 | 
			
		||||
    branches:
 | 
			
		||||
      - "18.0"
 | 
			
		||||
 | 
			
		||||
jobs:
 | 
			
		||||
  unreleased-deps:
 | 
			
		||||
    runs-on: ubuntu-latest
 | 
			
		||||
    name: Detect unreleased dependencies
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
      - 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 }}
 | 
			
		||||
    permissions:
 | 
			
		||||
      pull-requests: write
 | 
			
		||||
      contents: write
 | 
			
		||||
    strategy:
 | 
			
		||||
      fail-fast: false
 | 
			
		||||
      matrix:
 | 
			
		||||
        include:
 | 
			
		||||
          - container: ghcr.io/oca/oca-ci/py3.10-odoo18.0:latest
 | 
			
		||||
            name: test with Odoo Community
 | 
			
		||||
            odoo_enterprise : 0
 | 
			
		||||
            exclude_modules : "account_asset"
 | 
			
		||||
            exclude: "account_ebics_batch_payment,account_ebics_oe"
 | 
			
		||||
          - container: ghcr.io/oca/oca-ci/py3.10-odoo18.0:latest
 | 
			
		||||
            name: test with Odoo Enterprise
 | 
			
		||||
            odoo_enterprise : 1
 | 
			
		||||
            exclude_modules : "account_asset"
 | 
			
		||||
            makepot: true
 | 
			
		||||
    services:
 | 
			
		||||
      postgres:
 | 
			
		||||
        image: postgres:12.0
 | 
			
		||||
        env:
 | 
			
		||||
          POSTGRES_USER: odoo
 | 
			
		||||
          POSTGRES_PASSWORD: odoo
 | 
			
		||||
          POSTGRES_DB: odoo
 | 
			
		||||
        ports:
 | 
			
		||||
          - 5432:5432
 | 
			
		||||
    env:
 | 
			
		||||
      INSTALL_ADDONS_DIR: "/tmp/addons-merged"
 | 
			
		||||
      ADDITIONAL_ADDONS_DIR: "/tmp/additional-addons"
 | 
			
		||||
    steps:
 | 
			
		||||
      - uses: actions/checkout@v4
 | 
			
		||||
        with:
 | 
			
		||||
          persist-credentials: false
 | 
			
		||||
      - name: Add Noviat CI Tools to PATH
 | 
			
		||||
        run: |
 | 
			
		||||
          git clone https://${{ secrets.PRIVATE_TOKEN }}@github.com/Noviat-CI/noviat-ci-tools.git /opt/noviat-ci-tools
 | 
			
		||||
          echo "/opt/noviat-ci-tools" >> $GITHUB_PATH
 | 
			
		||||
      - name: Clone Odoo Enterprise
 | 
			
		||||
        if: ${{ matrix.odoo_enterprise == 1 }}
 | 
			
		||||
        run : |
 | 
			
		||||
          git clone https://${{ secrets.PRIVATE_TOKEN }}@github.com/odoo/enterprise.git --depth 1 -b 18.0 /opt/enterprise
 | 
			
		||||
      - name: Clone Noviat Dependencies
 | 
			
		||||
        env:
 | 
			
		||||
          PRIVATE_TOKEN: ${{ secrets.PRIVATE_TOKEN }}
 | 
			
		||||
        run: clone_oca_dependencies_by_noviat
 | 
			
		||||
      - name: Create addons path
 | 
			
		||||
        run: |
 | 
			
		||||
          mkdir -p ${{ env.INSTALL_ADDONS_DIR }}/setup
 | 
			
		||||
          find $(realpath $ADDONS_DIR) $(realpath ${{ env.ADDITIONAL_ADDONS_DIR }}) -name __manifest__.py -exec sh -c 'ln -s "$(dirname "$0")" "${{ env.INSTALL_ADDONS_DIR }}"' {} \;
 | 
			
		||||
          find $(realpath $ADDONS_DIR) $(realpath ${{ env.ADDITIONAL_ADDONS_DIR }}) -iwholename '*/setup/*/setup.py' -exec sh -c 'ln -s "$(dirname "$0")" "${{ env.INSTALL_ADDONS_DIR }}/setup"' {} \;
 | 
			
		||||
          if [ -n ${{ matrix.exclude }} ]
 | 
			
		||||
          then
 | 
			
		||||
            remove_excluded_modules ${{ env.INSTALL_ADDONS_DIR }} ${{ matrix.exclude }}
 | 
			
		||||
          fi
 | 
			
		||||
      - name: Update addons path with enterprise
 | 
			
		||||
        if: ${{ matrix.odoo_enterprise == 1 }}
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "ADDONS_PATH=/opt/odoo/addons,/opt/enterprise,${{ env.INSTALL_ADDONS_DIR }}" >> $GITHUB_ENV
 | 
			
		||||
      - name: Update addons path without enterprise
 | 
			
		||||
        if: ${{ matrix.odoo_enterprise == 0 }}
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "ADDONS_PATH=/opt/odoo/addons,${{ env.INSTALL_ADDONS_DIR }}" >> $GITHUB_ENV
 | 
			
		||||
      - name: Add addons to EXCLUDE PATH
 | 
			
		||||
        if: ${{ env.EXCLUDE_MODULES }}
 | 
			
		||||
        run: |
 | 
			
		||||
          echo "server_wide_modules = web,module_change_auto_install" >> ${ODOO_RC}
 | 
			
		||||
          echo "modules_auto_install_disabled = $EXCLUDE_MODULES" >> ${ODOO_RC}
 | 
			
		||||
      - name: Install addons and dependencies
 | 
			
		||||
        run: |
 | 
			
		||||
          (ADDONS_PATH=${ADDONS_PATH} ADDONS_DIR=${INSTALL_ADDONS_DIR} oca_install_addons)
 | 
			
		||||
      - name: Initialize test db
 | 
			
		||||
        run: oca_init_test_database
 | 
			
		||||
      - name: Run tests
 | 
			
		||||
        run: oca_run_tests
 | 
			
		||||
      - name: Generate coverage files
 | 
			
		||||
        run: |
 | 
			
		||||
          coverage report -m
 | 
			
		||||
          coverage xml -o coverage.xml
 | 
			
		||||
      - name: Code Coverage Summary Report
 | 
			
		||||
        uses: irongut/CodeCoverageSummary@v1.3.0
 | 
			
		||||
        with:
 | 
			
		||||
          filename: 'coverage.xml'
 | 
			
		||||
          badge: true
 | 
			
		||||
          format: 'markdown'
 | 
			
		||||
          output: 'both'
 | 
			
		||||
          hide_complexity: true
 | 
			
		||||
      - name: Write to Job Summary
 | 
			
		||||
        run: cat code-coverage-results.md >> $GITHUB_STEP_SUMMARY
 | 
			
		||||
      - name: Update .pot files
 | 
			
		||||
        run: noviat_export_and_push_pot https://x-access-token:${{ secrets.PRIVATE_TOKEN }}@github.com/${{ github.repository }}
 | 
			
		||||
        if: ${{ matrix.makepot == 'true' && github.event_name == 'push' }}
 | 
			
		||||
							
								
								
									
										13
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										13
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -25,6 +25,19 @@ var/
 | 
			
		||||
*.egg
 | 
			
		||||
*.eggs
 | 
			
		||||
 | 
			
		||||
# Windows installers
 | 
			
		||||
*.msi
 | 
			
		||||
 | 
			
		||||
# Debian packages
 | 
			
		||||
*.deb
 | 
			
		||||
 | 
			
		||||
# Redhat packages
 | 
			
		||||
*.rpm
 | 
			
		||||
 | 
			
		||||
# MacOS packages
 | 
			
		||||
*.dmg
 | 
			
		||||
*.pkg
 | 
			
		||||
 | 
			
		||||
# Installer logs
 | 
			
		||||
pip-log.txt
 | 
			
		||||
pip-delete-this-directory.txt
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +0,0 @@
 | 
			
		||||
include:
 | 
			
		||||
  - project: "ci/gitlabci-odoo"
 | 
			
		||||
    ref: main
 | 
			
		||||
    file: "/odoo-tests.template.yml"
 | 
			
		||||
 | 
			
		||||
variables:
 | 
			
		||||
  ODOO_CI_IMAGE: ghcr.io/oca/oca-ci/py3.10-odoo18.0:latest
 | 
			
		||||
  VERSION: "18.0"
 | 
			
		||||
  ODOO_BRANCH: "18.0"
 | 
			
		||||
  ENTERPRISE: "1"
 | 
			
		||||
  ODOO_PRECOMMIT: "1"
 | 
			
		||||
  ODOO_TEST: "1"
 | 
			
		||||
  ODOO_GENERATE_POT: "1"
 | 
			
		||||
@@ -5,7 +5,7 @@ exclude: |
 | 
			
		||||
  # 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/|
 | 
			
		||||
  .svg$|/tests/([^/]+/)?cassettes/|^.copier-answers.yml$|^.github/|^eslint.config.cjs|^prettier.config.cjs|
 | 
			
		||||
  # Maybe reactivate this when all README files include prettier ignore tags?
 | 
			
		||||
  ^README\.md$|
 | 
			
		||||
  # Library files can have extraneous formatting (even minimized)
 | 
			
		||||
@@ -16,11 +16,13 @@ exclude: |
 | 
			
		||||
  readme/.*\.(rst|md)$|
 | 
			
		||||
  # Ignore build and dist directories in addons
 | 
			
		||||
  /build/|/dist/|
 | 
			
		||||
  # Ignore test files in addons
 | 
			
		||||
  /tests/samples/.*|
 | 
			
		||||
  # You don't usually want a bot to modify your legal texts
 | 
			
		||||
  (LICENSE.*|COPYING.*)
 | 
			
		||||
default_language_version:
 | 
			
		||||
  python: python3
 | 
			
		||||
  node: "16.17.0"
 | 
			
		||||
  node: "22.9.0"
 | 
			
		||||
repos:
 | 
			
		||||
  - repo: local
 | 
			
		||||
    hooks:
 | 
			
		||||
@@ -36,44 +38,52 @@ repos:
 | 
			
		||||
        entry: found a en.po file
 | 
			
		||||
        language: fail
 | 
			
		||||
        files: '[a-zA-Z0-9_]*/i18n/en\.po$'
 | 
			
		||||
  - repo: https://github.com/sbidoul/whool
 | 
			
		||||
    rev: v0.5
 | 
			
		||||
    hooks:
 | 
			
		||||
      - id: whool-init
 | 
			
		||||
  - repo: https://github.com/oca/maintainer-tools
 | 
			
		||||
    rev: 9a170331575a265c092ee6b24b845ec508e8ef75
 | 
			
		||||
    rev: bf9ecb9938b6a5deca0ff3d870fbd3f33341fded
 | 
			
		||||
    hooks:
 | 
			
		||||
      # update the NOT INSTALLABLE ADDONS section above
 | 
			
		||||
      - id: oca-update-pre-commit-excluded-addons
 | 
			
		||||
      - id: oca-fix-manifest-website
 | 
			
		||||
        args: ["https://www.noviat.com"]
 | 
			
		||||
      - id: oca-gen-external-dependencies
 | 
			
		||||
        args: ["https://www.noviat.com/"]
 | 
			
		||||
      - id: oca-gen-addons-table
 | 
			
		||||
  - repo: https://github.com/OCA/odoo-pre-commit-hooks
 | 
			
		||||
    rev: v0.0.25
 | 
			
		||||
    rev: v0.0.33
 | 
			
		||||
    hooks:
 | 
			
		||||
      - id: oca-checks-odoo-module
 | 
			
		||||
      - id: oca-checks-po
 | 
			
		||||
  - repo: https://github.com/pre-commit/mirrors-prettier
 | 
			
		||||
    rev: v2.7.1
 | 
			
		||||
        args:
 | 
			
		||||
          - --disable=po-pretty-format
 | 
			
		||||
  - repo: local
 | 
			
		||||
    hooks:
 | 
			
		||||
      - id: prettier
 | 
			
		||||
        name: prettier (with plugin-xml)
 | 
			
		||||
        additional_dependencies:
 | 
			
		||||
          - "prettier@2.7.1"
 | 
			
		||||
          - "@prettier/plugin-xml@2.2.0"
 | 
			
		||||
        entry: prettier
 | 
			
		||||
        args:
 | 
			
		||||
          - --plugin=@prettier/plugin-xml
 | 
			
		||||
          - --write
 | 
			
		||||
          - --list-different
 | 
			
		||||
          - --ignore-unknown
 | 
			
		||||
        types: [text]
 | 
			
		||||
        files: \.(css|htm|html|js|json|jsx|less|md|scss|toml|ts|xml|yaml|yml)$
 | 
			
		||||
  - repo: https://github.com/pre-commit/mirrors-eslint
 | 
			
		||||
    rev: v8.24.0
 | 
			
		||||
        language: node
 | 
			
		||||
        additional_dependencies:
 | 
			
		||||
          - "prettier@3.3.3"
 | 
			
		||||
          - "@prettier/plugin-xml@3.4.1"
 | 
			
		||||
  - repo: local
 | 
			
		||||
    hooks:
 | 
			
		||||
      - id: eslint
 | 
			
		||||
        verbose: true
 | 
			
		||||
        name: eslint
 | 
			
		||||
        entry: eslint
 | 
			
		||||
        args:
 | 
			
		||||
          - --color
 | 
			
		||||
          - --fix
 | 
			
		||||
        verbose: true
 | 
			
		||||
        types: [javascript]
 | 
			
		||||
        language: node
 | 
			
		||||
        additional_dependencies:
 | 
			
		||||
          - "eslint@9.12.0"
 | 
			
		||||
          - "eslint-plugin-jsdoc@50.3.1"
 | 
			
		||||
  - repo: https://github.com/pre-commit/pre-commit-hooks
 | 
			
		||||
    rev: v4.3.0
 | 
			
		||||
    rev: v4.6.0
 | 
			
		||||
    hooks:
 | 
			
		||||
      - id: trailing-whitespace
 | 
			
		||||
        # exclude autogenerated files
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +0,0 @@
 | 
			
		||||
# 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"
 | 
			
		||||
@@ -10,21 +10,22 @@ extend-select = [
 | 
			
		||||
    "I",  # isort
 | 
			
		||||
    "UP",  # pyupgrade
 | 
			
		||||
]
 | 
			
		||||
extend-safe-fixes = ["UP008"]
 | 
			
		||||
exclude = ["setup/*"]
 | 
			
		||||
 | 
			
		||||
[format]
 | 
			
		||||
exclude = ["setup/*"]
 | 
			
		||||
 | 
			
		||||
[per-file-ignores]
 | 
			
		||||
[lint.per-file-ignores]
 | 
			
		||||
"__init__.py" = ["F401", "I001"]  # ignore unused and unsorted imports in __init__.py
 | 
			
		||||
"__manifest__.py" = ["B018"]  # useless expression
 | 
			
		||||
 | 
			
		||||
[isort]
 | 
			
		||||
[lint.isort]
 | 
			
		||||
section-order = ["future", "standard-library", "third-party", "odoo", "odoo-addons", "first-party", "local-folder"]
 | 
			
		||||
 | 
			
		||||
[isort.sections]
 | 
			
		||||
[lint.isort.sections]
 | 
			
		||||
"odoo" = ["odoo"]
 | 
			
		||||
"odoo-addons" = ["odoo.addons"]
 | 
			
		||||
 | 
			
		||||
[mccabe]
 | 
			
		||||
[lint.mccabe]
 | 
			
		||||
max-complexity = 16
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										13
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										13
									
								
								README.md
									
									
									
									
									
								
							@@ -1,5 +1,5 @@
 | 
			
		||||
[](https://picasso.noviat.com/Noviat/Noviat_Generic/accounting-ebics/-/commits/18.0)
 | 
			
		||||
[](http://noviat.picasso-pages.noviat.com/Noviat_Generic/accounting-ebics)
 | 
			
		||||
[](https://github.com/Noviat/account_ebics/actions/workflows/pre-commit.yml?query=branch%3A18.0)
 | 
			
		||||
[](https://github.com/Noviat/account_ebics/actions/workflows/test.yml?query=branch%3A18.0)
 | 
			
		||||
 | 
			
		||||
<!-- /!\ do not modify above this line -->
 | 
			
		||||
 | 
			
		||||
@@ -11,7 +11,14 @@
 | 
			
		||||
 | 
			
		||||
[//]: # (addons)
 | 
			
		||||
 | 
			
		||||
This part will be replaced when running the oca-gen-addons-table script from OCA/maintainer-tools.
 | 
			
		||||
Available addons
 | 
			
		||||
----------------
 | 
			
		||||
addon | version | maintainers | summary
 | 
			
		||||
--- | --- | --- | ---
 | 
			
		||||
[account_ebics](account_ebics/) | 18.0.1.0.0 |  | EBICS banking protocol
 | 
			
		||||
[account_ebics_batch](account_ebics_batch/) | 18.0.1.0.0 |  | EBICS Files automated import and processing
 | 
			
		||||
[account_ebics_batch_payment](account_ebics_batch_payment/) | 18.0.1.0.0 |  | Upload Batch Payment via EBICS
 | 
			
		||||
[account_ebics_oe](account_ebics_oe/) | 18.0.1.0.0 |  | Deploy account_ebics module on Odoo Enterprise
 | 
			
		||||
 | 
			
		||||
[//]: # (end addons)
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@
 | 
			
		||||
    "version": "18.0.1.0.0",
 | 
			
		||||
    "license": "LGPL-3",
 | 
			
		||||
    "author": "Noviat",
 | 
			
		||||
    "website": "https://www.noviat.com",
 | 
			
		||||
    "website": "https://www.noviat.com/",
 | 
			
		||||
    "category": "Accounting & Finance",
 | 
			
		||||
    "depends": ["account"],
 | 
			
		||||
    "data": [
 | 
			
		||||
 
 | 
			
		||||
@@ -1,215 +1,217 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<odoo noupdate="1">
 | 
			
		||||
    <!-- Download formats -->
 | 
			
		||||
 | 
			
		||||
  <!-- Download formats -->
 | 
			
		||||
    <record id="ebics_ff_C52" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">camt.052</field>
 | 
			
		||||
        <field name="type">down</field>
 | 
			
		||||
        <field name="order_type">C52</field>
 | 
			
		||||
        <field name="download_process_method">camt.052</field>
 | 
			
		||||
        <field
 | 
			
		||||
            name="description"
 | 
			
		||||
        >bank to customer account report in format camt.052</field>
 | 
			
		||||
        <field name="suffix">c52.xml</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_C52" model="ebics.file.format">
 | 
			
		||||
    <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">camt.052</field>
 | 
			
		||||
    <field name="type">down</field>
 | 
			
		||||
    <field name="order_type">C52</field>
 | 
			
		||||
    <field name="download_process_method">camt.052</field>
 | 
			
		||||
    <field name="description">bank to customer account report in format camt.052</field>
 | 
			
		||||
    <field name="suffix">c52.xml</field>
 | 
			
		||||
  </record>
 | 
			
		||||
    <record id="ebics_ff_Z52" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">camt.052</field>
 | 
			
		||||
        <field name="type">down</field>
 | 
			
		||||
        <field name="order_type">Z52</field>
 | 
			
		||||
        <field name="download_process_method">camt.052</field>
 | 
			
		||||
        <field
 | 
			
		||||
            name="description"
 | 
			
		||||
        >bank to customer account report in format camt.052</field>
 | 
			
		||||
        <field name="suffix">c52.xml</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_Z52" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">camt.052</field>
 | 
			
		||||
    <field name="type">down</field>
 | 
			
		||||
    <field name="order_type">Z52</field>
 | 
			
		||||
    <field name="download_process_method">camt.052</field>
 | 
			
		||||
    <field name="description">bank to customer account report in format camt.052</field>
 | 
			
		||||
    <field name="suffix">c52.xml</field>
 | 
			
		||||
  </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_C53" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">camt.053</field>
 | 
			
		||||
    <field name="type">down</field>
 | 
			
		||||
    <field name="order_type">C53</field>
 | 
			
		||||
    <field name="download_process_method">camt.053</field>
 | 
			
		||||
    <field
 | 
			
		||||
    <record id="ebics_ff_C53" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">camt.053</field>
 | 
			
		||||
        <field name="type">down</field>
 | 
			
		||||
        <field name="order_type">C53</field>
 | 
			
		||||
        <field name="download_process_method">camt.053</field>
 | 
			
		||||
        <field
 | 
			
		||||
            name="description"
 | 
			
		||||
        >Bank to customer statement report in format camt.053</field>
 | 
			
		||||
    <field name="suffix">c53.xml</field>
 | 
			
		||||
  </record>
 | 
			
		||||
        <field name="suffix">c53.xml</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_Z53" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">camt.053</field>
 | 
			
		||||
    <field name="type">down</field>
 | 
			
		||||
    <field name="order_type">Z53</field>
 | 
			
		||||
    <field name="download_process_method">camt.053</field>
 | 
			
		||||
    <field
 | 
			
		||||
    <record id="ebics_ff_Z53" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">camt.053</field>
 | 
			
		||||
        <field name="type">down</field>
 | 
			
		||||
        <field name="order_type">Z53</field>
 | 
			
		||||
        <field name="download_process_method">camt.053</field>
 | 
			
		||||
        <field
 | 
			
		||||
            name="description"
 | 
			
		||||
        >Bank to customer statement report in format camt.053</field>
 | 
			
		||||
    <field name="suffix">c53.xml</field>
 | 
			
		||||
  </record>
 | 
			
		||||
        <field name="suffix">c53.xml</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_C54" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">camt.054</field>
 | 
			
		||||
    <field name="type">down</field>
 | 
			
		||||
    <field name="order_type">C54</field>
 | 
			
		||||
    <field name="download_process_method">camt.054</field>
 | 
			
		||||
    <field
 | 
			
		||||
    <record id="ebics_ff_C54" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">camt.054</field>
 | 
			
		||||
        <field name="type">down</field>
 | 
			
		||||
        <field name="order_type">C54</field>
 | 
			
		||||
        <field name="download_process_method">camt.054</field>
 | 
			
		||||
        <field
 | 
			
		||||
            name="description"
 | 
			
		||||
        >Bank to customer debit credit notification in format camt.054</field>
 | 
			
		||||
    <field name="suffix">c52.xml</field>
 | 
			
		||||
  </record>
 | 
			
		||||
        <field name="suffix">c52.xml</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_Z54" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">camt.054</field>
 | 
			
		||||
    <field name="type">down</field>
 | 
			
		||||
    <field name="order_type">Z54</field>
 | 
			
		||||
    <field name="download_process_method">camt.054</field>
 | 
			
		||||
    <field
 | 
			
		||||
    <record id="ebics_ff_Z54" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">camt.054</field>
 | 
			
		||||
        <field name="type">down</field>
 | 
			
		||||
        <field name="order_type">Z54</field>
 | 
			
		||||
        <field name="download_process_method">camt.054</field>
 | 
			
		||||
        <field
 | 
			
		||||
            name="description"
 | 
			
		||||
        >Bank to customer debit credit notification in format camt.054</field>
 | 
			
		||||
    <field name="suffix">c52.xml</field>
 | 
			
		||||
  </record>
 | 
			
		||||
        <field name="suffix">c52.xml</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_FDL_camt_xxx_cfonb120_stm" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">camt.xxx.cfonb120.stm</field>
 | 
			
		||||
    <field name="type">down</field>
 | 
			
		||||
    <field name="order_type">FDL</field>
 | 
			
		||||
    <field name="download_process_method">cfonb120</field>
 | 
			
		||||
    <field
 | 
			
		||||
    <record id="ebics_ff_FDL_camt_xxx_cfonb120_stm" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">camt.xxx.cfonb120.stm</field>
 | 
			
		||||
        <field name="type">down</field>
 | 
			
		||||
        <field name="order_type">FDL</field>
 | 
			
		||||
        <field name="download_process_method">cfonb120</field>
 | 
			
		||||
        <field
 | 
			
		||||
            name="description"
 | 
			
		||||
        >Bank to customer statement report in format cfonb120</field>
 | 
			
		||||
    <field name="suffix">cfonb120.dat</field>
 | 
			
		||||
  </record>
 | 
			
		||||
        <field name="suffix">cfonb120.dat</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_CDZ" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">pain.002</field>
 | 
			
		||||
    <field name="type">down</field>
 | 
			
		||||
    <field name="order_type">CDZ</field>
 | 
			
		||||
    <field
 | 
			
		||||
    <record id="ebics_ff_CDZ" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">pain.002</field>
 | 
			
		||||
        <field name="type">down</field>
 | 
			
		||||
        <field name="order_type">CDZ</field>
 | 
			
		||||
        <field
 | 
			
		||||
            name="description"
 | 
			
		||||
        >Payment status report for direct debit in format pain.002</field>
 | 
			
		||||
    <field name="suffix">psr.xml</field>
 | 
			
		||||
  </record>
 | 
			
		||||
        <field name="suffix">psr.xml</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_Z01" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">pain.002</field>
 | 
			
		||||
    <field name="type">down</field>
 | 
			
		||||
    <field name="order_type">Z01</field>
 | 
			
		||||
    <field name="download_process_method">pain.002</field>
 | 
			
		||||
    <field
 | 
			
		||||
    <record id="ebics_ff_Z01" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">pain.002</field>
 | 
			
		||||
        <field name="type">down</field>
 | 
			
		||||
        <field name="order_type">Z01</field>
 | 
			
		||||
        <field name="download_process_method">pain.002</field>
 | 
			
		||||
        <field
 | 
			
		||||
            name="description"
 | 
			
		||||
        >Payment status report for direct debit in format pain.002</field>
 | 
			
		||||
    <field name="suffix">psr.xml</field>
 | 
			
		||||
  </record>
 | 
			
		||||
        <field name="suffix">psr.xml</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_btf_cfonb120" model="ebics.file.format">
 | 
			
		||||
    <field name="ebics_version">3</field>
 | 
			
		||||
    <field name="type">down</field>
 | 
			
		||||
    <field name="order_type">BTD</field>
 | 
			
		||||
    <field name="download_process_method">cfonb120</field>
 | 
			
		||||
    <field
 | 
			
		||||
    <record id="ebics_ff_btf_cfonb120" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">3</field>
 | 
			
		||||
        <field name="type">down</field>
 | 
			
		||||
        <field name="order_type">BTD</field>
 | 
			
		||||
        <field name="download_process_method">cfonb120</field>
 | 
			
		||||
        <field
 | 
			
		||||
            name="description"
 | 
			
		||||
        >Bank to customer statement report in format cfonb120</field>
 | 
			
		||||
    <field name="suffix">cfonb120.dat</field>
 | 
			
		||||
    <field name="btf_service">EOP</field>
 | 
			
		||||
    <field name="btf_message">cfonb120</field>
 | 
			
		||||
  </record>
 | 
			
		||||
        <field name="suffix">cfonb120.dat</field>
 | 
			
		||||
        <field name="btf_service">EOP</field>
 | 
			
		||||
        <field name="btf_message">cfonb120</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <!-- Upload formats -->
 | 
			
		||||
    <!-- Upload formats -->
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_LCR" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">pain.xxx.cfonb160.dco</field>
 | 
			
		||||
    <field name="type">up</field>
 | 
			
		||||
    <field name="order_type">FUL</field>
 | 
			
		||||
    <field name="description">Remises de LCR</field>
 | 
			
		||||
    <field name="suffix">txt</field>
 | 
			
		||||
  </record>
 | 
			
		||||
    <record id="ebics_ff_LCR" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">pain.xxx.cfonb160.dco</field>
 | 
			
		||||
        <field name="type">up</field>
 | 
			
		||||
        <field name="order_type">FUL</field>
 | 
			
		||||
        <field name="description">Remises de LCR</field>
 | 
			
		||||
        <field name="suffix">txt</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_CCT" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">pain.001.001.03</field>
 | 
			
		||||
    <field name="type">up</field>
 | 
			
		||||
    <field name="order_type">CCT</field>
 | 
			
		||||
    <field name="description">Payment Order in format pain.001.001.03</field>
 | 
			
		||||
    <field name="suffix">xml</field>
 | 
			
		||||
  </record>
 | 
			
		||||
    <record id="ebics_ff_CCT" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">pain.001.001.03</field>
 | 
			
		||||
        <field name="type">up</field>
 | 
			
		||||
        <field name="order_type">CCT</field>
 | 
			
		||||
        <field name="description">Payment Order in format pain.001.001.03</field>
 | 
			
		||||
        <field name="suffix">xml</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_XE2" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">pain.001.001.03</field>
 | 
			
		||||
    <field name="type">up</field>
 | 
			
		||||
    <field name="order_type">XE2</field>
 | 
			
		||||
    <field name="description">Payment Order in format pain.001.001.03</field>
 | 
			
		||||
    <field name="suffix">xml</field>
 | 
			
		||||
  </record>
 | 
			
		||||
    <record id="ebics_ff_XE2" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">pain.001.001.03</field>
 | 
			
		||||
        <field name="type">up</field>
 | 
			
		||||
        <field name="order_type">XE2</field>
 | 
			
		||||
        <field name="description">Payment Order in format pain.001.001.03</field>
 | 
			
		||||
        <field name="suffix">xml</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_CDD" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">pain.008.001.02.sdd</field>
 | 
			
		||||
    <field name="type">up</field>
 | 
			
		||||
    <field name="order_type">CDD</field>
 | 
			
		||||
    <field
 | 
			
		||||
    <record id="ebics_ff_CDD" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">pain.008.001.02.sdd</field>
 | 
			
		||||
        <field name="type">up</field>
 | 
			
		||||
        <field name="order_type">CDD</field>
 | 
			
		||||
        <field
 | 
			
		||||
            name="description"
 | 
			
		||||
        >Sepa Core Direct Debit Order in format pain.008.001.02</field>
 | 
			
		||||
    <field name="suffix">xml</field>
 | 
			
		||||
  </record>
 | 
			
		||||
        <field name="suffix">xml</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_XE3" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">pain.008.001.02.sdd</field>
 | 
			
		||||
    <field name="type">up</field>
 | 
			
		||||
    <field name="order_type">XE3</field>
 | 
			
		||||
    <field
 | 
			
		||||
    <record id="ebics_ff_XE3" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">pain.008.001.02.sdd</field>
 | 
			
		||||
        <field name="type">up</field>
 | 
			
		||||
        <field name="order_type">XE3</field>
 | 
			
		||||
        <field
 | 
			
		||||
            name="description"
 | 
			
		||||
        >Sepa Core Direct Debit Order in format pain.008.001.02</field>
 | 
			
		||||
    <field name="suffix">xml</field>
 | 
			
		||||
  </record>
 | 
			
		||||
        <field name="suffix">xml</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_CDB" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">pain.008.001.02.sbb</field>
 | 
			
		||||
    <field name="type">up</field>
 | 
			
		||||
    <field name="order_type">CDB</field>
 | 
			
		||||
    <field
 | 
			
		||||
    <record id="ebics_ff_CDB" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">pain.008.001.02.sbb</field>
 | 
			
		||||
        <field name="type">up</field>
 | 
			
		||||
        <field name="order_type">CDB</field>
 | 
			
		||||
        <field
 | 
			
		||||
            name="description"
 | 
			
		||||
        >Sepa Direct Debit (B2B) Order in format pain.008.001.02</field>
 | 
			
		||||
    <field name="suffix">xml</field>
 | 
			
		||||
  </record>
 | 
			
		||||
        <field name="suffix">xml</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_XE4" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">pain.008.001.02.sbb</field>
 | 
			
		||||
    <field name="type">up</field>
 | 
			
		||||
    <field name="order_type">XE4</field>
 | 
			
		||||
    <field
 | 
			
		||||
    <record id="ebics_ff_XE4" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">pain.008.001.02.sbb</field>
 | 
			
		||||
        <field name="type">up</field>
 | 
			
		||||
        <field name="order_type">XE4</field>
 | 
			
		||||
        <field
 | 
			
		||||
            name="description"
 | 
			
		||||
        >Sepa Direct Debit (B2B) Order in format pain.008.001.02</field>
 | 
			
		||||
    <field name="suffix">xml</field>
 | 
			
		||||
  </record>
 | 
			
		||||
        <field name="suffix">xml</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_FUL_pain_001_001_02_sct" model="ebics.file.format">
 | 
			
		||||
      <field name="ebics_version">2</field>
 | 
			
		||||
    <field name="name">pain.001.001.02.sct</field>
 | 
			
		||||
    <field name="type">up</field>
 | 
			
		||||
    <field name="order_type">FUL</field>
 | 
			
		||||
    <field name="description">Payment Order in format pain.001.001.02</field>
 | 
			
		||||
    <field name="suffix">xml</field>
 | 
			
		||||
  </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_ff_btf_SCT" model="ebics.file.format">
 | 
			
		||||
    <field name="ebics_version">3</field>
 | 
			
		||||
    <field name="type">up</field>
 | 
			
		||||
    <field name="order_type">BTU</field>
 | 
			
		||||
    <field name="description">SEPA credit transfer</field>
 | 
			
		||||
    <field name="suffix">txt</field>
 | 
			
		||||
    <field name="btf_service">SCT</field>
 | 
			
		||||
    <field name="btf_message">pain.001</field>
 | 
			
		||||
    <field name="btf_scope">GLB</field>
 | 
			
		||||
  </record>
 | 
			
		||||
    <record id="ebics_ff_FUL_pain_001_001_02_sct" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">2</field>
 | 
			
		||||
        <field name="name">pain.001.001.02.sct</field>
 | 
			
		||||
        <field name="type">up</field>
 | 
			
		||||
        <field name="order_type">FUL</field>
 | 
			
		||||
        <field name="description">Payment Order in format pain.001.001.02</field>
 | 
			
		||||
        <field name="suffix">xml</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
    <record id="ebics_ff_btf_SCT" model="ebics.file.format">
 | 
			
		||||
        <field name="ebics_version">3</field>
 | 
			
		||||
        <field name="type">up</field>
 | 
			
		||||
        <field name="order_type">BTU</field>
 | 
			
		||||
        <field name="description">SEPA credit transfer</field>
 | 
			
		||||
        <field name="suffix">txt</field>
 | 
			
		||||
        <field name="btf_service">SCT</field>
 | 
			
		||||
        <field name="btf_message">pain.001</field>
 | 
			
		||||
        <field name="btf_scope">GLB</field>
 | 
			
		||||
    </record>
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,22 +1,20 @@
 | 
			
		||||
<?xml version='1.0' encoding='utf-8' ?>
 | 
			
		||||
<odoo>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_config_comp_rule" model="ir.rule">
 | 
			
		||||
    <field name="name">EBICS Configuration model company rule</field>
 | 
			
		||||
    <field name="model_id" ref="model_ebics_config" />
 | 
			
		||||
    <field eval="True" name="global" />
 | 
			
		||||
    <field
 | 
			
		||||
    <record id="ebics_config_comp_rule" model="ir.rule">
 | 
			
		||||
        <field name="name">EBICS Configuration model company rule</field>
 | 
			
		||||
        <field name="model_id" ref="model_ebics_config" />
 | 
			
		||||
        <field eval="True" name="global" />
 | 
			
		||||
        <field
 | 
			
		||||
            name="domain_force"
 | 
			
		||||
        >['|', ('company_ids', '=', False), ('company_ids', 'in', user.company_ids.ids)]</field>
 | 
			
		||||
  </record>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_file_comp_rule" model="ir.rule">
 | 
			
		||||
    <field name="name">EBICS File model company rule</field>
 | 
			
		||||
    <field name="model_id" ref="model_ebics_file" />
 | 
			
		||||
    <field eval="True" name="global" />
 | 
			
		||||
    <field
 | 
			
		||||
    <record id="ebics_file_comp_rule" model="ir.rule">
 | 
			
		||||
        <field name="name">EBICS File model company rule</field>
 | 
			
		||||
        <field name="model_id" ref="model_ebics_file" />
 | 
			
		||||
        <field eval="True" name="global" />
 | 
			
		||||
        <field
 | 
			
		||||
            name="domain_force"
 | 
			
		||||
        >['|', ('company_ids', '=', False), ('company_ids', 'in', user.company_ids.ids)]</field>
 | 
			
		||||
  </record>
 | 
			
		||||
 | 
			
		||||
    </record>
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,13 +1,11 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<odoo>
 | 
			
		||||
 | 
			
		||||
    <record model="res.groups" id="group_ebics_manager">
 | 
			
		||||
        <field name="name">EBICS Manager</field>
 | 
			
		||||
        <field name="category_id" ref="base.module_category_hidden" />
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
    <data noupdate="1">
 | 
			
		||||
 | 
			
		||||
        <record id="ebics_config_comp_rule" model="ir.rule">
 | 
			
		||||
            <field name="name">EBICS Configuration model company rule</field>
 | 
			
		||||
            <field name="model_id" ref="model_ebics_config" />
 | 
			
		||||
@@ -34,7 +32,5 @@
 | 
			
		||||
                name="domain_force"
 | 
			
		||||
            >['|', ('company_ids', '=', False), ('company_ids', 'in', user.company_ids.ids)]</field>
 | 
			
		||||
        </record>
 | 
			
		||||
 | 
			
		||||
    </data>
 | 
			
		||||
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<odoo>
 | 
			
		||||
 | 
			
		||||
    <record id="ebics_config_view_list" model="ir.ui.view">
 | 
			
		||||
        <field name="name">ebics.config.list</field>
 | 
			
		||||
        <field name="model">ebics.config</field>
 | 
			
		||||
@@ -97,5 +96,4 @@
 | 
			
		||||
        <field name="view_mode">list,form</field>
 | 
			
		||||
        <field name="context">{'active_test': False}</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<odoo>
 | 
			
		||||
 | 
			
		||||
    <record id="ebics_file_format_view_list" model="ir.ui.view">
 | 
			
		||||
        <field name="name">ebics.file.format.list</field>
 | 
			
		||||
        <field name="model">ebics.file.format</field>
 | 
			
		||||
@@ -70,5 +69,4 @@
 | 
			
		||||
        <field name="res_model">ebics.file.format</field>
 | 
			
		||||
        <field name="view_mode">list,form</field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<odoo>
 | 
			
		||||
 | 
			
		||||
    <record id="ebics_file_view_search" model="ir.ui.view">
 | 
			
		||||
        <field name="name">ebics.file.search</field>
 | 
			
		||||
        <field name="model">ebics.file</field>
 | 
			
		||||
@@ -277,5 +276,4 @@
 | 
			
		||||
        <field name="view_id" ref="ebics_file_view_form_upload" />
 | 
			
		||||
        <field name="act_window_id" ref="ebics_file_action_upload" />
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<odoo>
 | 
			
		||||
 | 
			
		||||
    <record id="ebics_userid_view_list" model="ir.ui.view">
 | 
			
		||||
        <field name="name">ebics.userid.list</field>
 | 
			
		||||
        <field name="model">ebics.userid</field>
 | 
			
		||||
@@ -180,5 +179,4 @@
 | 
			
		||||
            </form>
 | 
			
		||||
        </field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<odoo>
 | 
			
		||||
 | 
			
		||||
    <menuitem
 | 
			
		||||
        id="ebics_processing_menu"
 | 
			
		||||
        name="EBICS Processing"
 | 
			
		||||
@@ -81,5 +80,4 @@
 | 
			
		||||
        groups="account_ebics.group_ebics_manager"
 | 
			
		||||
        sequence="30"
 | 
			
		||||
    />
 | 
			
		||||
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<odoo>
 | 
			
		||||
 | 
			
		||||
    <record id="ebics_admin_order_view_form" model="ir.ui.view">
 | 
			
		||||
        <field name="name">EBICS Administrative Order</field>
 | 
			
		||||
        <field name="model">ebics.admin.order</field>
 | 
			
		||||
@@ -57,5 +56,4 @@
 | 
			
		||||
        <field name="target">new</field>
 | 
			
		||||
        <field name="view_id" ref="ebics_admin_order_view_form" />
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<odoo>
 | 
			
		||||
 | 
			
		||||
    <record id="ebics_change_passphrase_view_form" model="ir.ui.view">
 | 
			
		||||
        <field name="name">EBICS Keys Change Passphrase</field>
 | 
			
		||||
        <field name="model">ebics.change.passphrase</field>
 | 
			
		||||
@@ -57,5 +56,4 @@
 | 
			
		||||
            </form>
 | 
			
		||||
        </field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<odoo>
 | 
			
		||||
 | 
			
		||||
    <record id="ebics_xfer_view_form_download" model="ir.ui.view">
 | 
			
		||||
        <field name="name">EBICS File Download</field>
 | 
			
		||||
        <field name="model">ebics.xfer</field>
 | 
			
		||||
@@ -165,5 +164,4 @@
 | 
			
		||||
        <field name="context">{'ebics_upload': 1}</field>
 | 
			
		||||
        <field name="view_id" ref="ebics_xfer_view_form_upload" />
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@
 | 
			
		||||
    "version": "18.0.1.0.0",
 | 
			
		||||
    "license": "AGPL-3",
 | 
			
		||||
    "author": "Noviat",
 | 
			
		||||
    "website": "https://www.noviat.com",
 | 
			
		||||
    "website": "https://www.noviat.com/",
 | 
			
		||||
    "category": "Accounting & Finance",
 | 
			
		||||
    "summary": "EBICS Files automated import and processing",
 | 
			
		||||
    "depends": ["account_ebics"],
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,5 @@
 | 
			
		||||
<?xml version="1.0" encoding="UTF-8" ?>
 | 
			
		||||
<odoo noupdate="1">
 | 
			
		||||
 | 
			
		||||
    <record id="ir_cron_ebics_batch_import" model="ir.cron">
 | 
			
		||||
        <field name="name">EBICS Batch Import</field>
 | 
			
		||||
        <field name="model_id" ref="model_ebics_batch_log" />
 | 
			
		||||
@@ -11,5 +10,4 @@
 | 
			
		||||
        <field name="interval_type">days</field>
 | 
			
		||||
        <field name="active" eval="False" />
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,48 +1,51 @@
 | 
			
		||||
<?xml version="1.0" ?>
 | 
			
		||||
<odoo>
 | 
			
		||||
    <record id="ebics_batch_log_view_search" model="ir.ui.view">
 | 
			
		||||
        <field name="name">ebics.batch.log.search</field>
 | 
			
		||||
        <field name="model">ebics.batch.log</field>
 | 
			
		||||
        <field name="arch" type="xml">
 | 
			
		||||
            <search string="Search EBICS Batch Import Log Files">
 | 
			
		||||
                <group col="10" colspan="4">
 | 
			
		||||
                    <field name="create_date" />
 | 
			
		||||
                    <field name="state" />
 | 
			
		||||
                </group>
 | 
			
		||||
                <newline />
 | 
			
		||||
                <group expand="0" string="Group By">
 | 
			
		||||
                    <filter
 | 
			
		||||
                        name="group_by_state"
 | 
			
		||||
                        string="State"
 | 
			
		||||
                        context="{'group_by':'state'}"
 | 
			
		||||
                    />
 | 
			
		||||
                </group>
 | 
			
		||||
            </search>
 | 
			
		||||
        </field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_batch_log_view_search" model="ir.ui.view">
 | 
			
		||||
    <field name="name">ebics.batch.log.search</field>
 | 
			
		||||
    <field name="model">ebics.batch.log</field>
 | 
			
		||||
    <field name="arch" type="xml">
 | 
			
		||||
      <search string="Search EBICS Batch Import Log Files">
 | 
			
		||||
        <group col="10" colspan="4">
 | 
			
		||||
          <field name="create_date" />
 | 
			
		||||
          <field name="state" />
 | 
			
		||||
        </group>
 | 
			
		||||
        <newline />
 | 
			
		||||
        <group expand="0" string="Group By">
 | 
			
		||||
          <filter name="group_by_state" string="State" context="{'group_by':'state'}" />
 | 
			
		||||
        </group>
 | 
			
		||||
      </search>
 | 
			
		||||
    </field>
 | 
			
		||||
  </record>
 | 
			
		||||
    <record id="ebics_batch_log_view_list" model="ir.ui.view">
 | 
			
		||||
        <field name="name">ebics.batch.log.list</field>
 | 
			
		||||
        <field name="model">ebics.batch.log</field>
 | 
			
		||||
        <field name="arch" type="xml">
 | 
			
		||||
            <list create="false">
 | 
			
		||||
                <field name="create_date" />
 | 
			
		||||
                <field name="file_count" />
 | 
			
		||||
                <field name="state" />
 | 
			
		||||
            </list>
 | 
			
		||||
        </field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_batch_log_view_list" model="ir.ui.view">
 | 
			
		||||
    <field name="name">ebics.batch.log.list</field>
 | 
			
		||||
    <field name="model">ebics.batch.log</field>
 | 
			
		||||
    <field name="arch" type="xml">
 | 
			
		||||
      <list create="false">
 | 
			
		||||
        <field name="create_date" />
 | 
			
		||||
        <field name="file_count" />
 | 
			
		||||
        <field name="state" />
 | 
			
		||||
      </list>
 | 
			
		||||
    </field>
 | 
			
		||||
  </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_batch_log_view_form" model="ir.ui.view">
 | 
			
		||||
    <field name="name">ebics.batch.log.form</field>
 | 
			
		||||
    <field name="model">ebics.batch.log</field>
 | 
			
		||||
    <field name="arch" type="xml">
 | 
			
		||||
      <form string="EBICS Batch Import Log" create="false">
 | 
			
		||||
        <header>
 | 
			
		||||
          <button
 | 
			
		||||
    <record id="ebics_batch_log_view_form" model="ir.ui.view">
 | 
			
		||||
        <field name="name">ebics.batch.log.form</field>
 | 
			
		||||
        <field name="model">ebics.batch.log</field>
 | 
			
		||||
        <field name="arch" type="xml">
 | 
			
		||||
            <form string="EBICS Batch Import Log" create="false">
 | 
			
		||||
                <header>
 | 
			
		||||
                    <button
 | 
			
		||||
                        name="button_draft"
 | 
			
		||||
                        invisible="state not in ('done', 'error')"
 | 
			
		||||
                        string="Set to Draft"
 | 
			
		||||
                        type="object"
 | 
			
		||||
                    />
 | 
			
		||||
          <button
 | 
			
		||||
                    <button
 | 
			
		||||
                        name="reprocess"
 | 
			
		||||
                        string="Reprocess"
 | 
			
		||||
                        help="Reprocess 'draft' EBICS Files"
 | 
			
		||||
@@ -50,68 +53,76 @@
 | 
			
		||||
                        class="oe_highlight"
 | 
			
		||||
                        invisible="state, '=', 'done' or not has_draft_files"
 | 
			
		||||
                    />
 | 
			
		||||
          <button
 | 
			
		||||
                    <button
 | 
			
		||||
                        name="button_done"
 | 
			
		||||
                        invisible="state not in ('done', 'error')"
 | 
			
		||||
                        string="Mark Done"
 | 
			
		||||
                        type="object"
 | 
			
		||||
                    />
 | 
			
		||||
          <field
 | 
			
		||||
                    <field
 | 
			
		||||
                        name="state"
 | 
			
		||||
                        widget="statusbar"
 | 
			
		||||
                        statusbar_visible="draft,done"
 | 
			
		||||
                        statusbar_colors="{'error':'red'}"
 | 
			
		||||
                    />
 | 
			
		||||
        </header>
 | 
			
		||||
        <sheet>
 | 
			
		||||
          <div class="oe_button_box" name="button_box">
 | 
			
		||||
            <button
 | 
			
		||||
                </header>
 | 
			
		||||
                <sheet>
 | 
			
		||||
                    <div class="oe_button_box" name="button_box">
 | 
			
		||||
                        <button
 | 
			
		||||
                            name="view_ebics_files"
 | 
			
		||||
                            type="object"
 | 
			
		||||
                            class="oe_stat_button"
 | 
			
		||||
                            icon="fa-pencil-square-o"
 | 
			
		||||
                            invisible="file_count == 0"
 | 
			
		||||
                        >
 | 
			
		||||
                   <field name="file_count" widget="statinfo" string="EBICS Files" />
 | 
			
		||||
            </button>
 | 
			
		||||
          </div>
 | 
			
		||||
          <group colspan="4" col="4">
 | 
			
		||||
            <field name="create_date" />
 | 
			
		||||
            <field name="ebics_config_ids" widget="many2many_tags" />
 | 
			
		||||
          </group>
 | 
			
		||||
          <notebook colspan="4">
 | 
			
		||||
            <page string="Batch Import Logs">
 | 
			
		||||
              <field name="log_ids" nolabel="1">
 | 
			
		||||
                <list>
 | 
			
		||||
                  <field name="create_date" />
 | 
			
		||||
                  <field name="state" />
 | 
			
		||||
                  <field name="error_count" />
 | 
			
		||||
                </list>
 | 
			
		||||
                <form string="Batch Import Log">
 | 
			
		||||
                  <group colspan="4" col="6">
 | 
			
		||||
                    <field name="create_date" />
 | 
			
		||||
                    <field name="error_count" />
 | 
			
		||||
                  </group>
 | 
			
		||||
                  <group invisible="not note">
 | 
			
		||||
                    <separator colspan="4" />
 | 
			
		||||
                    <field name="note" nolabel="1" colspan="4" height="360" />
 | 
			
		||||
                  </group>
 | 
			
		||||
                </form>
 | 
			
		||||
              </field>
 | 
			
		||||
            </page>
 | 
			
		||||
          </notebook>
 | 
			
		||||
        </sheet>
 | 
			
		||||
      </form>
 | 
			
		||||
    </field>
 | 
			
		||||
  </record>
 | 
			
		||||
 | 
			
		||||
  <record id="ebics_batch_log_action" model="ir.actions.act_window">
 | 
			
		||||
    <field name="name">EBICS Batch Import Logs</field>
 | 
			
		||||
    <field name="type">ir.actions.act_window</field>
 | 
			
		||||
    <field name="res_model">ebics.batch.log</field>
 | 
			
		||||
    <field name="view_mode">list,form</field>
 | 
			
		||||
    <field name="view_id" ref="ebics_batch_log_view_list" />
 | 
			
		||||
    <field name="search_view_id" ref="ebics_batch_log_view_search" />
 | 
			
		||||
  </record>
 | 
			
		||||
                            <field
 | 
			
		||||
                                name="file_count"
 | 
			
		||||
                                widget="statinfo"
 | 
			
		||||
                                string="EBICS Files"
 | 
			
		||||
                            />
 | 
			
		||||
                        </button>
 | 
			
		||||
                    </div>
 | 
			
		||||
                    <group colspan="4" col="4">
 | 
			
		||||
                        <field name="create_date" />
 | 
			
		||||
                        <field name="ebics_config_ids" widget="many2many_tags" />
 | 
			
		||||
                    </group>
 | 
			
		||||
                    <notebook colspan="4">
 | 
			
		||||
                        <page string="Batch Import Logs">
 | 
			
		||||
                            <field name="log_ids" nolabel="1">
 | 
			
		||||
                                <list>
 | 
			
		||||
                                    <field name="create_date" />
 | 
			
		||||
                                    <field name="state" />
 | 
			
		||||
                                    <field name="error_count" />
 | 
			
		||||
                                </list>
 | 
			
		||||
                                <form string="Batch Import Log">
 | 
			
		||||
                                    <group colspan="4" col="6">
 | 
			
		||||
                                        <field name="create_date" />
 | 
			
		||||
                                        <field name="error_count" />
 | 
			
		||||
                                    </group>
 | 
			
		||||
                                    <group invisible="not note">
 | 
			
		||||
                                        <separator colspan="4" />
 | 
			
		||||
                                        <field
 | 
			
		||||
                                            name="note"
 | 
			
		||||
                                            nolabel="1"
 | 
			
		||||
                                            colspan="4"
 | 
			
		||||
                                            height="360"
 | 
			
		||||
                                        />
 | 
			
		||||
                                    </group>
 | 
			
		||||
                                </form>
 | 
			
		||||
                            </field>
 | 
			
		||||
                        </page>
 | 
			
		||||
                    </notebook>
 | 
			
		||||
                </sheet>
 | 
			
		||||
            </form>
 | 
			
		||||
        </field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
    <record id="ebics_batch_log_action" model="ir.actions.act_window">
 | 
			
		||||
        <field name="name">EBICS Batch Import Logs</field>
 | 
			
		||||
        <field name="type">ir.actions.act_window</field>
 | 
			
		||||
        <field name="res_model">ebics.batch.log</field>
 | 
			
		||||
        <field name="view_mode">list,form</field>
 | 
			
		||||
        <field name="view_id" ref="ebics_batch_log_view_list" />
 | 
			
		||||
        <field name="search_view_id" ref="ebics_batch_log_view_search" />
 | 
			
		||||
    </record>
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,12 +1,10 @@
 | 
			
		||||
<?xml version="1.0" ?>
 | 
			
		||||
<odoo>
 | 
			
		||||
 | 
			
		||||
  <menuitem
 | 
			
		||||
    <menuitem
 | 
			
		||||
        id="ebics_batch_log_menu"
 | 
			
		||||
        name="EBICS Batch Import Logs"
 | 
			
		||||
        parent="account_ebics.ebics_processing_menu"
 | 
			
		||||
        action="ebics_batch_log_action"
 | 
			
		||||
        sequence="100"
 | 
			
		||||
    />
 | 
			
		||||
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@
 | 
			
		||||
    "version": "18.0.1.0.0",
 | 
			
		||||
    "license": "LGPL-3",
 | 
			
		||||
    "author": "Noviat",
 | 
			
		||||
    "website": "https://www.noviat.com",
 | 
			
		||||
    "website": "https://www.noviat.com/",
 | 
			
		||||
    "category": "Accounting & Finance",
 | 
			
		||||
    "depends": ["account_ebics", "account_batch_payment"],
 | 
			
		||||
    "data": ["views/account_batch_payment_views.xml"],
 | 
			
		||||
 
 | 
			
		||||
@@ -1,20 +1,18 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<odoo>
 | 
			
		||||
 | 
			
		||||
    <record id="view_batch_payment_form" model="ir.ui.view">
 | 
			
		||||
      <field name="name">account.batch.payment.form</field>
 | 
			
		||||
      <field name="model">account.batch.payment</field>
 | 
			
		||||
      <field name="inherit_id" ref="account_batch_payment.view_batch_payment_form" />
 | 
			
		||||
      <field name="arch" type="xml">
 | 
			
		||||
        <button name="validate_batch_button" position="after">
 | 
			
		||||
          <button
 | 
			
		||||
        <field name="name">account.batch.payment.form</field>
 | 
			
		||||
        <field name="model">account.batch.payment</field>
 | 
			
		||||
        <field name="inherit_id" ref="account_batch_payment.view_batch_payment_form" />
 | 
			
		||||
        <field name="arch" type="xml">
 | 
			
		||||
            <button name="validate_batch_button" position="after">
 | 
			
		||||
                <button
 | 
			
		||||
                    name="ebics_upload"
 | 
			
		||||
                    type="object"
 | 
			
		||||
                    invisible="not file_generation_enabled or state != 'sent'"
 | 
			
		||||
                    string="EBICS Upload"
 | 
			
		||||
                />
 | 
			
		||||
        </button>
 | 
			
		||||
      </field>
 | 
			
		||||
            </button>
 | 
			
		||||
        </field>
 | 
			
		||||
    </record>
 | 
			
		||||
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
@@ -6,7 +6,7 @@
 | 
			
		||||
    "summary": "Deploy account_ebics module on Odoo Enterprise",
 | 
			
		||||
    "version": "18.0.1.0.0",
 | 
			
		||||
    "author": "Noviat",
 | 
			
		||||
    "website": "https://www.noviat.com",
 | 
			
		||||
    "website": "https://www.noviat.com/",
 | 
			
		||||
    "category": "Hidden",
 | 
			
		||||
    "license": "LGPL-3",
 | 
			
		||||
    "depends": [
 | 
			
		||||
 
 | 
			
		||||
@@ -1,8 +1,6 @@
 | 
			
		||||
<?xml version="1.0" encoding="utf-8" ?>
 | 
			
		||||
<odoo>
 | 
			
		||||
 | 
			
		||||
  <record id="account_ebics.ebics_processing_menu" model="ir.ui.menu">
 | 
			
		||||
    <field name="parent_id" eval="ref('accountant.menu_accounting')" />
 | 
			
		||||
  </record>
 | 
			
		||||
 | 
			
		||||
    <record id="account_ebics.ebics_processing_menu" model="ir.ui.menu">
 | 
			
		||||
        <field name="parent_id" eval="ref('accountant.menu_accounting')" />
 | 
			
		||||
    </record>
 | 
			
		||||
</odoo>
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										202
									
								
								eslint.config.cjs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										202
									
								
								eslint.config.cjs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,202 @@
 | 
			
		||||
jsdoc = require("eslint-plugin-jsdoc");
 | 
			
		||||
 | 
			
		||||
const config = [{
 | 
			
		||||
    plugins: {
 | 
			
		||||
      jsdoc,
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    languageOptions: {
 | 
			
		||||
        globals: {
 | 
			
		||||
            _: "readonly",
 | 
			
		||||
            $: "readonly",
 | 
			
		||||
            fuzzy: "readonly",
 | 
			
		||||
            jQuery: "readonly",
 | 
			
		||||
            moment: "readonly",
 | 
			
		||||
            odoo: "readonly",
 | 
			
		||||
            openerp: "readonly",
 | 
			
		||||
            owl: "readonly",
 | 
			
		||||
            luxon: "readonly",
 | 
			
		||||
        },
 | 
			
		||||
 | 
			
		||||
        ecmaVersion: 2024,
 | 
			
		||||
        sourceType: "script",
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    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",
 | 
			
		||||
 | 
			
		||||
        "jsdoc/check-tag-names": "warn",
 | 
			
		||||
        "jsdoc/check-types": "warn",
 | 
			
		||||
        "jsdoc/require-param-description": "off",
 | 
			
		||||
        "jsdoc/require-return": "off",
 | 
			
		||||
        "jsdoc/require-return-description": "off",
 | 
			
		||||
        "jsdoc/require-return-type": "off",
 | 
			
		||||
 | 
			
		||||
        "valid-typeof": "warn",
 | 
			
		||||
        yoda: "warn",
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    settings: {
 | 
			
		||||
        jsdoc: {
 | 
			
		||||
            tagNamePreference: {
 | 
			
		||||
                arg: "param",
 | 
			
		||||
                argument: "param",
 | 
			
		||||
                augments: "extends",
 | 
			
		||||
                constructor: "class",
 | 
			
		||||
                exception: "throws",
 | 
			
		||||
                func: "function",
 | 
			
		||||
                method: "function",
 | 
			
		||||
                prop: "property",
 | 
			
		||||
                return: "returns",
 | 
			
		||||
                virtual: "abstract",
 | 
			
		||||
                yield: "yields",
 | 
			
		||||
            },
 | 
			
		||||
            preferredTypes: {
 | 
			
		||||
                array: "Array",
 | 
			
		||||
                bool: "Boolean",
 | 
			
		||||
                boolean: "Boolean",
 | 
			
		||||
                number: "Number",
 | 
			
		||||
                object: "Object",
 | 
			
		||||
                str: "String",
 | 
			
		||||
                string: "String",
 | 
			
		||||
            },
 | 
			
		||||
        },
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
}, {
 | 
			
		||||
    files: ["**/*.esm.js"],
 | 
			
		||||
 | 
			
		||||
    languageOptions: {
 | 
			
		||||
        ecmaVersion: 2024,
 | 
			
		||||
        sourceType: "module",
 | 
			
		||||
    },
 | 
			
		||||
}];
 | 
			
		||||
 | 
			
		||||
module.exports = config
 | 
			
		||||
							
								
								
									
										14
									
								
								prettier.config.cjs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								prettier.config.cjs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,14 @@
 | 
			
		||||
/** @type {import('prettier').Config} */
 | 
			
		||||
 | 
			
		||||
const config = {
 | 
			
		||||
  // https://github.com/prettier/prettier/issues/15388#issuecomment-1717746872
 | 
			
		||||
  plugins: [require.resolve("@prettier/plugin-xml")],
 | 
			
		||||
  bracketSpacing: false,
 | 
			
		||||
  printWidth: 88,
 | 
			
		||||
  proseWrap: "always",
 | 
			
		||||
  semi: true,
 | 
			
		||||
  trailingComma: "es5",
 | 
			
		||||
  xmlWhitespaceSensitivity: "preserve",
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
module.exports = config;
 | 
			
		||||
@@ -1,3 +1,3 @@
 | 
			
		||||
# odoo-addon-module_change_auto_install
 | 
			
		||||
odoo-addon-module_change_auto_install
 | 
			
		||||
openupgradelib
 | 
			
		||||
cryptography<37
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user