diff --git a/.github/workflows/ci-full.yml b/.github/workflows/ci-full.yml index f38195d0..66d59583 100644 --- a/.github/workflows/ci-full.yml +++ b/.github/workflows/ci-full.yml @@ -30,7 +30,7 @@ concurrency: cancel-in-progress: true env: - ODOO_ADDONS_PATH: /opt/odoo/odoo/addons,/opt/odoo/odoo/odoo/addons,/mnt/extra-addons/openspp,/mnt/extra-addons/server-ux,/mnt/extra-addons/server-tools,/mnt/extra-addons/queue,/mnt/extra-addons/odoo-job-worker,/mnt/extra-addons/server-backend,/mnt/extra-addons/rest-framework,/mnt/extra-addons/muk-it + ODOO_ADDONS_PATH: /opt/odoo/odoo/addons,/opt/odoo/odoo/odoo/addons,/mnt/extra-addons/openspp,/mnt/extra-addons/server-ux,/mnt/extra-addons/server-tools,/mnt/extra-addons/odoo-job-worker,/mnt/extra-addons/server-backend,/mnt/extra-addons/rest-framework,/mnt/extra-addons/muk-it jobs: # ============================================================================ diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index afde9b5b..4cae2c77 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ concurrency: cancel-in-progress: true env: - ODOO_ADDONS_PATH: /opt/odoo/odoo/addons,/opt/odoo/odoo/odoo/addons,/mnt/extra-addons/openspp,/mnt/extra-addons/server-ux,/mnt/extra-addons/server-tools,/mnt/extra-addons/queue,/mnt/extra-addons/odoo-job-worker,/mnt/extra-addons/server-backend,/mnt/extra-addons/rest-framework,/mnt/extra-addons/muk-it + ODOO_ADDONS_PATH: /opt/odoo/odoo/addons,/opt/odoo/odoo/odoo/addons,/mnt/extra-addons/openspp,/mnt/extra-addons/server-ux,/mnt/extra-addons/server-tools,/mnt/extra-addons/odoo-job-worker,/mnt/extra-addons/server-backend,/mnt/extra-addons/rest-framework,/mnt/extra-addons/muk-it jobs: # ============================================================================ diff --git a/docker/Dockerfile b/docker/Dockerfile index 7e7c5f9c..50050158 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -111,7 +111,6 @@ RUN --mount=type=cache,target=/tmp/downloads,sharing=locked \ }; \ download_module "OCA/server-ux" "server-ux"; \ download_module "OCA/server-tools" "server-tools"; \ - download_module "OCA/queue" "queue"; \ download_module "OpenSPP/odoo-job-worker" "odoo-job-worker"; \ download_module "OCA/server-backend" "server-backend"; \ download_module "OCA/rest-framework" "rest-framework"; \ diff --git a/docker/odoo.conf.template b/docker/odoo.conf.template index db31e847..2027cf76 100644 --- a/docker/odoo.conf.template +++ b/docker/odoo.conf.template @@ -18,7 +18,7 @@ list_db = ${LIST_DB} data_dir = /var/lib/odoo # Addons path - includes Odoo core, OpenSPP, and OCA modules -addons_path = /opt/odoo/odoo/addons,/opt/odoo/odoo/odoo/addons,/mnt/extra-addons/openspp,/mnt/extra-addons/server-ux,/mnt/extra-addons/server-tools,/mnt/extra-addons/queue,/mnt/extra-addons/odoo-job-worker,/mnt/extra-addons/server-backend,/mnt/extra-addons/rest-framework,/mnt/extra-addons/muk-it +addons_path = /opt/odoo/odoo/addons,/opt/odoo/odoo/odoo/addons,/mnt/extra-addons/openspp,/mnt/extra-addons/server-ux,/mnt/extra-addons/server-tools,/mnt/extra-addons/odoo-job-worker,/mnt/extra-addons/server-backend,/mnt/extra-addons/rest-framework,/mnt/extra-addons/muk-it # ============================================================================= # Security diff --git a/scripts/test_single_module.sh b/scripts/test_single_module.sh index 3e49ecbc..7981e042 100755 --- a/scripts/test_single_module.sh +++ b/scripts/test_single_module.sh @@ -196,7 +196,7 @@ run_tests_docker() { --entrypoint "" \ test \ /opt/odoo/odoo/odoo-bin \ - --addons-path=/opt/odoo/odoo/addons,/opt/odoo/odoo/odoo/addons,/mnt/extra-addons/openspp,/mnt/extra-addons/server-ux,/mnt/extra-addons/server-tools,/mnt/extra-addons/queue,/mnt/extra-addons/odoo-job-worker,/mnt/extra-addons/server-backend,/mnt/extra-addons/rest-framework,/mnt/extra-addons/muk-it \ + --addons-path=/opt/odoo/odoo/addons,/opt/odoo/odoo/odoo/addons,/mnt/extra-addons/openspp,/mnt/extra-addons/server-ux,/mnt/extra-addons/server-tools,/mnt/extra-addons/odoo-job-worker,/mnt/extra-addons/server-backend,/mnt/extra-addons/rest-framework,/mnt/extra-addons/muk-it \ -d "$DB_NAME" \ --db_host=db \ --db_port=5432 \ diff --git a/spp_hxl_area/README.rst b/spp_hxl_area/README.rst index 126d5696..4cdac827 100644 --- a/spp_hxl_area/README.rst +++ b/spp_hxl_area/README.rst @@ -43,7 +43,7 @@ Key Capabilities processing → done) - Auto-sync indicators to ``spp.data.value`` for CEL expression access - Link imports to hazard incidents for disaster response tracking -- Process imports asynchronously via queue_job +- Process imports asynchronously via job_worker Key Models ~~~~~~~~~~ @@ -118,7 +118,7 @@ Dependencies ~~~~~~~~~~~~ ``spp_hxl``, ``spp_area``, ``spp_cel_domain``, ``spp_hazard``, -``spp_security``, ``queue_job`` +``spp_security``, ``job_worker`` **Table of contents** diff --git a/spp_hxl_area/__manifest__.py b/spp_hxl_area/__manifest__.py index f1a05e0f..ea5bd019 100644 --- a/spp_hxl_area/__manifest__.py +++ b/spp_hxl_area/__manifest__.py @@ -17,7 +17,7 @@ "spp_cel_domain", "spp_hazard", "spp_security", - "queue_job", + "job_worker", ], "external_dependencies": { "python": [ diff --git a/spp_hxl_area/readme/DESCRIPTION.md b/spp_hxl_area/readme/DESCRIPTION.md index 30e9923b..9f13fbbe 100644 --- a/spp_hxl_area/readme/DESCRIPTION.md +++ b/spp_hxl_area/readme/DESCRIPTION.md @@ -10,7 +10,7 @@ Import HXL-tagged field data and aggregate to area-level indicators for humanita - Track imports as batches with state machine (draft → mapped → processing → done) - Auto-sync indicators to `spp.data.value` for CEL expression access - Link imports to hazard incidents for disaster response tracking -- Process imports asynchronously via queue_job +- Process imports asynchronously via job_worker ### Key Models @@ -56,4 +56,4 @@ After installing: ### Dependencies -`spp_hxl`, `spp_area`, `spp_cel_domain`, `spp_hazard`, `spp_security`, `queue_job` +`spp_hxl`, `spp_area`, `spp_cel_domain`, `spp_hazard`, `spp_security`, `job_worker` diff --git a/spp_hxl_area/static/description/index.html b/spp_hxl_area/static/description/index.html index 1395e3f4..cee4666c 100644 --- a/spp_hxl_area/static/description/index.html +++ b/spp_hxl_area/static/description/index.html @@ -390,7 +390,7 @@

Key Capabilities

processing → done)
  • Auto-sync indicators to spp.data.value for CEL expression access
  • Link imports to hazard incidents for disaster response tracking
  • -
  • Process imports asynchronously via queue_job
  • +
  • Process imports asynchronously via job_worker
  • @@ -493,7 +493,7 @@

    Extension Points

    Dependencies

    spp_hxl, spp_area, spp_cel_domain, spp_hazard, -spp_security, queue_job

    +spp_security, job_worker

    Table of contents

      diff --git a/spp_import_match/README.rst b/spp_import_match/README.rst index 19904698..13787776 100644 --- a/spp_import_match/README.rst +++ b/spp_import_match/README.rst @@ -1,12 +1,8 @@ -.. image:: https://odoo-community.org/readme-banner-image - :target: https://odoo-community.org/get-involved?utm_source=readme - :alt: Odoo Community Association - ==================== OpenSPP Import Match ==================== -.. +.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! @@ -44,22 +40,22 @@ Key Capabilities - Skip duplicate creation or update existing records when matches are found - Process imports with more than 100 records asynchronously using - ``queue_job`` + ``job_worker`` - Clear one2many/many2many associations before update to prevent duplicate entries Key Models ~~~~~~~~~~ -+-----------------------------+---------------------------------------+ -| Model | Description | -+=============================+=======================================+ -| ``spp.import.match`` | Matching rule configuration for a | -| | specific model | -+-----------------------------+---------------------------------------+ -| ``spp.import.match.fields`` | Individual fields used in a rule, | -| | supports sub-fields | -+-----------------------------+---------------------------------------+ ++-----------------------------+----------------------------------------+ +| Model | Description | ++=============================+========================================+ +| ``spp.import.match`` | Matching rule configuration for a | +| | specific model | ++-----------------------------+----------------------------------------+ +| ``spp.import.match.fields`` | Individual fields used in a rule, | +| | supports sub-fields | ++-----------------------------+----------------------------------------+ Configuration ~~~~~~~~~~~~~ @@ -107,7 +103,7 @@ Extension Points Dependencies ~~~~~~~~~~~~ -``base``, ``spp_base_common``, ``base_import``, ``queue_job``, +``base``, ``spp_base_common``, ``base_import``, ``job_worker``, ``spp_security`` **Table of contents** @@ -149,4 +145,4 @@ Current maintainers: This module is part of the `OpenSPP/OpenSPP2 `_ project on GitHub. -You are welcome to contribute. +You are welcome to contribute. \ No newline at end of file diff --git a/spp_import_match/__manifest__.py b/spp_import_match/__manifest__.py index d12d3578..3276a046 100644 --- a/spp_import_match/__manifest__.py +++ b/spp_import_match/__manifest__.py @@ -12,9 +12,8 @@ "license": "LGPL-3", "development_status": "Beta", "maintainers": ["jeremi", "gonzalesedwin1123"], - "depends": ["base", "spp_base_common", "base_import", "queue_job", "spp_security"], + "depends": ["base", "spp_base_common", "base_import", "job_worker", "spp_security"], "data": [ - "data/queue_job_data.xml", "security/ir.model.access.csv", "views/import_match_view.xml", ], diff --git a/spp_import_match/data/queue_job_data.xml b/spp_import_match/data/queue_job_data.xml deleted file mode 100644 index 22cc8dba..00000000 --- a/spp_import_match/data/queue_job_data.xml +++ /dev/null @@ -1,21 +0,0 @@ - - - - _split_file - - - - - _import_one_chunk - - - diff --git a/spp_import_match/models/__init__.py b/spp_import_match/models/__init__.py index 31a3493f..ed16842b 100644 --- a/spp_import_match/models/__init__.py +++ b/spp_import_match/models/__init__.py @@ -3,4 +3,3 @@ from . import base from . import base_import from . import import_match -from . import queue_job diff --git a/spp_import_match/models/base_import.py b/spp_import_match/models/base_import.py index 5f3ac8ea..a745c7d2 100644 --- a/spp_import_match/models/base_import.py +++ b/spp_import_match/models/base_import.py @@ -5,10 +5,9 @@ from os.path import splitext from odoo import _, models +from odoo.exceptions import UserError from odoo.models import fix_import_export_id_paths -from odoo.addons.queue_job.exception import FailedJobError - from .base import _import_match_local _logger = logging.getLogger(__name__) @@ -202,5 +201,5 @@ def _import_one_chunk(self, model_name, attachment, options, context): result = model_obj.load(fields, data) error_message = [message["message"] for message in result["messages"] if message["type"] == "error"] if error_message: - raise FailedJobError("\n".join(error_message)) + raise UserError("\n".join(error_message)) return result diff --git a/spp_import_match/models/queue_job.py b/spp_import_match/models/queue_job.py deleted file mode 100644 index 4040e9bc..00000000 --- a/spp_import_match/models/queue_job.py +++ /dev/null @@ -1,19 +0,0 @@ -# Part of OpenSPP. See LICENSE file for full copyright and licensing details. -from odoo import _, models - - -class SPPQueueJob(models.Model): - """Job status and result""" - - _inherit = "queue.job" - - def _related_action_attachment(self): - res_id = self.kwargs.get("att_id") - action = { - "name": _("Attachment"), - "type": "ir.actions.act_window", - "res_model": "ir.attachment", - "view_mode": "form", - "res_id": res_id, - } - return action diff --git a/spp_import_match/readme/DESCRIPTION.md b/spp_import_match/readme/DESCRIPTION.md index 4c636005..52f80a17 100644 --- a/spp_import_match/readme/DESCRIPTION.md +++ b/spp_import_match/readme/DESCRIPTION.md @@ -6,7 +6,7 @@ Extends Odoo's base import functionality to match incoming records against exist - Match on sub-fields within related records (e.g., household ID within individual) - Apply conditional matching rules only when specific imported values are present - Skip duplicate creation or update existing records when matches are found -- Process imports with more than 100 records asynchronously using `queue_job` +- Process imports with more than 100 records asynchronously using `job_worker` - Clear one2many/many2many associations before update to prevent duplicate entries ### Key Models @@ -46,4 +46,4 @@ After installing: ### Dependencies -`base`, `spp_base_common`, `base_import`, `queue_job`, `spp_security` +`base`, `spp_base_common`, `base_import`, `job_worker`, `spp_security` diff --git a/spp_import_match/static/description/index.html b/spp_import_match/static/description/index.html index e6d71ccc..e8c9a720 100644 --- a/spp_import_match/static/description/index.html +++ b/spp_import_match/static/description/index.html @@ -3,7 +3,7 @@ -README.rst +OpenSPP Import Match -
      +
      +

      OpenSPP Import Match

      - - -Odoo Community Association - -
      -

      OpenSPP Import Match