From e91d96f9b8911eede91050dae4de2b4b55e96f1d Mon Sep 17 00:00:00 2001 From: Flectra Community Bot Date: Sun, 25 Jul 2021 02:11:46 +0000 Subject: [PATCH] Automatic Update form OCA2FC Migrator --- .gitlab-ci.yml | 1947 +++++++++-------- README.md | 63 +- partner_company_type/i18n/fr.po | 25 +- partner_deduplicate_acl/COPYRIGHT | 22 + partner_deduplicate_acl/LICENSE | 663 ++++++ partner_deduplicate_acl/README.rst | 120 + partner_deduplicate_acl/__init__.py | 3 + partner_deduplicate_acl/__manifest__.py | 25 + partner_deduplicate_acl/i18n/de.po | 51 + partner_deduplicate_acl/i18n/es.po | 51 + partner_deduplicate_acl/i18n/hr.po | 51 + partner_deduplicate_acl/i18n/it.po | 50 + partner_deduplicate_acl/i18n/nl_NL.po | 51 + .../i18n/partner_deduplicate_acl.pot | 60 + partner_deduplicate_acl/i18n/pt_BR.po | 53 + partner_deduplicate_acl/i18n/sk.po | 50 + partner_deduplicate_acl/i18n/sl.po | 51 + partner_deduplicate_acl/i18n/tr.po | 50 + partner_deduplicate_acl/i18n/zh_CN.po | 51 + partner_deduplicate_acl/images/perms.png | Bin 0 -> 76295 bytes .../security/ir.model.access.csv | 6 + .../partner_deduplicate_acl_security.xml | 29 + .../static/description/icon.png | Bin 0 -> 10562 bytes .../static/description/icon.svg | 101 + .../static/description/index.html | 476 ++++ partner_deduplicate_acl/tests/__init__.py | 3 + .../tests/test_partner_deduplicate_acl.py | 46 + .../views/base_partner_merge_view.xml | 20 + partner_deduplicate_acl/wizards/__init__.py | 3 + .../wizards/partner_merge.py | 20 + .../wizards/partner_merge_view.xml | 37 + partner_industry_secondary/COPYRIGHT | 1 + 32 files changed, 3180 insertions(+), 999 deletions(-) create mode 100644 partner_deduplicate_acl/COPYRIGHT create mode 100644 partner_deduplicate_acl/LICENSE create mode 100644 partner_deduplicate_acl/README.rst create mode 100644 partner_deduplicate_acl/__init__.py create mode 100644 partner_deduplicate_acl/__manifest__.py create mode 100644 partner_deduplicate_acl/i18n/de.po create mode 100644 partner_deduplicate_acl/i18n/es.po create mode 100644 partner_deduplicate_acl/i18n/hr.po create mode 100644 partner_deduplicate_acl/i18n/it.po create mode 100644 partner_deduplicate_acl/i18n/nl_NL.po create mode 100644 partner_deduplicate_acl/i18n/partner_deduplicate_acl.pot create mode 100644 partner_deduplicate_acl/i18n/pt_BR.po create mode 100644 partner_deduplicate_acl/i18n/sk.po create mode 100644 partner_deduplicate_acl/i18n/sl.po create mode 100644 partner_deduplicate_acl/i18n/tr.po create mode 100644 partner_deduplicate_acl/i18n/zh_CN.po create mode 100644 partner_deduplicate_acl/images/perms.png create mode 100644 partner_deduplicate_acl/security/ir.model.access.csv create mode 100644 partner_deduplicate_acl/security/partner_deduplicate_acl_security.xml create mode 100644 partner_deduplicate_acl/static/description/icon.png create mode 100644 partner_deduplicate_acl/static/description/icon.svg create mode 100644 partner_deduplicate_acl/static/description/index.html create mode 100644 partner_deduplicate_acl/tests/__init__.py create mode 100644 partner_deduplicate_acl/tests/test_partner_deduplicate_acl.py create mode 100644 partner_deduplicate_acl/views/base_partner_merge_view.xml create mode 100644 partner_deduplicate_acl/wizards/__init__.py create mode 100644 partner_deduplicate_acl/wizards/partner_merge.py create mode 100644 partner_deduplicate_acl/wizards/partner_merge_view.xml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 54464d2..d17d61a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -45,220 +45,51 @@ test_all_modules: --db_password flectra --database test_all --test-enable - --init partner_address_version,partner_firstname,partner_contact_job_position,partner_fax,partner_employee_quantity,partner_tz,base_location_nuts,partner_contact_age_range,partner_second_lastname,partner_contact_department,partner_contact_nationality,partner_phone_secondary,partner_affiliate,partner_tier_validation,partner_phone_extension,partner_priority,partner_ref_unique,animal,partner_industry_secondary,partner_helper,base_partner_sequence,partner_multi_relation,partner_iterative_archive,partner_address_street3,partner_company_type,portal_partner_select_all,base_location_geonames_import,partner_contact_birthdate,partner_identification,partner_vat_unique,partner_contact_access_link,partner_contact_personal_information_page,partner_contact_gender,partner_contact_lang,base_location,partner_contact_in_several_companies,partner_company_group,base_country_state_translatable + --init partner_tz,partner_contact_nationality,portal_partner_select_all,base_location_geonames_import,base_location_nuts,partner_industry_secondary,partner_contact_gender,animal,partner_priority,base_location,partner_phone_secondary,partner_contact_lang,partner_firstname,partner_contact_job_position,partner_phone_extension,partner_contact_department,partner_affiliate,partner_ref_unique,base_country_state_translatable,partner_company_group,partner_address_street3,partner_company_type,partner_vat_unique,partner_contact_personal_information_page,partner_second_lastname,partner_employee_quantity,partner_contact_in_several_companies,partner_contact_birthdate,partner_tier_validation,partner_helper,partner_fax,partner_contact_access_link,partner_deduplicate_acl,partner_multi_relation,partner_identification,partner_address_version,base_partner_sequence,partner_iterative_archive,partner_contact_age_range --stop-after-init --log-level error - --log-handler flectra.addons.partner_address_version:TEST - --log-handler flectra.addons.partner_firstname:TEST - --log-handler flectra.addons.partner_contact_job_position:TEST - --log-handler flectra.addons.partner_fax:TEST - --log-handler flectra.addons.partner_employee_quantity:TEST --log-handler flectra.addons.partner_tz:TEST - --log-handler flectra.addons.base_location_nuts:TEST - --log-handler flectra.addons.partner_contact_age_range:TEST - --log-handler flectra.addons.partner_second_lastname:TEST - --log-handler flectra.addons.partner_contact_department:TEST --log-handler flectra.addons.partner_contact_nationality:TEST - --log-handler flectra.addons.partner_phone_secondary:TEST - --log-handler flectra.addons.partner_affiliate:TEST - --log-handler flectra.addons.partner_tier_validation:TEST - --log-handler flectra.addons.partner_phone_extension:TEST - --log-handler flectra.addons.partner_priority:TEST - --log-handler flectra.addons.partner_ref_unique:TEST - --log-handler flectra.addons.animal:TEST - --log-handler flectra.addons.partner_industry_secondary:TEST - --log-handler flectra.addons.partner_helper:TEST - --log-handler flectra.addons.base_partner_sequence:TEST - --log-handler flectra.addons.partner_multi_relation:TEST - --log-handler flectra.addons.partner_iterative_archive:TEST - --log-handler flectra.addons.partner_address_street3:TEST - --log-handler flectra.addons.partner_company_type:TEST --log-handler flectra.addons.portal_partner_select_all:TEST --log-handler flectra.addons.base_location_geonames_import:TEST - --log-handler flectra.addons.partner_contact_birthdate:TEST - --log-handler flectra.addons.partner_identification:TEST - --log-handler flectra.addons.partner_vat_unique:TEST - --log-handler flectra.addons.partner_contact_access_link:TEST - --log-handler flectra.addons.partner_contact_personal_information_page:TEST + --log-handler flectra.addons.base_location_nuts:TEST + --log-handler flectra.addons.partner_industry_secondary:TEST --log-handler flectra.addons.partner_contact_gender:TEST - --log-handler flectra.addons.partner_contact_lang:TEST + --log-handler flectra.addons.animal:TEST + --log-handler flectra.addons.partner_priority:TEST --log-handler flectra.addons.base_location:TEST - --log-handler flectra.addons.partner_contact_in_several_companies:TEST - --log-handler flectra.addons.partner_company_group:TEST + --log-handler flectra.addons.partner_phone_secondary:TEST + --log-handler flectra.addons.partner_contact_lang:TEST + --log-handler flectra.addons.partner_firstname:TEST + --log-handler flectra.addons.partner_contact_job_position:TEST + --log-handler flectra.addons.partner_phone_extension:TEST + --log-handler flectra.addons.partner_contact_department:TEST + --log-handler flectra.addons.partner_affiliate:TEST + --log-handler flectra.addons.partner_ref_unique:TEST --log-handler flectra.addons.base_country_state_translatable:TEST + --log-handler flectra.addons.partner_company_group:TEST + --log-handler flectra.addons.partner_address_street3:TEST + --log-handler flectra.addons.partner_company_type:TEST + --log-handler flectra.addons.partner_vat_unique:TEST + --log-handler flectra.addons.partner_contact_personal_information_page:TEST + --log-handler flectra.addons.partner_second_lastname:TEST + --log-handler flectra.addons.partner_employee_quantity:TEST + --log-handler flectra.addons.partner_contact_in_several_companies:TEST + --log-handler flectra.addons.partner_contact_birthdate:TEST + --log-handler flectra.addons.partner_tier_validation:TEST + --log-handler flectra.addons.partner_helper:TEST + --log-handler flectra.addons.partner_fax:TEST + --log-handler flectra.addons.partner_contact_access_link:TEST + --log-handler flectra.addons.partner_deduplicate_acl:TEST + --log-handler flectra.addons.partner_multi_relation:TEST + --log-handler flectra.addons.partner_identification:TEST + --log-handler flectra.addons.partner_address_version:TEST + --log-handler flectra.addons.base_partner_sequence:TEST + --log-handler flectra.addons.partner_iterative_archive:TEST + --log-handler flectra.addons.partner_contact_age_range:TEST " -test_module_partner_address_version: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_address_version - - psql -h psql -U flectra -d test_partner_address_version -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_address_version - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_address_version - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_address_version - --test-enable -i partner_address_version - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_address_version:TEST" - -test_module_partner_firstname: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_firstname - - psql -h psql -U flectra -d test_partner_firstname -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_firstname - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_firstname - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_firstname - --test-enable -i partner_firstname - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_firstname:TEST" - -test_module_partner_contact_job_position: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_job_position - - psql -h psql -U flectra -d test_partner_contact_job_position -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_job_position - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_job_position - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_contact_job_position - --test-enable -i partner_contact_job_position - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_contact_job_position:TEST" - -test_module_partner_fax: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_fax - - psql -h psql -U flectra -d test_partner_fax -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_fax - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_fax - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_fax - --test-enable -i partner_fax - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_fax:TEST" - -test_module_partner_employee_quantity: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_employee_quantity - - psql -h psql -U flectra -d test_partner_employee_quantity -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_employee_quantity - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_employee_quantity - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_employee_quantity - --test-enable -i partner_employee_quantity - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_employee_quantity:TEST" - test_module_partner_tz: stage: testsingle when: on_failure @@ -293,142 +124,6 @@ test_module_partner_tz: --log-level error --log-handler flectra.addons.partner_tz:TEST" -test_module_base_location_nuts: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_base_location_nuts - - psql -h psql -U flectra -d test_base_location_nuts -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_base_location_nuts - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_base_location_nuts - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_base_location_nuts - --test-enable -i base_location_nuts - --stop-after-init - --log-level error - --log-handler flectra.addons.base_location_nuts:TEST" - -test_module_partner_contact_age_range: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_age_range - - psql -h psql -U flectra -d test_partner_contact_age_range -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_age_range - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_age_range - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_contact_age_range - --test-enable -i partner_contact_age_range - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_contact_age_range:TEST" - -test_module_partner_second_lastname: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_second_lastname - - psql -h psql -U flectra -d test_partner_second_lastname -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_second_lastname - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_second_lastname - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_second_lastname - --test-enable -i partner_second_lastname - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_second_lastname:TEST" - -test_module_partner_contact_department: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_department - - psql -h psql -U flectra -d test_partner_contact_department -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_department - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_department - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_contact_department - --test-enable -i partner_contact_department - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_contact_department:TEST" - test_module_partner_contact_nationality: stage: testsingle when: on_failure @@ -463,482 +158,6 @@ test_module_partner_contact_nationality: --log-level error --log-handler flectra.addons.partner_contact_nationality:TEST" -test_module_partner_phone_secondary: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_phone_secondary - - psql -h psql -U flectra -d test_partner_phone_secondary -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_phone_secondary - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_phone_secondary - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_phone_secondary - --test-enable -i partner_phone_secondary - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_phone_secondary:TEST" - -test_module_partner_affiliate: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_affiliate - - psql -h psql -U flectra -d test_partner_affiliate -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_affiliate - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_affiliate - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_affiliate - --test-enable -i partner_affiliate - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_affiliate:TEST" - -test_module_partner_tier_validation: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_tier_validation - - psql -h psql -U flectra -d test_partner_tier_validation -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_tier_validation - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_tier_validation - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_tier_validation - --test-enable -i partner_tier_validation - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_tier_validation:TEST" - -test_module_partner_phone_extension: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_phone_extension - - psql -h psql -U flectra -d test_partner_phone_extension -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_phone_extension - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_phone_extension - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_phone_extension - --test-enable -i partner_phone_extension - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_phone_extension:TEST" - -test_module_partner_priority: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_priority - - psql -h psql -U flectra -d test_partner_priority -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_priority - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_priority - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_priority - --test-enable -i partner_priority - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_priority:TEST" - -test_module_partner_ref_unique: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_ref_unique - - psql -h psql -U flectra -d test_partner_ref_unique -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_ref_unique - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_ref_unique - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_ref_unique - --test-enable -i partner_ref_unique - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_ref_unique:TEST" - -test_module_animal: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_animal - - psql -h psql -U flectra -d test_animal -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_animal - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_animal - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_animal - --test-enable -i animal - --stop-after-init - --log-level error - --log-handler flectra.addons.animal:TEST" - -test_module_partner_industry_secondary: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_industry_secondary - - psql -h psql -U flectra -d test_partner_industry_secondary -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_industry_secondary - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_industry_secondary - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_industry_secondary - --test-enable -i partner_industry_secondary - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_industry_secondary:TEST" - -test_module_partner_helper: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_helper - - psql -h psql -U flectra -d test_partner_helper -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_helper - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_helper - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_helper - --test-enable -i partner_helper - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_helper:TEST" - -test_module_base_partner_sequence: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_base_partner_sequence - - psql -h psql -U flectra -d test_base_partner_sequence -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_base_partner_sequence - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_base_partner_sequence - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_base_partner_sequence - --test-enable -i base_partner_sequence - --stop-after-init - --log-level error - --log-handler flectra.addons.base_partner_sequence:TEST" - -test_module_partner_multi_relation: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_multi_relation - - psql -h psql -U flectra -d test_partner_multi_relation -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_multi_relation - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_multi_relation - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_multi_relation - --test-enable -i partner_multi_relation - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_multi_relation:TEST" - -test_module_partner_iterative_archive: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_iterative_archive - - psql -h psql -U flectra -d test_partner_iterative_archive -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_iterative_archive - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_iterative_archive - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_iterative_archive - --test-enable -i partner_iterative_archive - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_iterative_archive:TEST" - -test_module_partner_address_street3: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_address_street3 - - psql -h psql -U flectra -d test_partner_address_street3 -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_address_street3 - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_address_street3 - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_address_street3 - --test-enable -i partner_address_street3 - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_address_street3:TEST" - -test_module_partner_company_type: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_company_type - - psql -h psql -U flectra -d test_partner_company_type -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_company_type - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_company_type - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_company_type - --test-enable -i partner_company_type - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_company_type:TEST" - test_module_portal_partner_select_all: stage: testsingle when: on_failure @@ -1007,7 +226,7 @@ test_module_base_location_geonames_import: --log-level error --log-handler flectra.addons.base_location_geonames_import:TEST" -test_module_partner_contact_birthdate: +test_module_base_location_nuts: stage: testsingle when: on_failure image: @@ -1024,24 +243,24 @@ test_module_partner_contact_birthdate: - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_birthdate - - psql -h psql -U flectra -d test_partner_contact_birthdate -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - createdb -h psql -U flectra -O flectra -T template1 test_base_location_nuts + - psql -h psql -U flectra -d test_base_location_nuts -f ${CI_PROJECT_DIR}/ci_data/dump.sql - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_birthdate - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_birthdate + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_base_location_nuts + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_base_location_nuts - su - flectra -c "/opt/flectra/flectra-bin --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux --db_host psql --db_port 5432 --db_user flectra --db_password flectra - --database test_partner_contact_birthdate - --test-enable -i partner_contact_birthdate + --database test_base_location_nuts + --test-enable -i base_location_nuts --stop-after-init --log-level error - --log-handler flectra.addons.partner_contact_birthdate:TEST" + --log-handler flectra.addons.base_location_nuts:TEST" -test_module_partner_identification: +test_module_partner_industry_secondary: stage: testsingle when: on_failure image: @@ -1058,124 +277,22 @@ test_module_partner_identification: - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_identification - - psql -h psql -U flectra -d test_partner_identification -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - createdb -h psql -U flectra -O flectra -T template1 test_partner_industry_secondary + - psql -h psql -U flectra -d test_partner_industry_secondary -f ${CI_PROJECT_DIR}/ci_data/dump.sql - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_identification - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_identification + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_industry_secondary + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_industry_secondary - su - flectra -c "/opt/flectra/flectra-bin --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux --db_host psql --db_port 5432 --db_user flectra --db_password flectra - --database test_partner_identification - --test-enable -i partner_identification + --database test_partner_industry_secondary + --test-enable -i partner_industry_secondary --stop-after-init --log-level error - --log-handler flectra.addons.partner_identification:TEST" - -test_module_partner_vat_unique: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_vat_unique - - psql -h psql -U flectra -d test_partner_vat_unique -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_vat_unique - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_vat_unique - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_vat_unique - --test-enable -i partner_vat_unique - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_vat_unique:TEST" - -test_module_partner_contact_access_link: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_access_link - - psql -h psql -U flectra -d test_partner_contact_access_link -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_access_link - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_access_link - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_contact_access_link - --test-enable -i partner_contact_access_link - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_contact_access_link:TEST" - -test_module_partner_contact_personal_information_page: - stage: testsingle - when: on_failure - image: - name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest - entrypoint: ["/bin/sh", "-c"] - script: - - apt-get install -y p7zip-full - - apt install -y expect-dev - - su - flectra -c "mkdir ~/others" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" - - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" - - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 - - mkdir ${CI_PROJECT_DIR}/ci_data - - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_personal_information_page - - psql -h psql -U flectra -d test_partner_contact_personal_information_page -f ${CI_PROJECT_DIR}/ci_data/dump.sql - - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_personal_information_page - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_personal_information_page - - su - flectra -c "/opt/flectra/flectra-bin - --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux - --db_host psql - --db_port 5432 - --db_user flectra - --db_password flectra - --database test_partner_contact_personal_information_page - --test-enable -i partner_contact_personal_information_page - --stop-after-init - --log-level error - --log-handler flectra.addons.partner_contact_personal_information_page:TEST" + --log-handler flectra.addons.partner_industry_secondary:TEST" test_module_partner_contact_gender: stage: testsingle @@ -1211,7 +328,7 @@ test_module_partner_contact_gender: --log-level error --log-handler flectra.addons.partner_contact_gender:TEST" -test_module_partner_contact_lang: +test_module_animal: stage: testsingle when: on_failure image: @@ -1228,22 +345,56 @@ test_module_partner_contact_lang: - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_lang - - psql -h psql -U flectra -d test_partner_contact_lang -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - createdb -h psql -U flectra -O flectra -T template1 test_animal + - psql -h psql -U flectra -d test_animal -f ${CI_PROJECT_DIR}/ci_data/dump.sql - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_lang - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_lang + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_animal + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_animal - su - flectra -c "/opt/flectra/flectra-bin --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux --db_host psql --db_port 5432 --db_user flectra --db_password flectra - --database test_partner_contact_lang - --test-enable -i partner_contact_lang + --database test_animal + --test-enable -i animal --stop-after-init --log-level error - --log-handler flectra.addons.partner_contact_lang:TEST" + --log-handler flectra.addons.animal:TEST" + +test_module_partner_priority: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_priority + - psql -h psql -U flectra -d test_partner_priority -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_priority + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_priority + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_priority + --test-enable -i partner_priority + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_priority:TEST" test_module_base_location: stage: testsingle @@ -1279,7 +430,7 @@ test_module_base_location: --log-level error --log-handler flectra.addons.base_location:TEST" -test_module_partner_contact_in_several_companies: +test_module_partner_phone_secondary: stage: testsingle when: on_failure image: @@ -1296,24 +447,24 @@ test_module_partner_contact_in_several_companies: - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_in_several_companies - - psql -h psql -U flectra -d test_partner_contact_in_several_companies -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - createdb -h psql -U flectra -O flectra -T template1 test_partner_phone_secondary + - psql -h psql -U flectra -d test_partner_phone_secondary -f ${CI_PROJECT_DIR}/ci_data/dump.sql - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_in_several_companies - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_in_several_companies + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_phone_secondary + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_phone_secondary - su - flectra -c "/opt/flectra/flectra-bin --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux --db_host psql --db_port 5432 --db_user flectra --db_password flectra - --database test_partner_contact_in_several_companies - --test-enable -i partner_contact_in_several_companies + --database test_partner_phone_secondary + --test-enable -i partner_phone_secondary --stop-after-init --log-level error - --log-handler flectra.addons.partner_contact_in_several_companies:TEST" + --log-handler flectra.addons.partner_phone_secondary:TEST" -test_module_partner_company_group: +test_module_partner_contact_lang: stage: testsingle when: on_failure image: @@ -1330,22 +481,226 @@ test_module_partner_company_group: - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip - export PGPASSWORD="flectra" - - createdb -h psql -U flectra -O flectra -T template1 test_partner_company_group - - psql -h psql -U flectra -d test_partner_company_group -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_lang + - psql -h psql -U flectra -d test_partner_contact_lang -f ${CI_PROJECT_DIR}/ci_data/dump.sql - su - flectra -c "mkdir -p ~/.local/share/filestore" - - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_company_group - - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_company_group + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_lang + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_lang - su - flectra -c "/opt/flectra/flectra-bin --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux --db_host psql --db_port 5432 --db_user flectra --db_password flectra - --database test_partner_company_group - --test-enable -i partner_company_group + --database test_partner_contact_lang + --test-enable -i partner_contact_lang --stop-after-init --log-level error - --log-handler flectra.addons.partner_company_group:TEST" + --log-handler flectra.addons.partner_contact_lang:TEST" + +test_module_partner_firstname: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_firstname + - psql -h psql -U flectra -d test_partner_firstname -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_firstname + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_firstname + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_firstname + --test-enable -i partner_firstname + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_firstname:TEST" + +test_module_partner_contact_job_position: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_job_position + - psql -h psql -U flectra -d test_partner_contact_job_position -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_job_position + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_job_position + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_contact_job_position + --test-enable -i partner_contact_job_position + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_contact_job_position:TEST" + +test_module_partner_phone_extension: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_phone_extension + - psql -h psql -U flectra -d test_partner_phone_extension -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_phone_extension + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_phone_extension + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_phone_extension + --test-enable -i partner_phone_extension + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_phone_extension:TEST" + +test_module_partner_contact_department: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_department + - psql -h psql -U flectra -d test_partner_contact_department -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_department + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_department + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_contact_department + --test-enable -i partner_contact_department + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_contact_department:TEST" + +test_module_partner_affiliate: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_affiliate + - psql -h psql -U flectra -d test_partner_affiliate -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_affiliate + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_affiliate + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_affiliate + --test-enable -i partner_affiliate + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_affiliate:TEST" + +test_module_partner_ref_unique: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_ref_unique + - psql -h psql -U flectra -d test_partner_ref_unique -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_ref_unique + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_ref_unique + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_ref_unique + --test-enable -i partner_ref_unique + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_ref_unique:TEST" test_module_base_country_state_translatable: stage: testsingle @@ -1381,3 +736,683 @@ test_module_base_country_state_translatable: --log-level error --log-handler flectra.addons.base_country_state_translatable:TEST" +test_module_partner_company_group: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_company_group + - psql -h psql -U flectra -d test_partner_company_group -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_company_group + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_company_group + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_company_group + --test-enable -i partner_company_group + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_company_group:TEST" + +test_module_partner_address_street3: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_address_street3 + - psql -h psql -U flectra -d test_partner_address_street3 -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_address_street3 + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_address_street3 + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_address_street3 + --test-enable -i partner_address_street3 + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_address_street3:TEST" + +test_module_partner_company_type: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_company_type + - psql -h psql -U flectra -d test_partner_company_type -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_company_type + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_company_type + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_company_type + --test-enable -i partner_company_type + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_company_type:TEST" + +test_module_partner_vat_unique: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_vat_unique + - psql -h psql -U flectra -d test_partner_vat_unique -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_vat_unique + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_vat_unique + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_vat_unique + --test-enable -i partner_vat_unique + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_vat_unique:TEST" + +test_module_partner_contact_personal_information_page: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_personal_information_page + - psql -h psql -U flectra -d test_partner_contact_personal_information_page -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_personal_information_page + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_personal_information_page + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_contact_personal_information_page + --test-enable -i partner_contact_personal_information_page + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_contact_personal_information_page:TEST" + +test_module_partner_second_lastname: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_second_lastname + - psql -h psql -U flectra -d test_partner_second_lastname -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_second_lastname + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_second_lastname + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_second_lastname + --test-enable -i partner_second_lastname + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_second_lastname:TEST" + +test_module_partner_employee_quantity: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_employee_quantity + - psql -h psql -U flectra -d test_partner_employee_quantity -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_employee_quantity + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_employee_quantity + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_employee_quantity + --test-enable -i partner_employee_quantity + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_employee_quantity:TEST" + +test_module_partner_contact_in_several_companies: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_in_several_companies + - psql -h psql -U flectra -d test_partner_contact_in_several_companies -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_in_several_companies + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_in_several_companies + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_contact_in_several_companies + --test-enable -i partner_contact_in_several_companies + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_contact_in_several_companies:TEST" + +test_module_partner_contact_birthdate: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_birthdate + - psql -h psql -U flectra -d test_partner_contact_birthdate -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_birthdate + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_birthdate + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_contact_birthdate + --test-enable -i partner_contact_birthdate + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_contact_birthdate:TEST" + +test_module_partner_tier_validation: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_tier_validation + - psql -h psql -U flectra -d test_partner_tier_validation -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_tier_validation + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_tier_validation + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_tier_validation + --test-enable -i partner_tier_validation + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_tier_validation:TEST" + +test_module_partner_helper: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_helper + - psql -h psql -U flectra -d test_partner_helper -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_helper + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_helper + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_helper + --test-enable -i partner_helper + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_helper:TEST" + +test_module_partner_fax: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_fax + - psql -h psql -U flectra -d test_partner_fax -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_fax + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_fax + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_fax + --test-enable -i partner_fax + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_fax:TEST" + +test_module_partner_contact_access_link: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_access_link + - psql -h psql -U flectra -d test_partner_contact_access_link -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_access_link + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_access_link + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_contact_access_link + --test-enable -i partner_contact_access_link + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_contact_access_link:TEST" + +test_module_partner_deduplicate_acl: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_deduplicate_acl + - psql -h psql -U flectra -d test_partner_deduplicate_acl -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_deduplicate_acl + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_deduplicate_acl + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_deduplicate_acl + --test-enable -i partner_deduplicate_acl + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_deduplicate_acl:TEST" + +test_module_partner_multi_relation: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_multi_relation + - psql -h psql -U flectra -d test_partner_multi_relation -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_multi_relation + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_multi_relation + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_multi_relation + --test-enable -i partner_multi_relation + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_multi_relation:TEST" + +test_module_partner_identification: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_identification + - psql -h psql -U flectra -d test_partner_identification -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_identification + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_identification + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_identification + --test-enable -i partner_identification + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_identification:TEST" + +test_module_partner_address_version: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_address_version + - psql -h psql -U flectra -d test_partner_address_version -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_address_version + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_address_version + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_address_version + --test-enable -i partner_address_version + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_address_version:TEST" + +test_module_base_partner_sequence: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_base_partner_sequence + - psql -h psql -U flectra -d test_base_partner_sequence -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_base_partner_sequence + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_base_partner_sequence + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_base_partner_sequence + --test-enable -i base_partner_sequence + --stop-after-init + --log-level error + --log-handler flectra.addons.base_partner_sequence:TEST" + +test_module_partner_iterative_archive: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_iterative_archive + - psql -h psql -U flectra -d test_partner_iterative_archive -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_iterative_archive + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_iterative_archive + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_iterative_archive + --test-enable -i partner_iterative_archive + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_iterative_archive:TEST" + +test_module_partner_contact_age_range: + stage: testsingle + when: on_failure + image: + name: registry.gitlab.com/jamotion/flectra/ubuntudev:2-latest + entrypoint: ["/bin/sh", "-c"] + script: + - apt-get install -y p7zip-full + - apt install -y expect-dev + - su - flectra -c "mkdir ~/others" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-tools.git ~/others/server-tools" + - su - flectra -c "git clone --branch 20-fixed --depth 1 https://gitlab-ci-token:${CI_JOB_TOKEN}@gitlab.com/flectra-community/server-ux.git ~/others/server-ux" + - sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=en_US.UTF-8 + - mkdir ${CI_PROJECT_DIR}/ci_data + - wget -O ${CI_PROJECT_DIR}/ci_data/test_base.zip https://gitlab.com/flectra-community/devops/oca2fc/raw/master/ci_data/test_base.zip + - 7z x -o ${CI_PROJECT_DIR}/ci_data/ ${CI_PROJECT_DIR}/ci_data/test_base.zip + - export PGPASSWORD="flectra" + - createdb -h psql -U flectra -O flectra -T template1 test_partner_contact_age_range + - psql -h psql -U flectra -d test_partner_contact_age_range -f ${CI_PROJECT_DIR}/ci_data/dump.sql + - su - flectra -c "mkdir -p ~/.local/share/filestore" + - mv ${CI_PROJECT_DIR}/ci_data/filestore /opt/flectra/.local/share/filestore/test_partner_contact_age_range + - chown -R flectra.flectra /opt/flectra/.local/share/filestore/test_partner_contact_age_range + - su - flectra -c "/opt/flectra/flectra-bin + --addons-path ${CI_PROJECT_DIR},~/others/server-tools,~/others/server-ux + --db_host psql + --db_port 5432 + --db_user flectra + --db_password flectra + --database test_partner_contact_age_range + --test-enable -i partner_contact_age_range + --stop-after-init + --log-level error + --log-handler flectra.addons.partner_contact_age_range:TEST" + diff --git a/README.md b/README.md index 4824728..93441bb 100644 --- a/README.md +++ b/README.md @@ -9,43 +9,44 @@ Available addons addon | version | summary --- | --- | --- -[partner_address_version](partner_address_version/) | 2.0.1.0.0| Partner Address Version -[partner_firstname](partner_firstname/) | 2.0.1.0.1| Split first name and last name for non company partners -[partner_contact_job_position](partner_contact_job_position/) | 2.0.1.0.0| Categorize job positions for contacts -[partner_fax](partner_fax/) | 2.0.1.0.0| Add fax number on partner -[partner_employee_quantity](partner_employee_quantity/) | 2.0.1.0.0| Know how many employees a partner has [partner_tz](partner_tz/) | 2.0.1.0.0| Remove partner timezone default value and display on form -[base_location_nuts](base_location_nuts/) | 2.0.1.0.1| NUTS Regions -[partner_contact_age_range](partner_contact_age_range/) | 2.0.1.0.1| Age Range for Contact's -[partner_second_lastname](partner_second_lastname/) | 2.0.1.0.0| Have split first and second lastnames -[partner_contact_department](partner_contact_department/) | 2.0.1.0.1| Assign contacts to departments [partner_contact_nationality](partner_contact_nationality/) | 2.0.1.0.1| Add nationality field to contacts -[partner_phone_secondary](partner_phone_secondary/) | 2.0.1.0.0| Adds a secondary phone number on partners -[partner_affiliate](partner_affiliate/) | 2.0.1.0.1| Partner Affiliates -[partner_tier_validation](partner_tier_validation/) | 2.0.2.0.0| Support a tier validation process for Contacts -[partner_phone_extension](partner_phone_extension/) | 2.0.1.0.1| Partner Phone Number Extension -[partner_priority](partner_priority/) | 2.0.1.0.0| Adds priority to partners. -[partner_ref_unique](partner_ref_unique/) | 2.0.1.0.0| Add an unique constraint to partner ref field -[animal](animal/) | 2.0.1.0.1| Manage animals information -[partner_industry_secondary](partner_industry_secondary/) | 2.0.1.0.0| Add secondary partner industries -[partner_helper](partner_helper/) | 2.0.1.0.0| Add specific helper methods -[base_partner_sequence](base_partner_sequence/) | 2.0.1.0.1| Sets customer's code from a sequence -[partner_multi_relation](partner_multi_relation/) | 2.0.1.0.0| Partner Relations -[partner_iterative_archive](partner_iterative_archive/) | 2.0.1.0.1| Archive all contacts when parent is archived -[partner_address_street3](partner_address_street3/) | 2.0.1.0.0| Add a third address line on partners -[partner_company_type](partner_company_type/) | 2.0.1.0.1| Adds a company type to partner that are companies [portal_partner_select_all](portal_partner_select_all/) | 2.0.1.1.0| Portal Partner Select All [base_location_geonames_import](base_location_geonames_import/) | 2.0.1.0.1| Import zip entries from Geonames -[partner_contact_birthdate](partner_contact_birthdate/) | 2.0.1.0.0| Contact's birthdate -[partner_identification](partner_identification/) | 2.0.1.2.0| Partner Identification Numbers -[partner_vat_unique](partner_vat_unique/) | 2.0.1.0.0| Module to make the VAT number unique for customers and suppliers. -[partner_contact_access_link](partner_contact_access_link/) | 2.0.1.0.0| Allow to visit the full contact form from a company -[partner_contact_personal_information_page](partner_contact_personal_information_page/) | 2.0.1.0.0| Add a page to contacts form to put personal information +[base_location_nuts](base_location_nuts/) | 2.0.1.0.1| NUTS Regions +[partner_industry_secondary](partner_industry_secondary/) | 2.0.1.0.0| Add secondary partner industries [partner_contact_gender](partner_contact_gender/) | 2.0.1.0.1| Add gender field to contacts -[partner_contact_lang](partner_contact_lang/) | 2.0.1.0.0| Manage language in contacts +[animal](animal/) | 2.0.1.0.1| Manage animals information +[partner_priority](partner_priority/) | 2.0.1.0.0| Adds priority to partners. [base_location](base_location/) | 2.0.1.2.0| Enhanced zip/npa management system -[partner_contact_in_several_companies](partner_contact_in_several_companies/) | 2.0.1.1.0| Allow to have one contact in several partners -[partner_company_group](partner_company_group/) | 2.0.1.0.1| Adds the possibility to add a company group to a company +[partner_phone_secondary](partner_phone_secondary/) | 2.0.1.0.0| Adds a secondary phone number on partners +[partner_contact_lang](partner_contact_lang/) | 2.0.1.0.0| Manage language in contacts +[partner_firstname](partner_firstname/) | 2.0.1.0.1| Split first name and last name for non company partners +[partner_contact_job_position](partner_contact_job_position/) | 2.0.1.0.0| Categorize job positions for contacts +[partner_phone_extension](partner_phone_extension/) | 2.0.1.0.1| Partner Phone Number Extension +[partner_contact_department](partner_contact_department/) | 2.0.1.0.1| Assign contacts to departments +[partner_affiliate](partner_affiliate/) | 2.0.1.0.1| Partner Affiliates +[partner_ref_unique](partner_ref_unique/) | 2.0.1.0.0| Add an unique constraint to partner ref field [base_country_state_translatable](base_country_state_translatable/) | 2.0.1.0.0| Translate Country States +[partner_company_group](partner_company_group/) | 2.0.1.0.1| Adds the possibility to add a company group to a company +[partner_address_street3](partner_address_street3/) | 2.0.1.0.0| Add a third address line on partners +[partner_company_type](partner_company_type/) | 2.0.1.0.1| Adds a company type to partner that are companies +[partner_vat_unique](partner_vat_unique/) | 2.0.1.0.0| Module to make the VAT number unique for customers and suppliers. +[partner_contact_personal_information_page](partner_contact_personal_information_page/) | 2.0.1.0.0| Add a page to contacts form to put personal information +[partner_second_lastname](partner_second_lastname/) | 2.0.1.0.0| Have split first and second lastnames +[partner_employee_quantity](partner_employee_quantity/) | 2.0.1.0.0| Know how many employees a partner has +[partner_contact_in_several_companies](partner_contact_in_several_companies/) | 2.0.1.1.0| Allow to have one contact in several partners +[partner_contact_birthdate](partner_contact_birthdate/) | 2.0.1.0.0| Contact's birthdate +[partner_tier_validation](partner_tier_validation/) | 2.0.2.0.0| Support a tier validation process for Contacts +[partner_helper](partner_helper/) | 2.0.1.0.0| Add specific helper methods +[partner_fax](partner_fax/) | 2.0.1.0.0| Add fax number on partner +[partner_contact_access_link](partner_contact_access_link/) | 2.0.1.0.0| Allow to visit the full contact form from a company +[partner_deduplicate_acl](partner_deduplicate_acl/) | 2.0.1.0.0| Contact deduplication with fine-grained permission control +[partner_multi_relation](partner_multi_relation/) | 2.0.1.0.0| Partner Relations +[partner_identification](partner_identification/) | 2.0.1.2.0| Partner Identification Numbers +[partner_address_version](partner_address_version/) | 2.0.1.0.0| Partner Address Version +[base_partner_sequence](base_partner_sequence/) | 2.0.1.0.1| Sets customer's code from a sequence +[partner_iterative_archive](partner_iterative_archive/) | 2.0.1.0.1| Archive all contacts when parent is archived +[partner_contact_age_range](partner_contact_age_range/) | 2.0.1.0.1| Age Range for Contact's diff --git a/partner_company_type/i18n/fr.po b/partner_company_type/i18n/fr.po index fc65e10..fa5e7b5 100644 --- a/partner_company_type/i18n/fr.po +++ b/partner_company_type/i18n/fr.po @@ -11,41 +11,42 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-11-21 01:49+0000\n" -"PO-Revision-Date: 2017-11-21 01:49+0000\n" -"Last-Translator: leemannd , 2017\n" +"PO-Revision-Date: 2021-07-18 20:49+0000\n" +"Last-Translator: Khalid Hazam \n" "Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n" "Language: fr\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.3.2\n" #. module: partner_company_type #: model:res.partner.company.type,shortcut:partner_company_type.res_partner_company_type_sa msgid "AC" -msgstr "" +msgstr "SA" #. module: partner_company_type #: model:ir.model.fields,field_description:partner_company_type.field_res_partner_company_type__shortcut msgid "Abbreviation" -msgstr "" +msgstr "Abréviation" #. module: partner_company_type #: model:res.partner.company.type,name:partner_company_type.res_partner_company_type_sa msgid "Anonymous Company" -msgstr "" +msgstr "Société Anonyme" #. module: partner_company_type #: model:ir.actions.act_window,name:partner_company_type.res_partner_company_type_act_window #: model:ir.ui.menu,name:partner_company_type.menu_partner_company_type #: model_terms:ir.ui.view,arch_db:partner_company_type.res_partner_company_type_form_view msgid "Company Types" -msgstr "" +msgstr "Types de sociétés" #. module: partner_company_type #: model:ir.model,name:partner_company_type.model_res_partner msgid "Contact" -msgstr "" +msgstr "Contact" #. module: partner_company_type #: model:ir.model.fields,field_description:partner_company_type.field_res_partner_company_type__create_uid @@ -86,22 +87,22 @@ msgstr "Mis à jour le" #: model:ir.model.fields,field_description:partner_company_type.field_res_partner__partner_company_type_id #: model:ir.model.fields,field_description:partner_company_type.field_res_users__partner_company_type_id msgid "Legal Form" -msgstr "" +msgstr "Forme juridique" #. module: partner_company_type #: model:ir.model,name:partner_company_type.model_res_partner_company_type msgid "Partner Company Type" -msgstr "" +msgstr "Type de société" #. module: partner_company_type #: model:ir.model.constraint,message:partner_company_type.constraint_res_partner_company_type_name_uniq msgid "Partner Company Type already exists!" -msgstr "" +msgstr "Ce type existe déjà!" #. module: partner_company_type #: model:ir.model.fields,field_description:partner_company_type.field_res_partner_company_type__name msgid "Title" -msgstr "" +msgstr "Titre" #~ msgid "Company Type" #~ msgstr "Type de companie" diff --git a/partner_deduplicate_acl/COPYRIGHT b/partner_deduplicate_acl/COPYRIGHT new file mode 100644 index 0000000..70e7f29 --- /dev/null +++ b/partner_deduplicate_acl/COPYRIGHT @@ -0,0 +1,22 @@ +Most of the files are + + :Copyright: This stylesheet has been placed in the public domain. + Copyright 2016 Tecnativa - Jairo Llopis + Copyright 2016 Tecnativa - Vicent Cubells + Copyright 2016 Tecnativa S.L. - Vicent Cubells + Copyright 2017 Tecnativa - Pedro M. Baeza + Copyright 2017-2018 Tecnativa - Pedro M. Baeza + Copyright 2017-2019 Tecnativa - Pedro M. Baeza + Copyright 2018 Tecnativa - Pedro M. Baeza + Copyright 2019 Tecnativa - Victor M.M. Torres + Copyright 2018 Flectra Community + +Many files also contain contributions from third +parties. In this case the original copyright of +the contributions can be traced through the +history of the source version control system. + +When that is not the case, the files contain a prominent +notice stating the original copyright and applicable +license, or come with their own dedicated COPYRIGHT +and/or LICENSE file. \ No newline at end of file diff --git a/partner_deduplicate_acl/LICENSE b/partner_deduplicate_acl/LICENSE new file mode 100644 index 0000000..3939cd9 --- /dev/null +++ b/partner_deduplicate_acl/LICENSE @@ -0,0 +1,663 @@ +For copyright information, please see the COPYRIGHT file. + +GNU AFFERO GENERAL PUBLIC LICENSE + Version 3, 19 November 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU Affero General Public License is a free, copyleft license for +software and other kinds of works, specifically designed to ensure +cooperation with the community in the case of network server software. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +our General Public Licenses are intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + Developers that use our General Public Licenses protect your rights +with two steps: (1) assert copyright on the software, and (2) offer +you this License which gives you legal permission to copy, distribute +and/or modify the software. + + A secondary benefit of defending all users' freedom is that +improvements made in alternate versions of the program, if they +receive widespread use, become available for other developers to +incorporate. Many developers of free software are heartened and +encouraged by the resulting cooperation. However, in the case of +software used on network servers, this result may fail to come about. +The GNU General Public License permits making a modified version and +letting the public access it on a server without ever releasing its +source code to the public. + + The GNU Affero General Public License is designed specifically to +ensure that, in such cases, the modified source code becomes available +to the community. It requires the operator of a network server to +provide the source code of the modified version running there to the +users of that server. Therefore, public use of a modified version, on +a publicly accessible server, gives the public access to the source +code of the modified version. + + An older license, called the Affero General Public License and +published by Affero, was designed to accomplish similar goals. This is +a different license, not a version of the Affero GPL, but Affero has +released a new version of the Affero GPL which permits relicensing under +this license. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU Affero General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Remote Network Interaction; Use with the GNU General Public License. + + Notwithstanding any other provision of this License, if you modify the +Program, your modified version must prominently offer all users +interacting with it remotely through a computer network (if your version +supports such interaction) an opportunity to receive the Corresponding +Source of your version by providing access to the Corresponding Source +from a network server at no charge, through some standard or customary +means of facilitating copying of software. This Corresponding Source +shall include the Corresponding Source for any work covered by version 3 +of the GNU General Public License that is incorporated pursuant to the +following paragraph. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the work with which it is combined will remain governed by version +3 of the GNU General Public License. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU Affero General Public License from time to time. Such new versions +will be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU Affero General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU Affero General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU Affero General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +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 + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If your software can interact with users remotely through a computer +network, you should also make sure that it provides a way for users to +get its source. For example, if your program is a web application, its +interface could display a "Source" link that leads users to an archive +of the code. There are many ways you could offer source, and different +solutions will be better for different programs; see section 13 for the +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/partner_deduplicate_acl/README.rst b/partner_deduplicate_acl/README.rst new file mode 100644 index 0000000..970e355 --- /dev/null +++ b/partner_deduplicate_acl/README.rst @@ -0,0 +1,120 @@ +======================== +Deduplicate Contacts ACL +======================== + +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !! This file is generated by oca-gen-addon-readme !! + !! changes will be overwritten. !! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png + :target: https://odoo-community.org/page/development-status + :alt: Beta +.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png + :target: http://www.gnu.org/licenses/agpl-3.0-standalone.html + :alt: License: AGPL-3 +.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpartner--contact-lightgray.png?logo=github + :target: https://github.com/OCA/partner-contact/tree/14.0/partner_deduplicate_acl + :alt: OCA/partner-contact +.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png + :target: https://translation.odoo-community.org/projects/partner-contact-14-0/partner-contact-14-0-partner_deduplicate_acl + :alt: Translate me on Weblate +.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png + :target: https://runbot.odoo-community.org/runbot/134/14.0 + :alt: Try me on Runbot + +|badge1| |badge2| |badge3| |badge4| |badge5| + +This module extends the functionality of the CRM contact deduplicator to add +permission groups that allow the matching users to use those tools, not +needing to be the sale settings manager. + +**Table of contents** + +.. contents:: + :local: + +Configuration +============= + +To configure this module, you need to: + +#. Go to *Settings > Users > Users*. +#. Choose a user. +#. Choose the desired permission level(s) in *Appplication > Deduplicate + Contacts*: + + - *Manually* allows him to do the manual deduplication process. + - *Automatically* allows him to do the automatic deduplication process. + + .. warning:: + Automatic contact deduplication can easily lead to unwanted results. + Better backup before doing it. + + - *Without restrictions* executes the chosen deduplication method with admin + rigts, to be able to update objects where the user would normally not have + write rights, and to allow him to merge contacts with different email + addresses. + + .. warning:: + This is an advanced feature, be sure to train the user before enabling + this permission for him. + +Usage +===== + +To use this module, you need to: + +#. Ask your admin to give you the new rights. +#. Go to *CRM > Tools > Deduplicate Contacts* as usual. + +Bug Tracker +=========== + +Bugs are tracked on `GitHub Issues `_. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +`feedback `_. + +Do not contact contributors directly about support or help with technical issues. + +Credits +======= + +Authors +~~~~~~~ + +* Tecnativa + +Contributors +~~~~~~~~~~~~ + +* `Tecnativa `_: + + * Rafael Blasco + * Jairo Llopis + * Vicent Cubells + * Pedro M. Baeza + * Luis M. Ontalba + * Victor M.M. Torres + * Carlos Roca + * João Marques + +* Kevin Khao + +Maintainers +~~~~~~~~~~~ + +This module is maintained by the OCA. + +.. image:: https://odoo-community.org/logo.png + :alt: Odoo Community Association + :target: https://odoo-community.org + +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. + +This module is part of the `OCA/partner-contact `_ project on GitHub. + +You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute. \ No newline at end of file diff --git a/partner_deduplicate_acl/__init__.py b/partner_deduplicate_acl/__init__.py new file mode 100644 index 0000000..a18dad9 --- /dev/null +++ b/partner_deduplicate_acl/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import wizards diff --git a/partner_deduplicate_acl/__manifest__.py b/partner_deduplicate_acl/__manifest__.py new file mode 100644 index 0000000..3958fb7 --- /dev/null +++ b/partner_deduplicate_acl/__manifest__.py @@ -0,0 +1,25 @@ +# Copyright 2016 Tecnativa - Jairo Llopis +# Copyright 2016 Tecnativa - Vicent Cubells +# Copyright 2017-2018 Tecnativa - Pedro M. Baeza +# Copyright 2019 Tecnativa - Victor M.M. Torres +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +{ + "name": "Deduplicate Contacts ACL", + "summary": "Contact deduplication with fine-grained permission control", + "version": "2.0.1.0.0", + "category": "Tools", + "website": "https://gitlab.com/flectra-community/partner-contact", + "author": "Tecnativa, Odoo Community Association (OCA)", + "license": "AGPL-3", + "application": False, + "installable": True, + "depends": ["contacts"], + "data": [ + "security/partner_deduplicate_acl_security.xml", + "security/ir.model.access.csv", + "wizards/partner_merge_view.xml", + "views/base_partner_merge_view.xml", + ], + "images": ["images/perms.png"], +} diff --git a/partner_deduplicate_acl/i18n/de.po b/partner_deduplicate_acl/i18n/de.po new file mode 100644 index 0000000..9ccb328 --- /dev/null +++ b/partner_deduplicate_acl/i18n/de.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_deduplicate_acl +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-03 02:51+0000\n" +"PO-Revision-Date: 2018-12-15 16:58+0000\n" +"Last-Translator: Maria Sparenberg \n" +"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n" +"Language: de\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n != 1;\n" +"X-Generator: Weblate 3.3\n" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_automatically +msgid "Automatically" +msgstr "Automatisch" + +#. module: partner_deduplicate_acl +#: model:ir.module.category,name:partner_deduplicate_acl.category +#: model:ir.ui.menu,name:partner_deduplicate_acl.partner_merge_automatic_menu +msgid "Deduplicate Contacts" +msgstr "Deduplizieren der Kontakte" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_manually +msgid "Manually" +msgstr "Manuell" + +#. module: partner_deduplicate_acl +#: model:ir.model,name:partner_deduplicate_acl.model_base_partner_merge_automatic_wizard +msgid "Merge Partner Wizard" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:ir.ui.menu,name:partner_deduplicate_acl.base_tools +msgid "Tools" +msgstr "Werkzeuge" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_unrestricted +msgid "Without restrictions" +msgstr "Ohne Beschränkungen" diff --git a/partner_deduplicate_acl/i18n/es.po b/partner_deduplicate_acl/i18n/es.po new file mode 100644 index 0000000..9128239 --- /dev/null +++ b/partner_deduplicate_acl/i18n/es.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_deduplicate_acl +# +# Translators: +# Pedro M. Baeza , 2018 +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-03 02:51+0000\n" +"PO-Revision-Date: 2018-05-03 02:51+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n" +"Language: es\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_automatically +msgid "Automatically" +msgstr "Automáticamente" + +#. module: partner_deduplicate_acl +#: model:ir.module.category,name:partner_deduplicate_acl.category +#: model:ir.ui.menu,name:partner_deduplicate_acl.partner_merge_automatic_menu +msgid "Deduplicate Contacts" +msgstr "Deduplicar contactos" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_manually +msgid "Manually" +msgstr "Manualmente" + +#. module: partner_deduplicate_acl +#: model:ir.model,name:partner_deduplicate_acl.model_base_partner_merge_automatic_wizard +msgid "Merge Partner Wizard" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:ir.ui.menu,name:partner_deduplicate_acl.base_tools +msgid "Tools" +msgstr "Herramientas" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_unrestricted +msgid "Without restrictions" +msgstr "Sin restricciones" diff --git a/partner_deduplicate_acl/i18n/hr.po b/partner_deduplicate_acl/i18n/hr.po new file mode 100644 index 0000000..5bce3f3 --- /dev/null +++ b/partner_deduplicate_acl/i18n/hr.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_deduplicate_acl +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-03 02:51+0000\n" +"PO-Revision-Date: 2018-05-03 02:51+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n" +"Language: hr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_automatically +msgid "Automatically" +msgstr "Automatski" + +#. module: partner_deduplicate_acl +#: model:ir.module.category,name:partner_deduplicate_acl.category +#: model:ir.ui.menu,name:partner_deduplicate_acl.partner_merge_automatic_menu +msgid "Deduplicate Contacts" +msgstr "Ukloni duple kontakte" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_manually +msgid "Manually" +msgstr "Ručno" + +#. module: partner_deduplicate_acl +#: model:ir.model,name:partner_deduplicate_acl.model_base_partner_merge_automatic_wizard +msgid "Merge Partner Wizard" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:ir.ui.menu,name:partner_deduplicate_acl.base_tools +msgid "Tools" +msgstr "Alati" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_unrestricted +msgid "Without restrictions" +msgstr "Bez ograničenja" diff --git a/partner_deduplicate_acl/i18n/it.po b/partner_deduplicate_acl/i18n/it.po new file mode 100644 index 0000000..34761c0 --- /dev/null +++ b/partner_deduplicate_acl/i18n/it.po @@ -0,0 +1,50 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_deduplicate_acl +# +# Translators: +# OCA Transbot , 2016 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2016-12-07 03:39+0000\n" +"PO-Revision-Date: 2016-12-07 03:39+0000\n" +"Last-Translator: OCA Transbot , 2016\n" +"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n" +"Language: it\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_automatically +msgid "Automatically" +msgstr "Automaticamente" + +#. module: partner_deduplicate_acl +#: model:ir.module.category,name:partner_deduplicate_acl.category +#: model:ir.ui.menu,name:partner_deduplicate_acl.partner_merge_automatic_menu +msgid "Deduplicate Contacts" +msgstr "Deduplica Contatti" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_manually +msgid "Manually" +msgstr "Manualmente" + +#. module: partner_deduplicate_acl +#: model:ir.model,name:partner_deduplicate_acl.model_base_partner_merge_automatic_wizard +msgid "Merge Partner Wizard" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:ir.ui.menu,name:partner_deduplicate_acl.base_tools +msgid "Tools" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_unrestricted +msgid "Without restrictions" +msgstr "Senza restrinzioni" diff --git a/partner_deduplicate_acl/i18n/nl_NL.po b/partner_deduplicate_acl/i18n/nl_NL.po new file mode 100644 index 0000000..aec0742 --- /dev/null +++ b/partner_deduplicate_acl/i18n/nl_NL.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_deduplicate_acl +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-03 02:51+0000\n" +"PO-Revision-Date: 2018-05-03 02:51+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/" +"teams/23907/nl_NL/)\n" +"Language: nl_NL\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_automatically +msgid "Automatically" +msgstr "Automatisch" + +#. module: partner_deduplicate_acl +#: model:ir.module.category,name:partner_deduplicate_acl.category +#: model:ir.ui.menu,name:partner_deduplicate_acl.partner_merge_automatic_menu +msgid "Deduplicate Contacts" +msgstr "Ontdubbel Relaties" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_manually +msgid "Manually" +msgstr "Handmatig" + +#. module: partner_deduplicate_acl +#: model:ir.model,name:partner_deduplicate_acl.model_base_partner_merge_automatic_wizard +msgid "Merge Partner Wizard" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:ir.ui.menu,name:partner_deduplicate_acl.base_tools +msgid "Tools" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_unrestricted +msgid "Without restrictions" +msgstr "Zonder beperkingen" diff --git a/partner_deduplicate_acl/i18n/partner_deduplicate_acl.pot b/partner_deduplicate_acl/i18n/partner_deduplicate_acl.pot new file mode 100644 index 0000000..d4e2636 --- /dev/null +++ b/partner_deduplicate_acl/i18n/partner_deduplicate_acl.pot @@ -0,0 +1,60 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_deduplicate_acl +# +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 14.0\n" +"Report-Msgid-Bugs-To: \n" +"Last-Translator: \n" +"Language-Team: \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: \n" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_automatically +msgid "Automatically" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:ir.module.category,name:partner_deduplicate_acl.category +#: model:ir.ui.menu,name:partner_deduplicate_acl.partner_merge_automatic_menu +msgid "Deduplicate Contacts" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:ir.model.fields,field_description:partner_deduplicate_acl.field_base_partner_merge_automatic_wizard__display_name +msgid "Display Name" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:ir.model.fields,field_description:partner_deduplicate_acl.field_base_partner_merge_automatic_wizard__id +msgid "ID" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:ir.model.fields,field_description:partner_deduplicate_acl.field_base_partner_merge_automatic_wizard____last_update +msgid "Last Modified on" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_manually +msgid "Manually" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:ir.model,name:partner_deduplicate_acl.model_base_partner_merge_automatic_wizard +msgid "Merge Partner Wizard" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:ir.ui.menu,name:partner_deduplicate_acl.base_tools +msgid "Tools" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_unrestricted +msgid "Without restrictions" +msgstr "" diff --git a/partner_deduplicate_acl/i18n/pt_BR.po b/partner_deduplicate_acl/i18n/pt_BR.po new file mode 100644 index 0000000..94e1a87 --- /dev/null +++ b/partner_deduplicate_acl/i18n/pt_BR.po @@ -0,0 +1,53 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_deduplicate_acl +# +# Translators: +# falexandresilva , 2018 +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-03 02:51+0000\n" +"PO-Revision-Date: 2019-08-26 16:00+0000\n" +"Last-Translator: Rodrigo Macedo \n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/" +"23907/pt_BR/)\n" +"Language: pt_BR\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 3.8\n" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_automatically +msgid "Automatically" +msgstr "Automaticamente" + +#. module: partner_deduplicate_acl +#: model:ir.module.category,name:partner_deduplicate_acl.category +#: model:ir.ui.menu,name:partner_deduplicate_acl.partner_merge_automatic_menu +msgid "Deduplicate Contacts" +msgstr "Deduplicar contatos" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_manually +msgid "Manually" +msgstr "Manualmente" + +#. module: partner_deduplicate_acl +#: model:ir.model,name:partner_deduplicate_acl.model_base_partner_merge_automatic_wizard +msgid "Merge Partner Wizard" +msgstr "Assistente de mesclagem de parceiros" + +#. module: partner_deduplicate_acl +#: model:ir.ui.menu,name:partner_deduplicate_acl.base_tools +msgid "Tools" +msgstr "Ferramentas" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_unrestricted +msgid "Without restrictions" +msgstr "Sem restrições" diff --git a/partner_deduplicate_acl/i18n/sk.po b/partner_deduplicate_acl/i18n/sk.po new file mode 100644 index 0000000..19d25c6 --- /dev/null +++ b/partner_deduplicate_acl/i18n/sk.po @@ -0,0 +1,50 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_deduplicate_acl +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-03 02:51+0000\n" +"PO-Revision-Date: 2018-05-03 02:51+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Slovak (https://www.transifex.com/oca/teams/23907/sk/)\n" +"Language: sk\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_automatically +msgid "Automatically" +msgstr "Automaticky" + +#. module: partner_deduplicate_acl +#: model:ir.module.category,name:partner_deduplicate_acl.category +#: model:ir.ui.menu,name:partner_deduplicate_acl.partner_merge_automatic_menu +msgid "Deduplicate Contacts" +msgstr "Odduplikovať Kontakty" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_manually +msgid "Manually" +msgstr "Manuálne" + +#. module: partner_deduplicate_acl +#: model:ir.model,name:partner_deduplicate_acl.model_base_partner_merge_automatic_wizard +msgid "Merge Partner Wizard" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:ir.ui.menu,name:partner_deduplicate_acl.base_tools +msgid "Tools" +msgstr "Nástroje" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_unrestricted +msgid "Without restrictions" +msgstr "Bez obmedzení" diff --git a/partner_deduplicate_acl/i18n/sl.po b/partner_deduplicate_acl/i18n/sl.po new file mode 100644 index 0000000..cf98530 --- /dev/null +++ b/partner_deduplicate_acl/i18n/sl.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_deduplicate_acl +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-03 02:51+0000\n" +"PO-Revision-Date: 2018-05-03 02:51+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n" +"Language: sl\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n" +"%100==4 ? 2 : 3);\n" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_automatically +msgid "Automatically" +msgstr "Samodejno" + +#. module: partner_deduplicate_acl +#: model:ir.module.category,name:partner_deduplicate_acl.category +#: model:ir.ui.menu,name:partner_deduplicate_acl.partner_merge_automatic_menu +msgid "Deduplicate Contacts" +msgstr "Odstrani dvojnike stikov" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_manually +msgid "Manually" +msgstr "Ročno" + +#. module: partner_deduplicate_acl +#: model:ir.model,name:partner_deduplicate_acl.model_base_partner_merge_automatic_wizard +msgid "Merge Partner Wizard" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:ir.ui.menu,name:partner_deduplicate_acl.base_tools +msgid "Tools" +msgstr "Orodja" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_unrestricted +msgid "Without restrictions" +msgstr "Brez omejitev" diff --git a/partner_deduplicate_acl/i18n/tr.po b/partner_deduplicate_acl/i18n/tr.po new file mode 100644 index 0000000..ee452c0 --- /dev/null +++ b/partner_deduplicate_acl/i18n/tr.po @@ -0,0 +1,50 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_deduplicate_acl +# +# Translators: +# OCA Transbot , 2018 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 11.0\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2018-05-03 02:51+0000\n" +"PO-Revision-Date: 2018-05-03 02:51+0000\n" +"Last-Translator: OCA Transbot , 2018\n" +"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n" +"Language: tr\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_automatically +msgid "Automatically" +msgstr "Otomatikman" + +#. module: partner_deduplicate_acl +#: model:ir.module.category,name:partner_deduplicate_acl.category +#: model:ir.ui.menu,name:partner_deduplicate_acl.partner_merge_automatic_menu +msgid "Deduplicate Contacts" +msgstr "Çift Kayıtlı Kontakları Birleştir" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_manually +msgid "Manually" +msgstr "Manuel" + +#. module: partner_deduplicate_acl +#: model:ir.model,name:partner_deduplicate_acl.model_base_partner_merge_automatic_wizard +msgid "Merge Partner Wizard" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:ir.ui.menu,name:partner_deduplicate_acl.base_tools +msgid "Tools" +msgstr "Araçlar" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_unrestricted +msgid "Without restrictions" +msgstr "Kısıtlama olmaksızın" diff --git a/partner_deduplicate_acl/i18n/zh_CN.po b/partner_deduplicate_acl/i18n/zh_CN.po new file mode 100644 index 0000000..45e61fe --- /dev/null +++ b/partner_deduplicate_acl/i18n/zh_CN.po @@ -0,0 +1,51 @@ +# Translation of Odoo Server. +# This file contains the translation of the following modules: +# * partner_deduplicate_acl +# +# Translators: +# ITGeeker , 2017 +msgid "" +msgstr "" +"Project-Id-Version: Odoo Server 9.0c\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2017-03-28 02:27+0000\n" +"PO-Revision-Date: 2017-03-28 02:27+0000\n" +"Last-Translator: ITGeeker , 2017\n" +"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/" +"zh_CN/)\n" +"Language: zh_CN\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: \n" +"Plural-Forms: nplurals=1; plural=0;\n" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_automatically +msgid "Automatically" +msgstr "自动" + +#. module: partner_deduplicate_acl +#: model:ir.module.category,name:partner_deduplicate_acl.category +#: model:ir.ui.menu,name:partner_deduplicate_acl.partner_merge_automatic_menu +msgid "Deduplicate Contacts" +msgstr "联系人去重" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_manually +msgid "Manually" +msgstr "手动" + +#. module: partner_deduplicate_acl +#: model:ir.model,name:partner_deduplicate_acl.model_base_partner_merge_automatic_wizard +msgid "Merge Partner Wizard" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:ir.ui.menu,name:partner_deduplicate_acl.base_tools +msgid "Tools" +msgstr "" + +#. module: partner_deduplicate_acl +#: model:res.groups,name:partner_deduplicate_acl.group_unrestricted +msgid "Without restrictions" +msgstr "无限制" diff --git a/partner_deduplicate_acl/images/perms.png b/partner_deduplicate_acl/images/perms.png new file mode 100644 index 0000000000000000000000000000000000000000..aacf5528d146fed7e24f0f3d24ee6bb38a9487e2 GIT binary patch literal 76295 zcmV+a{{R4qP)ZgXgFbngSdJ^%n907*naRCt{1 zy?2x)Nqy)0iHJ1UmpASGc*i&-jD!%f2#~?;3ZdQiq@zW=mGBNxB#tyP7$N)sGmKy`gCF1HyL;MJb(g;`T|~S;GH=zb>gww1uDabbkl$1H)HRtI zCNtxkKQF8`mQ9Dq{@b%ZTMI&VZQFz97u&RFeKy7*r2@bhjT9p5Pp5BUX_u9sFQ{!e z|MYjOMfdf8 z*8R63th|Te-1EQI_*Wilwd->|eOX8QE9bncJ<%ItT+vBuvbPsQGHbxDqw7L+EwJM3 zeL8*WB0*zJN|@(6?z*sI{M~)I99R$8U-SdP`EUtIqBDl`{qH$?yU?wP)yBG!_v^-` zTjIv-HaPV_q=!iKdWy&Lg%4q&24(r{%T|H*4C`NSI+l-z33kES>s>F^|w)UUw_N` zV$c44W&7vr%eu~|S-t&b*S}fuzI&TZ#5w2xTl@7<)huJeD9 z_y20^&*C9hX>-~7lfqelYZv(>bJmS@37#O=yqUWtwzW=3*NIy<&iB;S_1)!?7#F+I z)wfOU%Q?oj_}wb=zw)>4V_hsRMB;x=oQv-ltabi332R<|=V@=V`f|?W*mJzUROnIr ztKQ!$e(xruwbtKrt_K&|mo>gy^?F!pZv(2-&AOPop5g$r3e%rgt+`qFzFMGiF@_}3Xq}*q!DzksyAT)e+}bUX zor{RXC6J=*D&*U1LRL~{1gTI;qIH5W0-Jr_G&63F96562SU1j1jG45klY~TTk~m&Q zj2)F~x3p-xB+LuJ`6RQA6XPbk18)+fln5bl9EFq;*L6|KK`Dc^3deDB)oP9$IdWWL ztWJzw_C%ABpi&Nw>*Bc{%28~pSLzCt?aCutYtC{q?%w9C?N@7KRfsOq6=&HKS0(Ho z1fFVb&^lRs@aUWtA!H^w=H!?oM~)nq3eIwek0qN{N{X5|jxomI`~IR0Y&jLJLqa@< z6xmIN#%P2PIF5rgmN<$4kSbL-Dygsn!YCq6VqC{XNr@7IC=BsjZ&7m9Sd29&rIwL+ zx8&JHhs%SWm*ISbv_VyC)?cM0N_i+{n4N7>D2VKP!%_~0+}@ZYM~)nq0_QXiT5CwO zCXN%@L6DM+lBpDB4e27iu>fo-6;dj!HH)MbMG-=zIW?0w#%hf)7Hc%~v$F^+uH#Vf zJxr1y09Pp_;3$RTI=D*VX8m1HnC)VwhO=H~?bjwlNI@LOB$@qoHM?hy96562=q*+y z#*QSH#4%AE(QdU;2OH6qDs6)>#$b#_CozueB2_98Ihhkmq2N<07I2jUoq*N^%_dV5 z6BJ#SBnT+@9%zlD6kstr0V$ELhocnIrgB#2b+JTaGF7j+NE_;fAWjmJI9}FvjvP61 z*3Wxlt3^Q&LwoA-U4D-Rst zr7wL6uH*3JqYrWX_;FtK>Q_^(Rw0gFd@P3?Wg7{V~b z_kEP3Na7eNAPxc!?BC0m@41^l{Da@;BY(e*TW`6UA9>ji6V+$=(&s*nHil}o#`f*o z`N~(mLaAJ4baa%-$w>gNz3w`0c)?AG$^g1u#~_i84^k|WW5{V=Yo_WU*epuQ90&Qz=Cd1Q?U5M59n6F&sJk42}9c z1AP^eu*rx2{tlja?ocR+;HtR9N52?QzwoSH0xAL1r9y+ z1Pe1~D7uQNiIY6@bPB7Lig?yMK3$uVDPd~*oPd(0EcYcOX{L@DXn+?AC_4{Zn%ribV!of!$ z#&sPkdD9X`#b)c znW@u=PM>sw>qxBa7mS@E=<~G0_IdbIqUc{<4#zos=S02=LNtP?f zqT69dC&^+shK?hWD8f|^CJJcQ7x?bCzKJ6RanL4cH|VRBK__h6x`opd6C6BvklSy& zoiGe};_=5ZMzed@E`nB@>FF6xothvB0uCHFz-_nQ&I1oVKo}<+efAK-@o2W&)CLEc zn3~~Lulae#ckKbK(Z(XBBnsPD$TH=0hI|PO*s9654aTBx_b{r`RY(nkS{ zWuy#ok`Tu+VHh$pI=aq7ie<5Ysq~fLxG4uGQHYWfw@@HyxB2X6KF!llJkI3F6C68o zm}aq`p&=I7^`nx3LiEb{2V$9T`5{v}Bq5C?4vg#!JFH^F-_KI;IY^~4HEyo9&5sV^*W_|PG4z2z2$hK6|NnP;e!%goKq za^&zKYJD{Zh6XwG>`{c{62%6qJSw#T<{K@-#PG^jy@ucTcmIyz9otEQ5Gw^Lt7u`2 zSu6=9Rwbpia;#n)j4?d<#1mAjRjSo0g+d|C3MA$7xz3RzM~)ml!#Tq>x>b2A9Zymf z=~|?aI@55D?PdG6tvveh!<36f`f3%Pdh$uGyz&aJyXHzBc;Er* z^KS90e2$K4H6!O(JxXFfh=Ml9E=l$<&$C3=Ix4HZshq6UXW6>*K)weauXsp;9Sx z?bTOu`0ycGjd^al`6eEC=s~7uXQ`A5w1bGa-NbPVY#Sfp_{mAGIPb9`gSc}!EiZG7S7{#*hF*|jd z!D^YPRj1@iVq=+^ouRofOE@x2rCi2y6tYyLR4m{-674BQc5O#snVOm+4%<}9WpE_Y zBv_N+DuK}vTSkTmg9i1e#YkV3ISGwsn?|ciXqps?6>60dQ?v63$Hf}WsiV*Gt$Xg~ zhMR8z$0gC4Lb*cj^pYb-jvU`#=ov9~97durL}2h;7mMccM;}4xnBCjAF?H$$)AczN zmhq7hu$D8Eljwl~YPBkrQW4K}Xg3=e9g_qK&vO{8Rnx-8R^z)aj-x0RDzsZIrl;np z7JUXPCBRZFmDn~u#>t6E8qGHCAZEVNr0hy&b%;`e{{A7p`L(a`xw}5kzALZhE&uj6 zIdJ_AU<@|1rLG>}pCd<(967$%&@*D}#NtUIaHJv*1ODg_|3B{h#_NdMEs`)~ z>da}{%_hTxgY4M8ol?O^NkJS(7*|oOmKhlwAPfV}oSwvL#qiJ|7()`r6nu|@@1^Zn zgEu;Y6r`T5o=3S{qExPMxORl;**WTs7KfibM#Yo#mkP9^gfl0OGuvqKL$CO8v`+ZM zKYf({d;bBX?=PAaZB}(-LpfvDMDBH(BS(%L&js{Um1>M8ibA};Dj)se-|^QU_y9lj z1Gk~Wkl9v)nW-~4LNGMYkHiwT+YAp6VXYwu+W4+Z5{1kKZCux3u)hzhHPTut)e4nT z5v)O2OArJUs#UgKc?G`b<9qH>Y@(F-u3~0pmS(F>!I8A1gsme3oH{duwFxEP;cNGP zi5I@~hj{AXqkQ`t_i_76e`ql;YRAj=Qo))$$UjGp962rrdPa-_aFoI;muSvR^UwF( z&A#0`>917?>kBmI=Sjjgdv@+1jw0#{^J&8HpoLPBqUTbnl&Mv!gh88TqfQ)!sbf&V z!*d*zln4Y;!0^yk1_lNg92lTlsUSpJ^taV&Qm-%2U#lUlq2M_r+s8R^a)L&qPQei< zr$DpaVxU&V#sP17 zM-H=NbckBH#N^BwCQck9Xx165mZ?>1)XF7_1)ox}NU>DFT0;^i%+JkG@I8tJA8QhP zw?Mg6qSb03g=KVPm}<4c=*S2o!z08=jH{e92dXs`N(JILB#s20=itSP;lVyU&mp!3 z=`;y7w4*X!xxnG4p5VSOf00{%;Dumx7Amn+BT)zeCW|Y~`7uY1967${&{I{a@4JLS zi$@-Mkan|9)GlD+0AUi8HJ}q_r>5{7hudzw6{9t$PMx6Ds1rvKrDBm%p+J(vNI~kY z>NyM!4bb1;PhYJ@Utf(%rHtb!gsYHPVy#ojQb|0gKm|h>v(!21bUMnw#g; z-QScO%;UUIHNAW$6eS7vWHafzik3K>e2F%aT<2VY> zb14>!lq+Sb)iSkOjcT=m<2bmkLmbDH%O#``1g&VY9w($61OQ7%1qDC(l8n)OGB(O}*ImcnJv*uO)fnur(P%bk z2W=)MC#cnG3=I!atJP4BL`sP^nmCC8a0?#RShO*?o|~m~%PL-FC8J!=0}PdFg+^Ud zDi=wTm@VU@jExQv#2RB_Txl_Jz{pS^k3IS@3ujJK+q#oDh*7Q&bkwP24P2fC0OumQ zIEqk?lai!J6T)k4P^u&8LMPvCk|Y2)PUjL3#8HUr`RUk%BrDzAnar--ur?**#e&UZ z@whnw=g5)c`Hl^&?43G=XR8&hHCSs1!w@M1?Pim?nQ1De5>_V!ttPv6Zf9tqpZ)vx zaNV`nQ1Cn&b8{Gz(AQUE+xBhTdi!l$arIRUjg6)RCo|4tB%L&NZ++`qdBYpuu)K{d`MKkIIIasUC4OH{iYy*KwWrEu z$BYx*BCOF2^!G6|)X$djG5Y&z zL}7q(6w*;x309<}XE3RRXbg$9B&7e10B!AJ%}CoR9&9bv7%&!LO}eyOi!~Y{1g`7g zdoI53QK^*Kx^)W!{e6s%jNm#B#e$Czma*X>?!NQW1k4nf$IWP3SbT%gyhH5ikU zl1>t=wcK&X9e_@Tdc51z%CM?!KNv`vDmD_N0wLArbLLfU{W%))?l>(3_?PZBp98l{~VPTBM#aj z+qZ6Ec6Od)$4@dmG)!U@PaiqT{%fx1!N;EBv4IwlBOIF7_xjWKCuj!wBqyC@kheP>KYn9C$bo7ovt$tX=Ot{0Ed zsam0=Ov67shkbi@vvbEblmMe6cJJKI%+zTH`YPP{sZT)A0;|(x0z9_@?{!v8+V_37 zZ{N;!*ImyCKJZsaDT(8lB#A)?{``IK<2&E^4*U1-=T)!z84e#l%sb!tPCDw+Fbp|! z<_ym~^9+0U?&Ybcp5ovC`+v{O%nWaUe z$?yH%?{WP2amcbA<;amE$MY2%lNfDBa_g#QpAi$*f}?1+TWsIHow)h%NMEhOl?V3o^>05wwOnClzK*n(zH*UM$DU>O)CmU0wquOO3W-pPO?OeX zmWwHTtg;FqaU9`!F2DGT|B~PS?ce5s2OjJqaKX!7_9NVM(@k7)#g!a6av0ZjX*8OE zMJb8vI=HUOJKpgQ9LM4HuYWy-LV{9ET*17Hyb0a^%SId_r%lYiL6h#q8X+Ab4fgZhZ`{X=UiPCY*<#X@KW>Dd{J=%lSp{rZ>Hb-}f zo2DftOCcRRzl7(PP^v(+HjJ?jjaEbyTjE61ZnY^C3T)jv&g{$#S6s25#@sCZr2;#) zjB?+X?g3%IYOF}TVvW(4*8?*nE+GYGG3mJFiYpHA;upV|X0wUPRM8#cyyK2Lc-!0F zMi8`92|Y>eudeH+j!(wmdOpUaF_6Y+9M?l@ok`u6AN|pn<2WvV^zL`_@sEFucfIRf zy!EYb<>=98yE>Oki#c-Scz$AI#3;n7jut`)gb*m-XMTPjtrK?b-pz@VC(zn3FgQpM zM%3#K!Z0LGVv>%nF-fr6V71013DSbCBI8t(8-(IH9oaV?g&oEG{urM>t^u$S; z^Rpl<#v~+3j8Fn8oy`kq7Z)KlW~3~IKuSTiT1^R1NZ$0OH{p36VHkpt{K~KV3cGgg z=79$vr8eRckw$iZ=b6CT&mRn0@;X@SDH+8?;(2 z{_gMpp1JvXe(SgX12^7yV=Ae4JcM)P$dTiD2w_vtmCi@7h9pVQTGI{!nvDhv3kzI* z&9!s_`i-?qAqFe5ofuP0?Sa5M2g(D=c>!Xy5=NBoIN+{PwV@QnY?r9pUh#=FhqLj=+DJ<4%q!h$SOugRV z*`vppo}T6C(PPZc%~PvX*tKIDMbDvCpQBhRFfuwqxmM%LU;hSAJ$;B|1P_!46zNvuIRDCr=DL~D1|YGSjSjnkP?D8;^{-raP-(Qo;`Y;W-CBBE;rwD8!x==Hp;~U zHi=l6InDgsG_7_M1?<_egKvN1TTD$(P%ajbSUe>mY(uq(QVN6a^la1T?qb40Waea) z9U*;iku0-4rcO3GRW%EN)`mn!8QF;}F48V$zv&Pp)+|buorkDpWNowba84%^PPd0` zE;;7Nk>mM=-g>1PL#=;+u`OF@%+3&LL#a}w6@*NjK10cKsP5Z^v7ogEnW{6b(HN}= z!w_u@UZIHc98}lhZ?X^$fk4MG=xo8asq;uX3^{u2D2I<6p;W1`ch5ey@7m3kS6xl9 z)(6@UHtHEi^3c=xwSlw@m9T(Dl1X8g z!$)Xi+Se7~i^;<3|n?*5`3NpCAf3HPK{zc#uSEl0*}tDHnaT zNkcqRPgRLhPD+%CKwCo;MR=Y^97PBOu5!}UWI~`k7bPG}V#1(>NfLJN+J)yAF+wmf zILy;eJ;QvxP7=rL*t!)@SlaakludAz!u4Eq5_8R!S8&%|UtoB!pF*vVxn@1%3y$% zg>nfoIKWenw~@vnX*U_{uOg+waXq9kw1bF(>*4t>p6lT`F0SKXw4og|Sg0@1YBg~^ zk5aLS@3}Pgvp1be5i|N@p9((d>f+%ADfh*X*e?Oo7 z)Th}#KEe%GAD~w88SJl8E*Ds+H`u#t2Vl;@B>(^*07*naRHMTK)aPfp;kF-SsuhDt zKqnx;2#r*iQEEH~E+p&BbF1e$a^%SI+(3_1sVPaij)Sn8T7MtYv$Kr%_fhGq(VU$o ztk-EaTLfW9De;JnX0X2xM@mE%gg-aGKzs5uCr+K>*oosfj>Fja7}gldr6OC$$0&Gi zX5&hO*ewu-Z5HNdIez>EPd$BzQ>V_*H#o$^i3Zzt)cA>4yn_CLezuQ|Fw|FNu&=~G ztpp~)Q3^*%gcMwHU>`@19O4IF`Z9*RQc8+(1dhbY-c*#>SRU3?xoorf7hSZsQhw`% zzu0Bpo!$1i9D!*$ni)z#P1 zU#k&D2}6AqMuz&i_4;eTCWNgzNz}%3CC$bHzVBj;;RQF|z&&63GRKY_VtD612tp_r za73#0v`b@NhF*JO+B8qBl%2LZs!NgmiItnLc8E;ny=F6O{&v1mZgl_k;$m)*OVR&c z?!Qr7?)EnWn-dXq_CYqINWl90w)%#fS*YN-i1S~6U29tQKaLZu6?mT0^?h&98;P-# z+Z5=eVH@ANm1hn|NP>H#@4JVKlp9(m{yo_^|S1_lNg8X4pI zn{H-o>o$;*D2h07{5Z37b>^n0n3_CAso-&7&u;o}te{9MUwCfnr8+t~g6Dc{*|LpF zslbo^@DDLGJc8?aL{Ui4TwrEqis8Y2tTh;IaXl9yq1mW2IMB!by?dFOoFuRg`v$k* zI}XMegxc&-ja6)WYd}hoC0f@gr8soxS?1^3WHm_^^Tnp8~UzvUlXzQ?FE| z(tvQs_t>{@KVSReJsjA%oxXtqW>23&$WCS&Nwd{v;^YL!j-O=D-u=Arg)d}yWE7NQ zW`2Q(9({!S?)y4c8*0TO$BrDv#u0mWY$FOZ&3c0+?%>+e#Yzq7`(ng@IqF(w=wM*%U$8e$t0MG2D=bNF77VzGDq z?rpe+kXaTK!Itr@^!E>P^5g_UND74_&AAy`?SNvj%*4r4%+Ahp(+h59WN4TqF`Sv2 z=H9P;jfWmR$k7ugIDF^~uX^Rn*t2gxCy$?Cd~}?by!a(3lTe>;QuOC3m5cc0A_dQ< z*=`YqAp?DV?A^T!V+^M!PEx5dx6$a09X}8-{s}&AD{Ve6- zt!YZMI6@REi^1$0#fIuJl9FSq9il`LAw94jO9_oSafZ3Xm}4`rQbpfU+Fu@G{9ac# zE}=K~@8axT@_9TzF$yUG2V(@*Iv5kTQxg-s{MHvUGdItG1*AmS-j=dl&-?Z z5FVCJ7>OobzUW?fACcI6kBS(UoM*4H}1`qZIa z((^@;%SB3p7ZcWX7COYT5q0Fo_B-E<31pTl#KCnG#%e$khHc^)oE}!S>#4+;#+b{j zG?d`#tFPwcABwR_#89hZ^wbpBTz4H;UVAM& zckCbtLq>;&aV%6yMSRaCXtj_=Q}#XLD5l+P;uk&2#UjRP+RY~IAV3L=?|XQjgEFbT zQb}+ei4>jCJA+bbLT-RKiE$i<>u}Q-LJ0x zUFvIpv-ZE-?Og8hUv6RlyzO7?J+SeCozHpf{0BIf8gD)33|OgJzA#+;_%}T6r6X~9 z&fod<4C!-;O`Qx82uG#oMM~UDQ0KL0#Av&{BeSQkf&Kw@?cBxT#~xup$5cucW@l$< zHCy!6sx%hnX*Zj+8g;DJ{K~)jWeTMd!g09urW^MW0f^$5%4- z&@?(t@*Ra}Ye1$60E(VRty;k^xM@;tEag%OCDX7BrBZTCpGfTD%h=TDyK7JC{NqRu zoZf1mHwH^bN?iJ!BgbZ8t)=YJt2H|X1uk;$HB1bm>-g)#dWdxSHp}nP^|ZD5PITSJ zyIktjbDsla;_Sb`+AK?#Rd{Xz)#IvmJzC`jSi8d6HoY*02Zs>5_Y&3TSvV6S3`{WC&Fsu9{iPzql`bRbZ<2XcNh}JRI8nn?wCZxZ=Ka~`vNb4+S#A>a?h2F|^ZoPVELbw$-K8 zwfeBKKN}^=rTN>48h8VJu;*TrthGobP*M@cnj}dOLXzlX19ZV#uAqd#SBkLFA`)#J z$D!=FRL91Mqlh>RXoW!9k^XlefNsXGG0fQyt zXMW}oF1t}zP9HW$^SS-@tKfwO|S8@AoFXrVh|4FQoILbwvZem#3R`>r7 zmftL^_%EJg`_;y>@}@P}>+JrB^Y&-0KA)=}npeK^hG2(_aALf=vl8btMOD z6JGhsA4A&~juKcaxbx0?5Vk~0j@^Ck{O_EvZq@hlv90c2uz5J&!g^s|s~6hW^%29G zM_6NFy%g=Qhg8-K^;n0;sWs=eCvMonyV&%_%)`d#?>vtbT`!Z`xbZnE>pg-U20?}_dOzw=5RZqnW-2oZva ziIWg(1xh*~EZSItAm-Gmc_t@M@RhH8i97H7G{5`1?_zjpJS$ARbj+o8&g%T?{X6Gx zYwfpUEFD*JA=a_adXBwL2#X*A5dj*6lm1`zma(aHY2(apB|&6T`dJPu-Thmw&nqR& zi(RxX6)v}g+q?FKTsjx$_CjB;24l7TR^NBCJl@xb%YFXNjdUFr*?CA;Tp`Hn{r0x) zp1M}r&bpS737*GIx82IvjvYMt>=CBt7udRe`(mY{VzJ1~>?~5Il{Mlh!jXc4=OVFS z3`$B$#UkZ$8LJKRbMu7lFjd3G2|+t#er|zwt3@Z#K&e<{czBr6(J_>hhG7KlfRT|A z1_uX-;)rIexm;SrlIR5KNMfBpt(HoQB7KhUzG*gsmDMjUaE6!Nch(xLu~=hQ#4e`q zrAQ?~V-!mIxK4refm9GDAwtAFdhlEPm*4%jEYwc|akl@tq?_gQwVa&0w_i;n>TIJ{ zd3Ck3SZ|E3?VVNj>29aH4=W{4yUMEq?Fsd5jN!=mY$#U;YiOkqF_i zoLE+>SXUB|$VxhjOx37aTA(}q>MZ7KJ&B)96gDfQ+)<~b_sMD`)V*K#F+1}sHo-=< zHmucPb#^m%_p39m?sK-B2-EtSoo&}5&(&<186jq>r=mtCdsZLRbK+E z(thgwxH00;3ImwHiSb zQY@8d2W{r&W}sfj-My39xj8D860Yac4gwnWI@)MdA~9&roH5@@g@T7MX?nH9 zM#!vQp%n^k1ZV?7r7?^`Vm4yl*kr7J^QB=Y)@IV9wMZej>86`essh$SCx%;Yw!G#w zZ{(x@^kLrr{`VlIB~Ds=@{=Fqb+3Ih#liqmN^G{cTB{K332hmCOi9ki^O2oG9fi7HfuHy0+Q$yjYF38plx>W6?SWEQO*^7`6$+fO4sVHWqAp zUAc~*jm;7#5mE|VS7A&{6b1MN53LQ>3an9B;~<37rE)S@8zZE_broS4;d=!D60Ni9 zW-BG>4#{5F7&nAYxP%awM~FQ~`_>w)Ua{$>g-EQ@{>2|)lR9#deduBTJM+C#Na(B+ z&s&L6bUhKIx2iz-9>N%;QuL3FF*v@3aCU~M-9k!-p}{_UufW2>ER}K*M@j092C*Mg zDi#q+5GN7FYRZ)oLP&xz!pzSxKR?eS4?jW>v=|;9Wb*VR`w#5n>Z`88_kAWOCJ<7P zBndjuG@4Bs^#);>rjhIG+e#3$7j@WDD(tewLuBGfucQpYMb%?G-!Z%TnqF)YtOM4? z=mg*QK^T7iXWz(OpZ`3^jy;un@x}pP`qJI}lhpw#ZiKGD?~YI z9Zq2+%7KR;ewaJ&{3K62@ffF1PvHALLqkJccir{8=tVE#=9_N?Bu2*wAv3byjQKrV zWxX`t;5dp_yNNM^qeqYMsZW1`BhMaUa^e&V^*KgHMj0L&<(g}*<5fTN8p@Sg8hX^R z6${PW{4D?Yk00i{-~AS6rY2Al1_lRt`O9CyPyOVpDfsm7Dc<(B|H6$o-b!yD4%UM%JMyK5B_qYD0VKv)`bS6bD`kixq=h3#k1;;f$KcQqCr%zqYce_x zS_gndIg-RA1VJ0+Dh7rI071Rpz-llS%9RRZ4k6CsL2qRtqTv-Vx*KPNgCg%Bxswtv1A1EJhD4jn@Uq>6S<&c=W;t)>Mele zHLv+O{`5V6h|wWZSsr}o+x*l|zY=Q|j^p##;|F=yyWY;++$4w?NN6@gTCG_gf9xSX z{h5#Ru6O<(dv+f{8-sGZ)P78eu>oz3-2?_sjo`RF?K!lTUr>Bwzl@XZfAq z`5pe}|NNg!Oq`-rDiX&bK{UtVLr-w`-Jj(>@A-53`i5~m9{}k&1VNKO`P2W+7r%Hn zVbsKR1=hyQ%}*1AGaNhq1fTo-CwS3|UdnI&#(%(bOE^vmv#ucSbJ^wAvRN*Dm&6G| zXrwUw)d&89kAM6l7#pD!Y33zsn3!mC`t&ItdE_BJ`cEI`O~3eN-uQ-Jgv{=H@Zh7o z{q6sidSec2V;lz(9WgU^f#+vHFrrX&k-}hY>U8Be9!HNp z$#4JX|IGaSJl0wg-OBp9B7NWmVT1R>WzVrHR~2|xyDoZ@h+lH?EBCb?EsXEaD8H9X$1j67!t)HNfINZ z#VfctzQRgNtYbXiN4X9ILqlAD!wu}+cYyJ+E!=$bEsP8e6SUea%+2FD9=mq#X8X3C zjE;^|tMy|HeD}K#@U3ruha^t2r*6?T`I%iyWYS`nEkg82a@_cdw`ZwVmnqDIKxFp4 zIEpbA!bk&(?K^g3Ogh#$j(FzKQ&^iIgyqD^qrCm?|Al&ennVW(Vc5ED8v}zw#Bl<` zFgbaGxBbpwwRH{)xk>)xfBH>kXV2ie z4nYuM3`AjwkO>R*DgOGe-;d3R1uR-ey!+k%i+jI(H(|7Z5UJWy2$^P5(i&|v)<%5w ztN+ZO|M{OFWEzs=sBXLI+Vgp~eJ`ESj;c1zf@Bx%okFAqqg~GfEO&q5^L+H9A4Kbb zIBsK1g5$aj4vykDK1OSVuq1KF-`w$6+;#Vz7$Q!eKFNQ3=l?^iHHVT0DFvgWV+;+B z;5r^kS!QP^_}%~dADNyxNuooPBS?}MZ4#7YF*YQO>b(1p{*ZRNiINh}^RnzAE7hqv zAkAOA^3^+ti+nv-aIyX0*cf^(qijH8T;b%9dRb&n14~a4orem+l6qAju!&*cb=R@5 zu)yRqPczej6gMW({`5T=jaih|GvfR(b!xb^fV=02OYAM9m6SUl%4P^ z?AW)DM<4huMc-w(Z-DyjH0{KoQG|&>C59x?BypTR4aX7fD4^b`Q*SH~1)7pyrC2Oc zEtM%1iwySHNTL7}8+^xSetLli4nM^7>>RTT3-tB(GcrEH%{SdlsamAjS|F7Smpm4& zwHP6&H(Ctu-36`-9S1hsi#Qs4f%b+Kwk^^5&Mv#&bfOncqekm2X}Uz9FebGxr4o;! zP$(dj#KZ>Ib!ar22q9^=T72zmUq#3Wr3A0}*;jM@^*17LutYsk37g%zj_Z^ z$9(aN|IGjKuYZkVq1a`hPbJwXiut8qdNVtA?B>URyuyb*^bZKx#Bn4>Ti)`PUuW;$ zt0}?(?5UDUBsT3d_r1{tABXXJ3c!)d<6c z*T3$UnVdMy=kNXq2t%SnKKHp#bIsMaaQ>UF`&_J|F14B6Ls*P4BuRqnrN3*FUayXm zN{>AdX`at&t)fuTl=LeeEwWKR=Cf9E4C53MJx5bN~JK6Gb6f2mI16{W8~H zdmUjA<9Q{1`lnvSqX)mmSHAKEjE=eY-h24vH~$*7+7Lp5l#u8+%V21^`l@UA-QWFv zYSj^>P#7yQCMU+#@cmP@BgeUL$r68dq?b+!V~ZeeHy9or<%U~s;o$w>WpZ+oy*sw! zm21RNL=*-nt?^?`9BWD?Nze)iqBcSZ>h(GWuS~I2r05rDHrt#yb^@y-+Vwg*3X$15 zHb1|>o_+hd_Sze9Jdcs_VTQ*CsW<0IbVRvQ!LnpiG(e--CeoUrv9XM_#Nt@aD{NdO z)>n^leK5wP3$jvx###u&5J3^G!!EaH18Bmqov9+z2ZL&*MignLr{^(7lf-Q*l>#^3 za8oL6+7Kxnf}qV6SM2AjU%eZ!wA*c_r)Sx|ZHR6HQc@zN!@hk70KxF^Fj{Mjj(`MX z;L0nnL`g-GXhz3I(K^W=jNwMJEY}R4Q}bG=T)x;wT5HB*ti5$7joy zZJDEz#Bn5l@CWbWeee5Y4jj0O8*jLg8*aRTfAf}KqgbdCMHXuuP8>f@5JX5R@w@`p zUVAl=AfzPGO&r&9fdpo)BY4GF%p9o-H&&SUPcluJ40@8(#QA_U+rt+~gS!KlucHwV!6A zNz`hiVomH?5^bs1n^bFMl&hGTo#puP6U(e5L5C*4Vpy z&;QTfo5#sj)p`H#v)p^Dx_V!dkQI_Z02K%>Y|8Ee2!i-H^URDoAxfb8kc(o1#Kz4x5+`{UfIuHKSP(w(G3eO|9l zs_Jg%o_p^3p6~Yg($?Ni=ggVp@;UNN1)Q|>^mL;_ACTi9%NrB8jPqtoUmroP0o~H# z^97Wc^vPsb>oIQg+?lV@3tLc1dD3*LLHM+VAuZF;-LnpB6QmNPsiCE%4Jjn+)~!WK zfv}EJsmLXld=@3WkIGn!Rto0~HsfP;#fp}|7DK(T+LuHa`ZE0ikmaTMjw1brd zDvwPdXbPD8KS7{< z@K2mDXaBjNeEwpEJlt!HJ8Jse{ZP^;ey2%_kOnD5bL*uqs0$$wQX;YmJhhfkD+UJ#tM@iFQG&G)=pZCbOH{_);9!x4d>&&Gq!g6PK6)2X z&UjNLQYfSh{T~t5Dh@gL2)^-+@A2rP4{+=6e#O&IKSpowW~^}42-VG7Hu9U_UeE9E z{2ibD%oo_QwVTxVKqDcfPfd{;Yq9{gxI&tsu?D16Y}wk!a3Su6qClZkkkuaz0kv1< z;nq>d-iF;=LrG*&kq##$)_K2P-$0S(#zw3T=vcUj1Fhw`XP=?i--il9$~I-=rp?To zJ(EIHGpS9OH*Y>suE6G=tpqB^V1G=xRHm)Dg~p~vbP%wyrw1h^`CN{CLyrDZKVd%d zlb9123_?pJJ_$Zf4Aw!MSge#72XUH$)V?aFtqp0JWb8~m#%-Ul8fEM7TDIdi7hJ_Y1*IsWnD&oXcBB7z_yO?^cYr3Jx07*naREWQ>s=VxQh4HS=PWP1^a9`+laeH1_UsO<@%QJpqcP2x zF_SfG`oT%c<(Tg7jm(+dL=ZG)!d{`2!7u{6`VvWjkTb4Kzmy|C!KUM z#~*(jV0m=epLz6=KlA9ahk5$x$1pa<37?q%-S1t-dFOq|`&~0Kf=e#>Ec53dgp#3; z90sqYTOScD(6qMB%AgXU?3to`ju%G%=J)W#-M>A6%4~LQAY&`y!h*^^v9qt#ZtqIhWBvE5rYkl33$| zXMBo@B@8u5>?1sl^(-+`N|MwPXit9blh!qd9(ow-*RR1jgOYI5&DV3_fd`|5ocE;) z!Eb+aGu9?q-OZ3g4>=6bNHk_#q2Swh;NpW=z3O?SQZy6_{Nfka^3e+}!q^07y@psE zEOPzz*I}JSSc_Hx3l<#Ua|P2FDHPZI&s7*x!rGXnOPBJBR~*LDBaY^nqfew%>gS<{ z|HLJq`6OWw;2iYyY-0ZW`Q9WeDw@Ayzgcq$f=1HB_sQnX8`#*rmf~PP4fz6XZ4zrN zS}T$y_0g=NmV36Ev@->xt&TeO9qbm3abyYyWTr6TCv1trW!jmr7M;&=#OsdYsmGVm zyLA%{4Gr{_`YCSdA+;$>4qSv3(BD5mOKS^}E~BKPZ%Z%68lrqeW1#`51pTD}lD^IK z5A@O5)lSqHlG*_43|ecH^5#Zs3~`*`EF|R=D*2}@#Z(3&aJ=uP3A94x$U-F zS+L-MEM3EK^UXK%+goq)*LR*k{mpMa1Ds_01q=j7E`1Guy!-bI4sIoi6t~=R3#(pQ z$7^4EEbZ-`Y~H+uyY9M^=T|(F38MsK5>7qk%?P2eCdIgfKiqjc%b$A^=Td%m+i&>f zKV8D2MT;pG`$$d9x^?T3LX)NztpgS>I*6Gw_hbJ2{aLZ{d4fRm{qJ8%SLa*~J@jy# zgBM?1!M}a^|6}>`XK>DP!2XN*kN@}e!dD+f1oa3}3B! zV)4w;;VSuH0ZN0jj*hwWIPTOpar>`tWJAwdLYL4nV+QLttYdIsfCCpTL@C8!u}GRG zw6-;p%Y~GRB~qJEii>?)``h>Pr7wL3tzrH8HC*t~_cLS03~-X3?k%Lo^Kv$XIsWc% z-{*Z=nHE^}EjqzaF=S86mZlb|0s!LJ2d#L1REty)$DZ?3N|~8ZeQF6f4m@ZHCmeq= zf4b)m%H;u&aOIVkbLExasn(LLnve;2%UjOm&_fQ(nD=UPK*xgM^=~+VKizW|cm47A zB#GA|AA9T(9)IG`l^)I_KvmVWdd$(U=M8T-iQ4KJM<0C@D_?vTV^UsxaXBA3|2;G{ zHImEa=pQKhC{d{i0)-HY)6X~)lft{+^|$=%zy1qJT4wd?HT?a@KFo}nU4Uc5hV>}v z{kBom#0Nk4VZt!V$lGN`mTv$oU z(KWM!rj|y+C?JYL8X9sG3VEU^pj;YcaA1HWjwuz34D|KW-`CHUO`9=EO0j={-Yr{^ zLJ}%Xsc(S6?oCimz+{XmBI~)yq+i(KdW>UZD4{?gr7zDE1`UADgdsRQ5xCMIRV6({ zQZ5^gIQ(^d;dB3wT+~7s7O=*XgCBeB@tk+w1(;OgoJ0!A`t@tsv}q$sd#yVP8~E&J zKF8sQEoI1jCy^pV$_OPRl=Q(LK0#gsnjmNZLbS>g=p1QcvItZ!K%=ODwHmGRXyqq= ztu>8>CN8}2Vvc{qDJYr47>QCLI?x%lpC=7>R&o02XY+v%oR76$P^M|To&FZ&as@td z;XiTaTi;F;H6lfYEym|ndQ-2(8cVsH^1uGqU-OyId;ujrsk&5(D2h1yoVRn->yAMP zMHuGLS~ECUq-RsN=jxRi3AhM&+uPp3NhiJut@9jp)a!ZIyWR@~1UgR;g!FW8q^ElW zLEwYg3WY{K{pruLbm?o*DkM!)w9?i73&K2=!pdV?IqKSD9d(Sv7SDkeN|*B^)nK`V<04I8)g(?1x~(bh^X3bC$;i46HDLI{mX z69g6k6dD?cqL6ZV5MxuUF+^bwV@*|CEDjEmCJFuh{p50aoHgWvfX=o?ZolVWf!c!_osoW1lgu1d0QaGgd*#RBxUCf)eKc}4X zCXPAg^+*vA#|AA0N_nzzDMQXW^PL=i*lW1umYaET)k>az>T&W7c{)30aMV%9aMoF8 zlg~GL;iLjjr{z+d)7Y#=q)!!yvLF(NRyoS0B8U)xI2Ht91J-)YQL7xK!9gIz2}vA- z4)WP{$VH7@eDP;^^P5iRh8wSA`SNGz?%qJ5&_YALfmgorRh)L(TRHU5R}$!uB(>GV z`t9|fvxRzCcpkMY(s&gSM{-AGT*dR~0#1$w$SkZ;J-*4EC^M<2)WZ#a>8^Y+im zbSVTrg0z&BiNXdhy6989_~QTO)?07k>8GD$WA}QB1AeUSH+v3q=PcmdbKlAA{pM0G z`(U9UXyn|t|8JHqeJ#Jb`6gDZT+aISYXHa0Su;7}@THu2=Gk;~>_-w?L?8)*h&Yb3 zsMC;g$@_eVN>f#qPPXQI9d*=E3*mfLa^)*zX%xm721_Ld`upka?d6a|UxD}4_zA9> zd$-eJ^I5t>7OGznj6>C{9ZCtx10`;`;n!?kzk!#YeVR4TKSM)c$!mv6%0ybx)R?Ee zxsgaqqCnBs+(c3?6DmcZHJzQEgkeBm-&Uj&G`2LNlq615j5Q=_inW%lTes5N+sm9e za|ptS){ZV(X3XK{JMZJB-`~p@{{5TGTk=W}3ghsm+OZ~hR^NbY`BUW_xYhRrUBlYm7~i(ra;kzpV6>kfg?B=3A(kKGQToN?l_D9gXUEbT+HF z;y_re@zJrKUBP0CJZ$~LXspIp}F$?Z@uqT zDewOl0!pR9EL+HV+BrPUo9_d!eFr+iI)}}u=Nz8Ed`JLh1)iOzqKS|2`tRUKt)q@z z!}e#%A-UvS7H>dIDc;DDOZR7pX=U;;bw0-J3WxDmtCcAFVyT2u0bBaZtlw0kbIuaF zHx1I;yOGTUeKh9t7$=AaQi@40`9P4Hz^bAl#m zN_S6p7QXKYauHEO-fNA{P#PTIm4_b8SHAIGes{~S`P;<@W2H~+$mes6PX69I;L|Mq z#OWXt4i&l{QJuJ}wfVBzew9HevO(vp*NXiyDhpPEG<9BB;1Kv)e~2MsZ7(2w>Od4V zlBOvFh$4+KKGL$X2C4{Vf61zyIy@QGtXrTmi+LyJ7WkQAgTNSPx|$p}eLHaRJP2Jcr3r`(;A9nTW z)eY$5WAX*#BqqJ*a(R;2vT18SePu&qQxgjgel=@eTEY6&E7(}2Sc7$rKnEnoke17Ib#>9+-tMDSwL%A)Brelj zXy(9$2k_8+_j1-d*3mv^E>Rd%ZaDjY5{Bsx)nlw(SO}<@BuAgOG9hNDtUR2nIi@0z zh6kkxIo!-WeE+c)Hx+^6w+T@ZTK@VKp(v`R_lh<%bT6X?mK?Ty==`;98xmln+d6cf zidH&t)LysZHy!()M_+GSzmK(T=o#5j&t}B)9`@ah*p>-IH*#C8c097L>ZqfR3U+gX z|HP0fC^%~|slhmhm6|dEMU$g(#)0HpXVbg+MS3@_p=aY7Hud$=)}U$5E1VDn!eBOU zrko~NDJT^3^bZb_q-A6(7#QeBDn%HEw6?ZVC^XR8+D2<@tFKu{mK3ifxqObc=0>{L zucz48N4p9T#tbQ7qcGmYIq5x>{Xe8(4R3=T+Ru$VruK8K?`bTI7r|NaTaDhgQu@j{ zmzg{Lem+4ztqQi$ZK<5Yjrd;sS&aC9TkRcr-tn$E-tlAoKK4BinJsJ2U%PM`c^`7b zzGGc)yysQ>%uLO`awyoQYHF%YnHlT6b<{CkP>F1xTI>aaQQ&IoomII*oj?ZxTS{Ar zQ%jI9uz4UR%r}viQdF2{MoWQ));99Z9cG@n#4FO$u&!IVML?QY}ve-xyF#hDM1+4 zXe=(PygqWmuARguyX%J6i1cPnS9A4|TE|G#wskCFF!HzU35ucpDztJ!2;wBJYJtYN z%r`e=)*V~WY)|k_G;n16eZ+RQkKDGstBpS2$Tn`P|J*nuWW2FcEAU1>zs$s2J#;ML z>?!l>n68+t`D9Oxfr(J04DI0=wtf1Sz}0M;=sd7v*hRr8w*7o2;KQhxjGXi3dyKVN zf^x)dx82S!e)%ir%v(a5Kq?f8@pNrzYzT~?&^DXK)|qt8+MnK@^{jho1sk_+CRG{{ zgNQ-`r-^%u9OM zpNIy#J=6+COQrCs8~)FTeYY)+>)6}jCL~(6caA*;u`OkxQqrxm)O0=%TPjDX+)omh zN36*wUpVd^8e^tiq^Thc19TAb$e;hrU;WkJFmL{1-g&?)iPI7?RG<_NhgBM@1V$93N>}vtqBz|DL$O`2xY?2&GY) zq!>w^H!)ZTg+h)vc0i0Tlv|+z1K+5TrnCxnbudlyNi{3zJh|Ae_}s>kyRkn--JrTN z*n4ULZkn1dEFyA*H>w;8RsBNU0epl@U5eU$MmV zFRbFIH=ctrf{hzCF>jzmb4$ZGcQPa_hX+v%-$#x}6>!_mf%R<3xS*Bx~NgM$M|T|i2K zu~}7mDM_uvN`;mII?Ry>jZ>0Ba~m_7=Fl}bpZ={I8Q8LcElD4P-9=goAuWXt90}GW zBuPw?#tg>RS9~xDD$w)}mRNY;Vt#Sc9rTxC7A{^wzfo-1+{;TZt>(}cUvPJ1zg4(l z?J$9~V^2|RhgHXBzPd`Z>7oPoA9vsSbT=B~`}21EsC@_1Y@|$;@Y-Wq;f`N-SC+Mt zceY)->h|Cj0OuLDh63ED6uYR5?z$;)52WJTiM;HhQdew2so6}qX~$ZF4g#bQBymh*V}W&R z*K+O8e#XqM84UFIBXGR9as^A59!-+O6q+1e&qw6LHVSPsh)eyXgIgIWZK60ZKu#E%LP;n?`Um@v(h%kIL`^Mx`+NV5&NVP= z-h6ud2PuRtM7ai5uUkuRZy(Lg4TPa4j(wSRItsm6lrRN+1U{-kjYSmAWk_bCnKm z7hs)dRZ&`#CUG^9{5zLl&ZyNPCQY%a zL4+W%Xe9|lNrJ$nWt5ai9Z*VAilvx*E<{CbBu0|UH4+iSU_ZSBn+OFob}FHym{u=0WFi+n5E8(o2}) zeE)mjWA^OX6tf_lnKQarx4xUWJcw3;v|K_uXlrREpKG9}r-#9T0a}_0L{W%yhQZQc zwcmUn3Jekz<|$bR)}faWXov zA{1*QFDqJ8sZ^rS*vOSvTtRPdFSGaCkCG4sLC9dSNSu^-;)!J(bnq+KytRlkf~JN} z%H^1bT#lq%CW&KO+nR~fm@vu{Co$FFny{*^SR}-R;ZRyrrKg*Tjh@ox+FCKOYrH(j?)iqmSk%7yg8M?zx9c z|MNd-ZENO)6OQME6OQK25 zms69Dv0kpdaiW;2UuI(@#G`|3Hx=k35nnjEKuIL7>^x-AzYlJ8kW)M7a>>{OY1sI~Bs`8&;TD zgb?UJBb3HiN0@6s1QC6MF$)$g;a9)CoqHdAgr?RR3=A3y&7E}4*bk)xZu!k`xc|ZX zIrg|?&|0wn0Sj2MVkPU>t)ru}lQcElfB${_^r!#BZ-4U}uD{_1R<3xS88f0T#h7(X=rGmR2sxt zM;JyVsbTr@=h(1eBS$Pff_Zc2vUcqnfYdyYToXCr~$6wYub|31`+GAHW#_5Xb{`~ju_D`NIU<{#XjKvr`E~85j`pN&x zU;a0qf9^SyQf%0;0h6W-^!JmCB8*8X4)oL3(nMEhD|g?0J74_#XL$CR$2jERg>-Z@ z;cQH~)Q`Y|H3+=_ZYaf_%tR@(qei zmX>yu3@Dcq(ljMWV~%|FQf|EQ27dLcU(wYylcSG5hJy||m?xin8k^A>ZCJmNa=FZ5 zuR4r{3lE^RwUrlMc!7&Ax`?ySKAU&G^PSxKyWgRL5TP|uKJOoh^eHUX?igL!ZpHTI z6gT2;T0u@9miC=U+!HCP!l&M<@=NO$9h#aMc(?E|+6qV1VD; zatjw+@KLV0<|nkawEBwj)-%FrsSpSn@_Ce$3=S4?&e7CZpl4GzcmMG&4n5=`X74wX zwzd|+z?a&QLJ~z@yQ}2-nXK?~g}7Qug^-dk${~bc^QInVbat?Q-5Ngk&!1&RS0@em zh@=#Q^DH=0N|X{9lhED0fw^<%^3X#Maolmo(bCe65RyCZypzt(4w57x3<8|<#gBbq z+K|S^M%vrkvDWhRGf(rQAN?2i+RsMSsuL|9vGLZH<&m{n#`n3?#*YKGMVoB3; z=aZlOB+mIN??JE=0mIdD@_@6rO7+@F*4nH!SmQ9Msg7@J9M-s+eViv%uUy}ONe$(} za&`ZSyc;IXh`7gE*t#*cPbVdyjyhhpn2bqj>daBwoqcyUBGp=pHKtlI!&yfZMLhN7 z6P$SBi6lwNt6udgoU`=z5767&OH-kda*|SLY$S=}YB?&Yd<{Qq6O`5%Q>LkqqpPEx zYkzhPNgDHsfA~k72#M2#q+CP?5uwhJ8cUj_B+eqGKq`q8now)X1APqiZswrH2XObD zcW}#1*E4VKEKFR)*%E1DQ7S~plq4+@1PUbujfFgezWQ8?_I%Ef^5x4p`Q%e@&M|M^JbHV3Q5ic-q0mSi#}pb0 zzT}gV*wml{jn+QOG*S_1W}=k}(zMLX868}A-OuUk@8>`M^DRz7+8WdsU(w{Ai!$VDNkbPN>x ziQ*FNx`QZcz&T4-R|lyvtX#Q*B#G(l?BKcQmUG(aZ{bHj`T;#XJ+!v8AcaFIi7^Q# z^(N$UIVMR{3JnFUHEi9wl^_h!O7rG7zZs<@QcA)w+F&ERX-ZFb4^KVy z6bB!2@VM7ACiM#lK&#Pw_r|0oNwz(hOg?I7X0v=LI^j3WpF z`uqD?zkWSuoN)%=wWKXuHv9dpH-%}fP%7sM!Yij$5@RhUwm32L8VDtQvVUU87YfW$ zGr9Bkw{!kSKEQ`Rd;!g^tt90>gsT)|b)=~yu|r&>0#L-XG&b|p6ORySL04xRNn8S9 zKv;}PP!iH)kp6+Kq$XytSfbEa;E+QO#@dwS%b($~#~x+#md%`X)>*va_&0FJ9k(%~ zs}rzQcK9$1NsXy4G>QX78uAS|2VI?A9CzHYyyG43Kq;LGM}<;y+YzZX6SQ-V&dyFg z`q2xJK?v58q{cJc0D zv5&Fnpv7!hyN)0H;DS$P`(5usDVlTSIBQmK>`wf5J0``h16S63J3o_j7o{_&5w^2#f@ z>#n=_=}&*kx^?TAJ7+HMe$Tsk)vI2G(u$QUR&d#6m+`_2D~Y0rSG?jC{QbxNo_xN* z$`vcP;>s&{_L*mqO7hy*yq5R9?|n2iHD-O!F3d}lH7W1CEABdW2kOs%s;~`8IEhk{ zAP6v-Np!`E6{KlOxm@l@wdB{fCW*f?xm#C( z+#zR@b(Q^UfAc;pAuEDKAcXQfu)=}0i1sD~P{)HS!(Fv%6&GD}G39c`+nOYtfBpp=vGfSA-n_l)#g}MlYG%=*MLhJ- zgM8{!pW@&pOW1$G0v>tvQLee>Cw%&|pW#P8{1Fd4@BjxMcpwWGF68>_ujiZJ{3e%w z|GNO>q6lkkRXYrHkX8Gj`o31mYB^_-LUQY^x1yBfumAe5SiO2R4?XZ8m{HQGBmIOdpR_|u>ML~n1eA9pnh z-j*#}`1ZHI&CHpzShj2#U;gr!Ir7LOIq}33x&OZV`TXZU&sV?tRTeH<$XCDmRaUQF z#o6ba!`d}#_~Re{NG_M>f(tI-D_{94YuB#joO8}*)v8t8e*5i!;G-Y?sHgec!6L^) z5F10A z4JFdo3QucYX68%%q(9=CwU2k0CqT$i&)(s=RgJL-DKg@7s^_f=QZZ7P4t-JxMAp_y z&BAK2VQVrjSI<(D#0lWFFKbhbH8{M_(i)3YGHZj^P@S`$y#`NVGtyTpWfplWyl|9K zR`VAt!g720i_REC=2sKKFF;;+VI@FDju2LZQ>;mmQc`Gc=3oBxUr3Uazx>O;Bn(5o z_@ytQq~zRpyo1%N*Wgmasc(EEM;(1M3l_|0<;oY3Qqt4iU3nlRN$LZmq{3N)wZ@xo zt=D2*Y7kn11ECeAfg<?%DwmA%kjq_&#!;|Yot_Mc;SV- z`n9j+%=KsT-uM0;VHo04!_B|?6-sL^xZna_cl1%LS+$yvTyXxd{wSBr7-RU_*S^NW zMGN`HrQgID!^)K_S-WfyxfyF6YQ$LDb9lK=aJzE<6@juZ^x<^5hrQvQnHa{^7^M(cA-vY; zG%B08(=7ENt*N63!!<_8f^VEdD}~a!8iHC173 zttFSsW#{*Wf?ZAfT=pI7&_WRCpsHa>DXIZ4aU56Asg#65130f4N+rD3Yb|jSlg~Gh zBuTai7}9NrT>F{%cBF8usVX9+A_z1}d7tWbwMD23#mc$o%$dVCzx6Fl5~G4BGf{#~ zO?AQ0-qC?nnkWm#X=`mIj3SW!o`nzyt!T*Sx$3H`c;=aBIC#kt^0^#?rBbyWL7)kO z03-+$F8i&*q9Am(K*`c%{_uypNK?bp&pgA2&-)<8_;O>n{`R*VfBf;RUAqQr4Tl_j z2moEPX3*5w#6Yo#5R#1>HzI`Kh$D^w2eaqRp}D!4zP>)s9HbSwT#lBORu(K+0KnF* zTgc_|^mO-Rn!iD7&HDB0vDR_^`RDWFA79OX{nvkS)m2w#rs%&1;DQS-;0Hgrk{|#0 zYOcBF8ag{W_{1mvfglXPxuF1~9Y*a6e{Y-6_O|v+HKxn`?k<5cmHjb&gd&V37_;0s z>s)3|CDW+-F0;%$-jt*!Xd;baSA;j=H)s_4^=N!^yK`Z%6 zpvzGE8X9tdzZYw4rje;E4Fg2x+REei3qxHa_=fzLwRc?Umr6fKyfBuT<|w5c_I-$D zemg$K%$zHPz!`(m0cjGW!!Q%%-p}VX?6l@^|4eZXtQZRTF^;RQzKZ3`m-DS}eT(+? zHs1gK_xoe5Z;vt7x6xAd0|wd)N*q;<(He^i18%$RHmtP_4i?$Eb!*k~@aVE-Y~8wr zuFfu2u6%(%Kk{deJ@z64!%O%m?B^AB8e%}==InxAmk z;fE0fnooV|lNe*U@4kDv>Z+@`^2#gtw=aJg@U=I09+NczP3B~?FKJNw5=J_grV91v zUyE(V@CzxxdS9cp#s{+q$5f?1jwevZZ{YR@%h*wCPJnP?jC8lr=QGCQw5M(JnyVi? z#-<>}Hk*)nHml!<@wd7m0a?*jz4=)pc68QNiX=(s?d|33U;jEn2!bFWPE(p1n|c3v z?*}2O=3yjYTs4vvHMCezT7mL{&sxjRe|{}JJ)7w7A3$biQ<0f@QZ`Bjs;jT!zWeUy&8NMEd+)oK?|kQS zmOb_uk3RCKCxOo_0w&F1h5>EIo25S6p!=Jv}{~e)?%_*suZT9BplFm^9_P z-@TmP-d;{Q;xkKj5+TTT07)fw$R18IB zdo_Ahcz>u4G$yrJYY2jXG!{j1LXxVr8*8p^(l@%f8|ppI&(~cH)eX0 zsNB$qeckZSLVDrsz#4* zi=fs<4`-#qk~q$Mr=G#6rXgcqYx}4bfMcESv(N#8!y(jnpX9t+Uyp_HWLUKcd{Nj z*S0s0-?nX;7)F|q#~W}pLT`tj#kR(R7_raZKJkpTSlQA3*iqC9#l1BUXK%#Ln&Y-N zR_oX~?21`*j>67}d}n76KDlflr5te!NA|R8N?-LUDHmS4?;8!gv~2E>2YA ztYb{_&6pfh>a@gUy%4+DeLHgaxJ|AVMztrbnE&c8e;swyFwlp#a%TrP1W(^VX{U1bi4l@J%1fcnZ>G(sls;B)OG{vf^piS zVrCFo;K|NKNbc&;+tbJID)w~y_w@b0JWv;m(-O4{ni{jWwOOs*DHNP_!8mPEF`J4Z zp}4L0f1EKi-881U#<*kW-+}tKv#a8nnh1tFiva8 zY_P!c>Mod*@{D%9_cU~~o`+rYBY-6sF!=$CFX1v95jFb@N6pI(n9uc8Gxpf|f| z4KB#|Y%9NQD?xUsOxB2#ZSP{+*glcu|A}IX^O$z^)YE+E)KSNtgxlr|lr7qw02CR) zbM{?MdBAF2Fzy4W)V}nAI1+)Y4m#)T1jJOWhBzcBM;3n;LJsGh9rui0pbhOgw%Kso zV|%>y`Ch4FUYFt5Uvd)@b4Z zV=YRK5U^t~kT@J-yQbigR~^Dc?_yhvhTU=e&Y~{#>v(x!{9Np@-ml4eFY1DEAAzqT zGV)i84wNrIEG5=jf*`J3j;$AcP{&AxRozvKoszPzWKhrV<(E zg_~9iml2FR=ZK;RXC0-|Ah~>wG)slixV zEv!6R+>H&FZQfB~G+nK!&eeru9n%{->{zK;K#QGt*LMVU!8o1awq;Q8TADElVHjYY zBM3F+av3EB&cz6s00|Y%F$_cEI6+E*(z;;~!gk1}iQhxu;JfZ>(&S6dETwa6q1w#bR+M&9X6{)u)U9&@b?|sK_50yIBb>Ub? z9g~l`VB7~#TVqmWzPXC_D5WGxV}uYSsTY9GS(3Cw7}g3_LAhKe3^m4i1m<0nWPC)C`4Ay$(R%=1X@e1^K~Je1t~Q` z_(I54FXaT5hk}=%pm;gmYaMm$PSgeCw8dyiQ8A}F=a52Ru{`zEll=EpKjP_Uo~F=H z;E+QO=0hL;AYrI*u3U2-i_)-h<7%$``H%VYBag7^rS;66w?C(!ej2Bpb{c_JSO?{D znU8(!qrC9Ka-?wl;0HhCJKy;>k38}yU0t0VbIj44d+ytL{K?1p+0U-!@yDN_t7`^l zzV%GbJo9bfG)e~u0ZCHko_qhujW^!Ns#R+-#&GbGB^-0yv7B4L6pv-Vd0jF}L6GTmJoP|ALSS4nuFRW9_=- ztXT0Rf)ryDoJ#?V*05^zv;3cbzJxVvRuP2}0|SFR`|K7jz4TEYdE`%g;=+r`=Npm2 z;cOW}5l70$FZ=+TdNyI5qg3wUg=-$?(Pe+)i6@@M7_Z5#UiCcR{odCp7B}%1fALONjc;7WEw|i&F)7XlSZBHSzO~$S_pe#D>~1c)=+l@~AZ36Z!9`KemZ+nS>5OfO zwyBOg-8SkZg3}n*RZ=qi|JEAfBqq=SgT*43ed|9-(h@=#PJ7Fn_{WPc=FGRA$qOr2 z;+#ba3&J1-#K|B(_~G|>>80n%=R-dB@sIJ{?|z3` zB1wznauFAN^rM`5>Zv$qa4zPt#~x<>{CQk({`nkt?6GJqkRs)-yKX~CaL#bgy?1lN z4cC#TWjZ=Lxai`G`P8RAO>=WIO2KWn-NHi;-h);?aA*kQN2=9PM;-eDwy!ZxCF&aE zG=|KAQ_|E_e+z?<)TG>a(+%|XZ6?ZT&OGx>KKQ}&!3CUp^4VzBz|XF|8m$dN7_3cL zy?QNw`qQ5P$?2z`$q6T%jI)XhFT999|M|~s*|LeB|KeIsI_YGrCDSy0@XRHj{yh8d ze;}uv{8k=%@KJg;uR<%yg%@7LqJ>L1^^I@gZ{PFRZ0%jgOE0}ZsWd=iA>@V|t^;96 zO~S`N{&9{t>==a56bcP|{_~e$%mBamljJp=f67t`xGmb zb&YWv!_)}G3MzwX#fs8GECRt-Q7Df7Jf&1Vqk2NPL2cHL?gE?j_AuzK}Nq$WlwSxx7NqCE5FEkuYMfo`NwXhUTIG>aE4 zLCTO^RG_)JwJO-6D8$&5_3PIVXhlAsW9ibRK3ycpaoAz6LCOdrB;DQJgkiYb`m~NZ z>ZqfxG43O<)}oaLr5PM7vUcqnf*Bo;xAQYm5H-2D+kBZ|y`^zZW%Nx$#O6wC zoOP^Sw}vDwGiT;ZtT9>Yhan7dw6}M#VdGX-ty+Z;0x4xp9#ck+UMI+`qmDYJ0CkOV z8bf4-%cSx`!gps61A2S6 zB1DBu0Lt+on>TO57(;t|TSh2QU&GZ=M;*Hd_1R_`qvB(f0<5#1BUSjcjaR(#mE8Bh z?Lf*McihJO`3ngHO_G%O-S2KeYck=OAf;pWoY|PvB2~y2zxaPR_Sn}0nlv%!K;fLl zq?UZXkvN7ltpvk3ASGh}0AcX?ixMF!oUOH*-jL=vYvwH0tbUPL7#?`wK8`x-6c8y7 zKYSm>;#R^)GH>2Ik~qfcutpQDYl?N$QODGwE*PgVD%_@?QKrH=lK_I_PdJeu{r9&q zCgu9;f5||x#KB8m#q#CLx&HcVF*YFxRW;S)$Rl4(6g5yP_4AXTTtj1H6P+Eicy!t0 z{OE^2q`Rk^1NL9UWtV*ioJQ+_A(N&>h@k?bRS26U-dBX9XUTWY6Ox~O_PIRx;QcrU zmww|L^!3GP9rE4pU4~Q+=M-n1`3{r{YVW#oa_R!Ijymd?3e*MTG={5``;-EyJawD1 z1|cL}on3t31LyJG?|zeVT;ir1f5{CuT!(Xxw$>H~iU~nu`=s(G`bp`CT+xy+w8pX;x`o+qDtl3Xsw`~?g6;Cbiq zzW4ndS``rFa842Eh_{|`4ht79jjUet zBBfG4OO`C+#1l^C)KkyF8c$+ARH3~h9P86^9d*<(H4x6(`V2G8;2+pfnW%>!UPeQ{ zjWo%DivWqWK5;(`gKD0mbDpDADMg%=5yBDZkRZrW8Z7%D7cGb)MUs~NRfN|Do%Q}f zB{iw>g4o)!kA~HGq)-@ZDVK{xxk>@#%CTf7Ua!q+9pT(iH4rJipp&vvy(7(1Q8ZEp zRdes~JVsF^IC#0Dt})gzow5D#TkAHd%oj0(rS-h_wTrV8OwA~)YmCzj!-_D8+O!2X zY%iq(vN`sa))OEGN&>|C(4r^W3&HyRH>ODH={issZg<&0ayu7h{ z-v7E_oW`gc7oEizTa)MKO^>Nb0fAIQf~b<150$7^hjj)aDrQ(O1pQ}k2CZD9c8ym_ z$?&q-4*PCwB`VePxZ2FLTdCCHVY6c^+eFR(LvYoSQ=%$->)1Q6w?B#c5^7(?)IZs} zV4UV~_#(g78f48(H53WDy+I^u_Jy(e2;DfpSFXi~ZM6kO#VAd&mh^mNTZUhgnsd~r zxxEW}i&(6Wi7$t z;j-iZfA-Eh&Z_F%-_KfmpL1r0HuNS+wO0@X8%0WDH#f!_HTpBT5@X3V8k2jITw7v- zMvcK1%+;7^VnYQLLFvUPC?KGMfJz@`hJk74oW0lj{jv8sXP=p&N*j0|KgT&`m$eJ) zyWe-c@4JF(Hu*V>`C|w9u2s90_YLiJf9aeLX7<%J5J5b65sOi%L&TXGMy7)6Xp*&Q zh^52dcC?^TC``7_@+z3nI8PXDCJ!;XoDIKM8J{XyQB)aG%)Aufg@2=h8`;0I`P<08 z-&)(Fe-AeHwJ?N_C3YX3f0c>J77k46URxCw5J`jb_W0fBs?}^*UrN69 zmtkAtvbBz_fg5uhZD@GisP!1Fev=nMw1fK>>a#D;QN~{1d%{?6{COL{35_4671kJx zG5E%iNF-=k+=4c3ifP)kFkEWS{2LHqY@}o&KCQJl+QC?pjXbThBn{s@2fM}9*x8;% zy{A#(W6r+0f3|j43kL@EgYay&e^W|D?mH1iA&=aR;~O6*%<;>2FKw&yY}}LmHr|%+ zPV7E&C#wD6{*lz31D|Z!OO+e$$ru4z)sJG|UC0C22*0nnk zVQi#mt;rN#6G1!}5lIjZ4(g6C=Hl`993qUuevEYf+eXfhaNwhr&RLD&oI=6;vwO}c zkl>pGnjKB>-(QhibN^<4zkh@SfoPDGR&|5E#FZ-SG>yIEYV7S71mT-fzZcl^Q_qPo z3W6XA`z;N-OZTidN#dOaK@bEXf(WA^2!bF)5MdMqp+QzGU!Iv$EcaIs4gy3N1wq(N z?E5ltg0MRfVH5;mH&Az?>irohK`v|?5ypdwy6&*-XI1|@Yq#P)`v#rfw%l=B-QPE5 zfA6FZAofeW3Fq<4{@u>9x%y+d^)jD#WM6qNp|K*u*r;jXA7b7==*X+C;ME&Dsw0jn zI{7dStW#%y+v_+Y>w4*Q18ocvd5tk(ExzaH?`LN_ns3@(;Tw|4Guu<=c`NsR_O~5b zw;^_-z2SXojM@IOLZd>2u~8HJBlbNHtN|1#9lWq$4aWGv`-XCXl*(3>NT-tF`cWZj zU>$4leZx+7cq-F2g&T{9`>}byYwe)5gRvIJb#ljn!uPzKSniCl?P`049b{`FlR4*^ zzgv54jh$Vd@SbY;KF_V2d9Q*Aa6O;wgQGRMdo26!i16Q5^xso%E|J^A>Hq*B07*na zR6xgdu*PJ+3x3b6BQ#b-7#lgh=i#_+e15p~Sod$)(_YGb;jaCX{e6)4~feqKg zn*4vjuZU!@JpC?G?68Lm~v= z177$t;b&9lwJouXzP7Tw^@A5Cy5q=w8@<1R_r9MIwxHY7+R5HifwpNJ#|iEoYr^eY zP!6bIGVr?M?4?sUj>Z@-yG>*KP*laG+E|gwH;o#F;{;aKIcJ}ZTSqt?$DwoQ&fIp} z&*;>tBe7U4@|(ukKs>xuEtgz!35Rv<%0qwrBdEZwsddB8O`m@D8ExCP-G%mA{@-=i zQCeEct7Bhl;BYh-U35N5DLl`^bzKsP1jikB95>$h6I!-v*|6oi9ir_u;RL6`Hzixu zIUh^J(vMnc4S65f&h?DC(#e0{;9QL1!{JuuY0N%Y85%GNG#CgfM_a5lC=FWWCi~Vp z^Y15ksI=A+ix-4z`}kfO$8j)z@Ss_*T|%QlEXGDnt`l%wmx6)<&N$;th71|Psi&Sw z`wksgzI-`<{p-`j;_<+xnCXa=4g|s);)w(R$z(Egtp*c;dg*kyo7_L@U)=d~(y0{d z)~@BQyY2#|LsuoCbr-xh#)R*K?HFT7C6l;rEHWn3u!}5_NHA#7AO;Q`NZYn;`QU>O zc<{joiFS;+v7NeBXTGcTSO4=rc4Yy0=x`f3 zZ-VcoBkc*hGy@s0W?ekrk{Myhpmq4Y0qtlU*F|eLTt?x0(fug2)Me#I@f+)OH!0u(c6&fuT_{3j(PC3NZ1 zg-b5Egnp;=2Z9biGto-PhV_gYGlnHgmQY(;OXtp=x%%p>IpM^UsHmtwDMc!kV%4fu zU=9EN_xt?wU;kpw>eY1W+?mTSyNrJQ`hn6+nfxBlKmR;6H8l(xGzj1K!rF)Rg~azf z9LJ$`n>PIH_B#Mb*4A+Cb=R?U>E~b#YuB#j?|=UXbLW1DF@`Q(y72w)f1hKIJr2ip zxagvbIIL?|&O7%!{{HvBXOB%OMM+5sT05M3-Z^wRvT5QMXX8skw|l%PkCZVVoLCav2x3!i;7z5yp=v}Hsqddd_yuFm^jJ5Ijg7z$Sg zt#st^K3p)g{O%PM;^(yzV$7ZEnCJz4?Uc9lcm!h>(;Ji^ytwvX;Q>r#{31xap>5w6Mr84SlEFn z)~#L3=bwMZ5r-en>eZ`x=%I%|X_hQr%&1YLXy3j)mtB52MTLdjci+816&N6$PP1-Z zu>FIbbjk~c`>f^1KmIXy+;KBMyZxtJcG)E~Yu1!8WBy8MNoBCG3PdquF=~gLD1}Y~ zlNplCc`vg9>U+Tp9W0am94;GJfEhIn{&=26t3X&Yu1(`x(y27*w4dE)W*@0k{ynL6 zWZU6>y>uv+DiGjw%E$OQ&rLexW!Z{5S7;oF#drYW`-XMv*5Nn~sZ<)r(G<66f!2!m z-g^(NHEY(aVa=K~IIfHD`^=a*lkPow;<~vpk->up)3`g+*;S zwCg}BE323_YYyj~KNJ*9dS@o{=FJ13cke!&dB&-@F}VMCk8;kr=P-5Z6l!W}7<$%F zs%xtG=%abm)KoKM$Pjw>IU22@rrI!J!UR75>@(u=7=8Nmq0h-DQ`E#IFe`%r#6Z*( ze%3Oz;qU=y9m93w7z3Yux`J7AX0m?WTH3T}!_c8a>Dj9bXz)@nW5#Sg_~1hli3CR+ zaX7<<4d50&Sc!F``#sPs#am|{wVZcrhoU>v51^|>&s8INdii&vdx#w8E zd^z2_cL%_AoiGB{L2E^AZ7s%HHf`EOJRYOGyet$l53LoO%FEfXVFSMJbHovcgVG#& z=wY;MSeS_sjS>WDwS&R zc!G0iIpmN-=+Uzm2Yu%jT2adV#q@cJL{!H4sC$# zV(i#Axb60lU|{y_xs;VvaQ*c^BArh1>Z@a!@b(nGea;}Xjx%rWd`>&-daDQ*>QX3WzpUAmOfqes)WZCkFn<{CUNNSW|G4-<|>YOQG#MtlD8kAI|Fw{BEd*HBhg zN?~Ckk3RY+OP6{qUc8uor<}sNwQH%Ws>1X91|vf=?$Gw_+h^ULSpf}2^XaFbX33Hz z{N*oyp;fC^Ty@n|)YjH+E zj%S-3WY!{(%aj0e1AzvV1?$kFMGI369 z-@h-hM0lTMJgVBo^TH6+j96ylvQ+rjvSmvZ*1~D0oc_EWH=KiO$xW~(!c*{bnB6e&ephKJ%amgM_j2Qj{7Sjj0YGQ!O=>QCi3Iwp3NC&4$N)8f&C92JeW7$c!S3ue}Vx62IL)2>o#q6_&OXcm~6iueJ}{VEGsLc zNz>+_Vg0&N{`ANbq*B2cTs$79u&@9>9e5++aR=iC@3o_7*(%sxQDGsj6GVU3)PU!u z>CmY~FivTqZQHhN+O&y`VHj

%>T>Qh=NN+V?Eh*ueE0hadj%S|&}J#>|D;L^ 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 a`2QbNXeron5eHuY0000 + + + + + Deduplicate Contacts + + + + Manually + + + + Automatically + + + + + Without restrictions + + + + + + + + diff --git a/partner_deduplicate_acl/static/description/icon.png b/partner_deduplicate_acl/static/description/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..6eb6c3008ec449ca5a3f0271011c97b579a0d440 GIT binary patch literal 10562 zcmV-IDZSQ-P)t65mAnJli0M?*- z=9}wH0Eg`5z7L{C>3E(BvukNqf z>qP*GJ|62Jc7d;=|Cw*Duk`U)`wSmvA7Da%cc20TsV}`kpQeI|h`sdEOQ|ByG>jaQ zY%Lap2|*|hD3*dzMATq$X1NKcBgvh$uFYO46oPj)Z9@C3S>sE4@cMz|zwFUOA|mJc z)vGfjy_O7Yj4S!Uc)t{kD~CY~15daKr)*jL{fw7b?Mr{nw)g!lM;$e>n=vN)s^fh^ zL?U9Zy!FYxeg3tSm%O;K z!8_P>Y@2h&BoU-kf-HpufdDY|lK{pT7z2cm6o#_BGhcYt_scg1g^9Uo)7Y*mdIr1z zEFiKDTl?PBAQazeY0At>x=yoWTZ{;hBtb+VNsy%ILSO(X9y87W0tq3*Lb?2EzO!(9 zxftF*ZQ4Ow>e=zS`T&cv*`dYI`oF_k8-F;oH8aI^EJsSof-r;#1*DXaQYz0$6F~|> z7z+47fKoX?5DLZ^TADNIGaJ(B1xUPc(b~0ZllAQ9-T)C<2fX;kmy)h~&*}XA+xufEnr0EmbMtmCXaFtZ(%a$$w3_PLniJ&Uy|Q z=F%Uk-;|`I@+19DA_5U13`01Ul}dWaOP8*AWl}x*+m~3dV1eZ@@BGGw)HDD9QBPX% zm>!G)3@jeA5`E2dLm}-Jkklqru(X$)g#`$TSh)2-!N9;P z)P78W=oT_<1d2QaBOHJf1OT4Jt@CrQyjk;(<(dWHe_nW@skJ3@l51P8@#dBK*Z&y6 zxw8K-0$aggEe_ZzzR^-Zq`YLtzy#5kWTJUwt$pq*5D`nI++)%yZ+`$4b6C-Wa|X_h z&jZBwAi76Of%1>E9W~06NQs1$0*tYP{lGu2RxMDo0A#G>Sc|clyuzTHfpd;X(v435 z^PA?n2?MD@0;CQTlo^O74=l#U7dpFV*4pR3LN1rHZP;H)IF?)K@KxIXik2QRxM8jt zGtASZNkvjm5=B4T;=l>n>mxcWWrMe(8Jn6hsUJY;rR+vVD2MQ z(qNv61V{p$A!WJzkVT6Y4aj2F5^osRnDNH-7(a{t1Hg>2!q=&|l|V{U>imeI2T7_B z7yUVbfoKv^siC#>xmFFp3V!*Ej$^w$S~UZup4rBU0m%F?H%7BxF4x^n1LPKL(~b;tTxOy>W>J3thf=e^Gg&P#@MXtXBdHV2FG?< zJGY0u+4Z~=Y7&4q-+a?axb7HG{2rqTh-AcAB9#*`PLWY%N{DGkc~HMftx*^U*Al@Q zM<~M2I8@Hm((k@P(oKxu9GTd0i&(Ax=^0^iB=IaqkDooj;;bPU9RNA=qFiZjHuBP9$2|%fsA;67h zyiR(MWMHg^k~5=*3R~5Hq>Kk;Oh_d86$DU@qaqAr%*q!_pN2a4VW2>e@U0-Un-~M6 zBrvA9Po!zVSTu!WKQLy#AgR@cLPU>93+P;c)cHcKHAE1O@9Hizpvqm)Rhs}JVj$*5 zUanDHJE=Bh(^b1(0hAS8_W@S5G&VRw3J&e1 z$1%O4g%l#1;Sr6@XC##w1bRFZIf+2zAH>eIT0aPdY%B@O{gA$WC~ENmn43&wDs6Yv zagvJBq{2QTf{^MmD&Gi!Fsp`@{sPpjCmB13sr)ubbz3?P}$A`9L z(hSV1q{oi5kUKG6G1T}4(Q>(Yhcw|L#f%5ydtrgId9 zZIQyO@N5C?3~EM8;|x+P{X08^EEWs^jI+ew|NZBzdGl}@fWLt%3*Xzz#bv0|NA3k6 zQwh6e3*bm1K*XtA#^V%@RGibMK$$`%D7sL_XvXON*gWd+N|_ZYBR>j^SW_mQs&)`n z3&5Lzl}fs!ge0bIv$9jfAhpVlY*&=htYCUn1=BNUpokHtl}-F?`~uE7Y;H9+H8rIH zYyt3Fef29+$>cE3;7Tdg`i5EBl_uW-05VPolPQc*6Ua~}c8n_%LIAPYbSP5*vq)ey zXHvU69pxiYwE(2wf8W~9**J?UD-zpp?ZD|ACnF%rVn@W~^HFt?&obLppg>xvroV z*euJk8E2D-h*eWFShWw(_V(LWS66Yomq;*U%Y~pQd0`}2NU7|+q{so1GH#E&UHwlN zibjLi`Jl)qa>igWjCf$w={oDyZ<JXVsco-*!RIXpf z5m00nVjqfh7$CG7ATUESRt~}u@4fe466$o*UZH9M2+BoH$uxwJs>ZLPvrMZrrej}< zh!L9#10iC+Aog!H0ayh=G!a9gJY_HGHlc#l{S8z1XB=YV*fPXw+$6KeIDNW3&V^J& zQzW(TRAC-iMXp5qOJOKrF`fY6VQ&gRccCO(JVzL(%}6&9U}`*#6azXrqV2eGV0$<@ zFrNt!#a_Q^CJ4=VAp}ApQ7HJ^FhH0O0OfKR2qBc9lFn#KZL>LmXvUhckqH&leXK$Y z0syf{=p$bU02o1rnif(bR7JGKQfW-SntoU9156q=v25Aa^Tkq$giz(oYFs+z7s{>) zZ3{u#&goRAx?d3@&I#yT0rc#zkaWX*y*A!He0bA_fujBaV91b6uB*G)X=outoD5R* zkdY9_c3-!V`U%A9Uy_87Cd7`bql|VCLV~13xfIADO$~2PoCv>~epf93GiM&)3n>zX3R?2}I_hGE`LAunOrWlQ>aJ ztD(ME?V2fPLUeR?KQUpCUnmL_zC||B#Q$2-rD3`> z2_7ZsA|i;4a{qvy8Kh>u5u#8EBwY8+?y!6HK(hY;z!(#pu^0Uy+$!{Pu8Hr3h#75S zdo$yEtcXThF-{4al(N*cAU)9lf**#(=BD&w##pbte}kF?VD{|ULP+sIM^~X7YVSPM z>KUf2HkBFcrGpk%c(P?4rFbg5!`yq997als{sG|l<2Cx#DVcv_|+q+-( z{SZRaA~bfM5Ya&BO&&(88|Tmn1S$n0G9Nv)Whex?x{4cyjBI|amOj^97T(e6zgqUg zm&<-&QhJ)PLJdp^eP_=spp?QiBeH81LSk|Nf+PYV5C$O%#nJ}HaTYSh#LhkGf6P4m z@J=E;(VZ`bhQTBWB(xtSWL)BA#cX#IlA)-`x7{&KS-N)X(*$ZL>z|45_f#SW^qM;HZNfKp0 z+}2enJUV;!?3yM+%>uv}6AkIq1MMB%Tm2x6*14gbIpYAu*+7a4CZeU_9-AbzA7SEM zO{ngCAppr=zy0>}RolD0g0#Oj@WVeAi)Dm5ZvnITqv;WCkq07mZ`xxJOm&f|nNWTe zL5PsLx(Z9iwT@j;Yj^9iIdrpAe7P%MTwW^sq_=TJb#2D}DTl@o0FjepQe4LSCFq|* z-6y1gUk=cnFFjul{3Y||%^OhO|Bje*$|?DLvHVC^cd<)Isg`jGk>h4OeN!IsIx1-tWYRN3p-55 z^O7i<0o-g2r?~1@`2|cz0cwFG2-JXmKR}@vtR6a|<$-}d`wha5^;;#;FWWo2!yph) zYj=RE`-~?-Wwo>ByYiiMagEf8pdbhlgz8k0?tH0W+x9Ono^w`B&YwZuP6#>u^kX-t zQpwx5Ztv(Q`$3O2e*hI5BN64uD^JHDA_#Q|LKH3qVTjIrq0_ebE$5u}g#j7*?FzGJ z&lbanw?5R-m4B{KDp9DlfT@2lMI8WQZ2(i?W5Q%T5kdh86%lk5O0paTPfpx#@ADP7;-P+zseh|j1UH~fV`l1b_x^!H{%(26#RDXyq+d8CUI}eVUH1d&w zmiYN7obrXKAGEeK-@0X6XQ5Ci^+@v?uRjt7#N{4RNQ9x(g&-=T5@CpZp@i;y@trXv zhTM4c(PQi82-j5rPMh9z=Mt|FA%qkVLLdkN zbma>OrF?zlu*O?v9dbxjn;!ZTj4}G$VFx}rZp^TS+uOTPE-QaP9hOy*{nV49G9@fT zh(HKPq11o5>|m0H(p z>0eYLTZ{Dr4*R4p^L{r6~iMA#`@-Kg#Z(0AM?S71?a|Zvgx%m&@HkMDwOin^w)& z#ny_+0L}pLZ*6UDrHlZogfJ{1tr01&YDaoSs4k0A` zFvRxuE|kh;q>@Qw(kVEOL$AG7e?PcS1VENyHw^L6kV+uo+St~f$F`16Z13!XV_UFo zTgAgfC~Iv10L_^OG&iQ;CL9Ps$wJ=$3=#2NX#vZ!{*H5g2LLvG`t+xRAUNJ}9EXT5 z18{a*TiZF)r%!*SFUGekaLzBXEbAwhW$_CxxZnf;vpDBA5l(9G>^EDQGf1bBNT)n( zZSO+&=B=c@Avbh7@#2p|CXrpsre=PFt*r&6@{y z(M21*joZ2o>g+ClCkVw?n=>iy2LbYhG77~af-pp(SVrKhJUQbWw#AW3C6I6&BoZ#t zUILC|qge7`+wPmgM>JnPtTFxPTN@kOuK|cLMx66Y9LKrkkw+eJh7KKyIdkT~_kCP_ z_0{2TKEPOaXJ`I-#@I_u&6$TzKmPMy zEEe9O3*Ks%z5QG5&oy8-)%BQMa1R&M%rv$*Z;xqFs z&Z7{~w$;F0$A)d&VBjeGzP#y%>%=1uJ!n7q7r+ZJrgMi2@VOQmvmp;WXu zYisW=ENn`-&urhce${EGo#yvO81_g2h=?s;v!>N=4-XZLE=V}mjOI-GK-;lh$5v7u z>h(;GXF=x&kyzs&cxap>wFnRK15K*YBW=@(mZQ8OuCC={PH8gxh`2M{=_`whCOD?%& zmo&Wl?z?g6rI+Hq`|d+?b29*dTMoFZ_HjyG1KWQbessVEDp1YgjMW*P(onA zvMtyaH%T;+FBISFE|hbQ&3;Q(*mlejN4&o$g7BdNFmK*Ge#RN+X989_i$JqeN$=RE zhLmSnj7yRT0$t&%%fAT}?GG^LA(*5G<2^Hhru2z39z6#jS`cEK>pheL*Is=kUVI^k zr=EHW6DEB0VcA548*aD(H{5Uo=FOXjK7cPxn>Ou`~Fp;V~ z3eNR+>{%k>FRpoeV(5!Y|M19ze|7T>-*5T-?|&cL^*z8ZfB8#Xam5w5 z@4owtPXgOb!A>Of_!TWGcM=);so4%hmGhe3oX01vtLL>w;9Q-jsG}>}vQQ}bVWC*c zN1J5miu@zx^vRyIsL&2XfH@c~GO2nZa*IcFj*cRNiYOe% z24f7}`C@mu96s*ZiEAcL9=FDr1rDeb>Pu_hKD*G}^=NBz=IcXR8=DzO7jzPsUdLB^ z{zyreZJA~3=(24N+p)koQ(mn;$HuXZtzxh(7JY8(cH3sKxq3fm3=1E92yM%k;+%8N ziDpeLm@r`io_+RNtX#Pg*I$3VA*{m~du;jg<%jHe|LcF*c;E-y3jZ(RIRC!+gY^gh z?{8kj@3{T;UNaw1%>KnMet|`c7GcSfB~iN!im)tABTWy-v0&RAmOfP4T#jSt2mP6% zmE&-@t`)cGvzcw1X(v+Z^@R|bwAawu((u(1`47Lm=AEyvT}w#-U<+2Qau2pre`i_z zy2f;JD7P$xp<2BIOeIfzK!brf?a~}$YIgOSElw)aXQ*J*z3fo~094cl82hho$K#Lv z0snUM4QOs^!d-XWg&8wu^qTlPV*UE{IQrL^eE<93$Nc&8(a_KU#u&VYW;l); zjTtc7)HugIO+w@xSKJ>J)bNTgqKFQui2Vo77;GJ}br;HAQivZlB>7FOZRM*o(`j!( zOLN08lIXFM2Z&XQiA3Vvz=$e&O(+NSbZCHhhbymWXJ9=`q)ZWvj(tsgxm?Cwcl-x# z|Bs*HpZ;ksuDk9!q*7HMhXVjuy?Ql{KKf{U>s#N#m%sdF04NdBpQcTlcE$@Yywe0b z{MC@w#xHROHv62jF=oI0Fn|919zt6UhzK)h&cx86L-D=ueGdR&J1!cVhr-kfM&)xb zWwJZA6F9i89#Z__d`Eg4zA5K{abq6L{VKZZ&KFDhLU1k@z~5vtsUe`aGKI(1|DFH< z2(w8PoB1zrL;TU>ro>`WqoJ0U1AnCeElHx)RU<8P`soFIO8O!3aTG835 z=tbIX<&l7>cFVHC7zgKy;hd|5AIrAEI0x6A;QC%WYPZ#AJGHB}gC`$?haPxrhu%((@w>1JqZ+ln@f$L*YR zSawf(E81FGFs$fwb<0u{*|t?X%&BDzAco;A_wws!3~6l~;eZ1>ekGGBJ+M^#&Y^Z> zRy0R2pH+feIvNm_ZSn8DZHEBv{Q2#l`tgr`bnyu%9H030uYc`S>m&*xaO|4Er;PXveV``f*Fqzdo`a+>!x_Mh?Uwo_jUcrb|D)s#S z`|n?T_0?CYTD2 zBVBprmDJYOR?cR#zgxb1`GEbpn~x)`L?ZE%OeRxavSdls%)0pEi)q%ZS(MFY>7IM; z2@;8fc=5#-tA5|J&pu20@4r7ypFW))dE}9DE|=Su%jM4MZ(@C7!8yOwbzOhq!i7~a zZ2kK65@w>k;|7a_j9@2{O6u~uC>2u zv@hViT7=;2v(KifQ>RiUlcCL~Es% zYdF_+-C)t8MZIR=Z+`O|0zlVZdu^|uUA=lWjUPXrjyvu+dghsDirH*->53IAM)x-{ z_DOKg=cd!?@~Ty)_7=bU-S5crJeoIep3G*mf)a@Y z-GBf6K`xhjnri&k?m_G&IF9qc;bn4-g)OyHk%Dru3Y)4{vOvL_8g;a z+YVlN<&~H%WMD%zc z^sQg9uLuB2rP7jIF4t>6VDaL`IQ;O#0U(?@32=Debh3-%cS0MOaq-rg$)e(=Eu*uH%`CQO(B#@MR9>R5kbUlM?>uCCr4 zud`vp24pfBc%E01Qda%FJOdeha!Aww1@G+!k4>94nR9*wfQ^0At^UO)RsfbQTQ;6^ zekg!~Wm)aBXU{%j?AWors@B=CVFQK@8wSQ05z&#^Y_s%uGYsT1lL_~}+VvJctBu9-J#r4jjl>l}=xM+amlOzD!Ez25iS=OPKTyhC3 zl}hO7=%9{{4m+RE!*$(WZ|`;-2a6Xk#^S|`T>$Q`?z!WRJ80UpX$1gt>M({u)QF*; z=dHW!vde<1SAO;YTeohdNs}hgS!bO^*=*KtYirx{BSQw!=lHbix?Q*3c3Ynm1eVKX znmKbOeg5;Gr)A5Qm9yFG1^qqXLF|k#IF950{`bGHEAyq4bndz5(&WjL>DgzWE#`8$ z+D?raM4#eouIu_smoBZF09=0g<+R^^`_W^MJyy!)a{t-i102Lhz_#tHT3cI-@4WL) z&CI{+uDd9c$#W+|Oc)3w)LE3?_`=H<(mkL~XP4WjqR zc%HZBoO8}8_hz@y+O=zG#E22}&2N5FX0zGCiWMsk>+gXKqI!%@CX*Yly6UPuI{Kr% zy`3gco=j(*br$7vxxrZf6N1mUuABeWuYUER%-=EA&*gF#_IJkzQ9qpGI8N}y6Hn}t z`IWK$GtWFzTCrlqwf)`ULDU(RWqsZAJbzbb0bPFiL7 zVWoBJ)x;Iww%3*}U0VAo)q@!DNTgD! zWiw{XC?^sL|I9Pb{7G9|+uJX^@WOum-LXOJJ+vm1$=7Y${%(JFq(AWg0pGgCtuxvZ Q?*IS*07*qoM6N<$f>0cMBLDyZ literal 0 KcmV+b0RR6000031 diff --git a/partner_deduplicate_acl/static/description/icon.svg b/partner_deduplicate_acl/static/description/icon.svg new file mode 100644 index 0000000..0a7035e --- /dev/null +++ b/partner_deduplicate_acl/static/description/icon.svg @@ -0,0 +1,101 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + diff --git a/partner_deduplicate_acl/static/description/index.html b/partner_deduplicate_acl/static/description/index.html new file mode 100644 index 0000000..27ba49a --- /dev/null +++ b/partner_deduplicate_acl/static/description/index.html @@ -0,0 +1,476 @@ + + + + + + +Deduplicate Contacts ACL + + + +

+

Deduplicate Contacts ACL

+ + +

Beta License: AGPL-3 OCA/partner-contact Translate me on Weblate Try me on Runbot

+

This module extends the functionality of the CRM contact deduplicator to add +permission groups that allow the matching users to use those tools, not +needing to be the sale settings manager.

+

Table of contents

+ +
+

Configuration

+

To configure this module, you need to:

+
    +
  1. Go to Settings > Users > Users.

    +
  2. +
  3. Choose a user.

    +
  4. +
  5. Choose the desired permission level(s) in Appplication > Deduplicate +Contacts:

    +
      +
    • Manually allows him to do the manual deduplication process.

      +
    • +
    • Automatically allows him to do the automatic deduplication process.

      +
      +

      Warning

      +

      Automatic contact deduplication can easily lead to unwanted results. +Better backup before doing it.

      +
      +
    • +
    • Without restrictions executes the chosen deduplication method with admin +rigts, to be able to update objects where the user would normally not have +write rights, and to allow him to merge contacts with different email +addresses.

      +
      +

      Warning

      +

      This is an advanced feature, be sure to train the user before enabling +this permission for him.

      +
      +
    • +
    +
  6. +
+
+
+

Usage

+

To use this module, you need to:

+
    +
  1. Ask your admin to give you the new rights.
  2. +
  3. Go to CRM > Tools > Deduplicate Contacts as usual.
  4. +
+
+
+

Bug Tracker

+

Bugs are tracked on GitHub Issues. +In case of trouble, please check there if your issue has already been reported. +If you spotted it first, help us smashing it by providing a detailed and welcomed +feedback.

+

Do not contact contributors directly about support or help with technical issues.

+
+
+

Credits

+
+

Authors

+
    +
  • Tecnativa
  • +
+
+
+

Contributors

+
    +
  • Tecnativa:
      +
    • Rafael Blasco
    • +
    • Jairo Llopis
    • +
    • Vicent Cubells
    • +
    • Pedro M. Baeza
    • +
    • Luis M. Ontalba
    • +
    • Victor M.M. Torres
    • +
    • Carlos Roca
    • +
    • João Marques
    • +
    +
  • +
  • Kevin Khao <kevin.khao@gmail.com>
  • +
+
+
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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.

+

This module is part of the OCA/partner-contact project on GitHub.

+

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

+
+
+
+ + diff --git a/partner_deduplicate_acl/tests/__init__.py b/partner_deduplicate_acl/tests/__init__.py new file mode 100644 index 0000000..074f54c --- /dev/null +++ b/partner_deduplicate_acl/tests/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). + +from . import test_partner_deduplicate_acl diff --git a/partner_deduplicate_acl/tests/test_partner_deduplicate_acl.py b/partner_deduplicate_acl/tests/test_partner_deduplicate_acl.py new file mode 100644 index 0000000..2da1731 --- /dev/null +++ b/partner_deduplicate_acl/tests/test_partner_deduplicate_acl.py @@ -0,0 +1,46 @@ +# Copyright 2017-2019 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from flectra import exceptions +from flectra.tests import common + + +class TestPartnerDeduplicateAcl(common.TransactionCase): + def setUp(self): + super().setUp() + self.partner_1 = self.env["res.partner"].create( + { + "name": "Partner 1", + "email": "partner1@example.org", + "is_company": True, + "parent_id": False, + } + ) + self.partner_2 = self.partner_1.copy() + self.partner_2.write({"name": "Partner 1", "email": "partner2@example.org"}) + self.user = self.env["res.users"].create( + { + "login": "test_crm_deduplicate_acl", + "name": "test_crm_deduplicate_acl", + "email": "partner_deduplicate_acl@example.org", + "groups_id": [ + (4, self.env.ref("base.group_user").id), + (4, self.env.ref("base.group_partner_manager").id), + ], + } + ) + self.wizard = ( + self.env["base.partner.merge.automatic.wizard"] + .with_user(self.user) + .create({"group_by_name": True}) + ) + + def test_same_email_restriction(self): + self.wizard.action_start_manual_process() + with self.assertRaises(exceptions.UserError): + self.wizard.action_merge() + self.user.groups_id = [ + (4, self.env.ref("partner_deduplicate_acl.group_unrestricted").id) + ] + # Now there shouldn't be error + self.wizard.action_merge() diff --git a/partner_deduplicate_acl/views/base_partner_merge_view.xml b/partner_deduplicate_acl/views/base_partner_merge_view.xml new file mode 100644 index 0000000..0487e02 --- /dev/null +++ b/partner_deduplicate_acl/views/base_partner_merge_view.xml @@ -0,0 +1,20 @@ + + + + + + diff --git a/partner_deduplicate_acl/wizards/__init__.py b/partner_deduplicate_acl/wizards/__init__.py new file mode 100644 index 0000000..a8a03bc --- /dev/null +++ b/partner_deduplicate_acl/wizards/__init__.py @@ -0,0 +1,3 @@ +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from . import partner_merge diff --git a/partner_deduplicate_acl/wizards/partner_merge.py b/partner_deduplicate_acl/wizards/partner_merge.py new file mode 100644 index 0000000..58c268d --- /dev/null +++ b/partner_deduplicate_acl/wizards/partner_merge.py @@ -0,0 +1,20 @@ +# Copyright 2016 Tecnativa - Jairo Llopis +# Copyright 2016 Tecnativa - Vicent Cubells +# Copyright 2017-2019 Tecnativa - Pedro M. Baeza +# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html). + +from flectra import models + + +class BasePartnerMergeAutomaticWizard(models.TransientModel): + _inherit = "base.partner.merge.automatic.wizard" + + def _merge(self, partner_ids, dst_partner=None, extra_checks=True): + """Pass extra_checks=False if we have the extra group for avoiding + the checks. + """ + if self.env.user.has_group("partner_deduplicate_acl.group_unrestricted"): + extra_checks = False + return super()._merge( + partner_ids, dst_partner=dst_partner, extra_checks=extra_checks + ) diff --git a/partner_deduplicate_acl/wizards/partner_merge_view.xml b/partner_deduplicate_acl/wizards/partner_merge_view.xml new file mode 100644 index 0000000..a18ad6e --- /dev/null +++ b/partner_deduplicate_acl/wizards/partner_merge_view.xml @@ -0,0 +1,37 @@ + + + + + Restrict automatic merge access + base.partner.merge.automatic.wizard + + + + partner_deduplicate_acl.group_automatically + + + partner_deduplicate_acl.group_automatically + + + + + + + diff --git a/partner_industry_secondary/COPYRIGHT b/partner_industry_secondary/COPYRIGHT index 983febf..2527a84 100644 --- a/partner_industry_secondary/COPYRIGHT +++ b/partner_industry_secondary/COPYRIGHT @@ -1,6 +1,7 @@ Most of the files are :Copyright: This stylesheet has been placed in the public domain. +