diff --git a/connector_opencart/__manifest__.py b/connector_opencart/__manifest__.py
index 1816042e..ce265249 100644
--- a/connector_opencart/__manifest__.py
+++ b/connector_opencart/__manifest__.py
@@ -11,6 +11,7 @@
'delivery',
'sale_stock',
'connector_ecommerce',
+ 'base_technical_user',
],
'author': 'Hibou Corp.',
'license': 'AGPL-3',
diff --git a/connector_opencart/models/sale_order/common.py b/connector_opencart/models/sale_order/common.py
index 48d0635a..2ad4f606 100644
--- a/connector_opencart/models/sale_order/common.py
+++ b/connector_opencart/models/sale_order/common.py
@@ -1,8 +1,6 @@
# © 2019 Hibou Corp.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-import logging
-
import odoo.addons.decimal_precision as dp
from odoo import models, fields, api
@@ -106,7 +104,8 @@ class SaleOrderAdapter(Component):
return []
orders = orders_response['data']
- return map(lambda o: o['order_id'], orders)
+ # Note that `store_id is None` is checked as it may not be in the output.
+ return map(lambda o: (o['order_id'], o.get('store_id', None)), orders)
def read(self, id):
api_instance = self.api_instance
diff --git a/connector_opencart/models/sale_order/importer.py b/connector_opencart/models/sale_order/importer.py
index 507c8e3b..a1a8bf9d 100644
--- a/connector_opencart/models/sale_order/importer.py
+++ b/connector_opencart/models/sale_order/importer.py
@@ -1,18 +1,12 @@
# © 2019 Hibou Corp.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
-import logging
-
-from datetime import datetime, timedelta
from copy import deepcopy, copy
from odoo import fields, _
from odoo.addons.component.core import Component
from odoo.addons.connector.components.mapper import mapping
from odoo.exceptions import ValidationError
-from odoo.addons.queue_job.exception import NothingToDoJob, FailedJobError
-
-_logger = logging.getLogger(__name__)
class SaleOrderBatchImporter(Component):
@@ -20,12 +14,22 @@ class SaleOrderBatchImporter(Component):
_inherit = 'opencart.delayed.batch.importer'
_apply_on = 'opencart.sale.order'
- def _import_record(self, external_id, job_options=None, **kwargs):
+ def _import_record(self, external_id, store_id, job_options=None, **kwargs):
if not job_options:
job_options = {
'max_retries': 0,
'priority': 5,
}
+ if store_id is not None:
+ store_binder = self.binder_for('opencart.store')
+ store = store_binder.to_internal(store_id)
+ user = store.sudo().warehouse_id.company_id.user_tech_id
+ if user and user != self.env.user:
+ # Note that this is a component, which has an env through it's 'colletion'
+ # however, when importing the 'model' is actually what runs the delayed job
+ env = self.env(user=user)
+ self.collection.env = env
+ self.model.env = env
return super(SaleOrderBatchImporter, self)._import_record(
external_id, job_options=job_options)
@@ -34,10 +38,10 @@ class SaleOrderBatchImporter(Component):
if filters is None:
filters = {}
external_ids = list(self.backend_adapter.search(filters))
- for external_id in external_ids:
- self._import_record(external_id)
+ for ids in external_ids:
+ self._import_record(ids[0], ids[1])
if external_ids:
- last_id = list(sorted(external_ids))[-1]
+ last_id = list(sorted(external_ids, key=lambda i: i[0]))[-1][0]
self.backend_record.import_orders_after_id = last_id
@@ -316,9 +320,6 @@ class SaleOrderImporter(Component):
if binding.fiscal_position_id:
binding.odoo_id._compute_tax_id()
- # if binding.backend_id.acknowledge_order == 'order_create':
- # binding.with_delay().acknowledge_order(binding.backend_id, binding.external_id)
-
return binding
def _import_dependencies(self):
@@ -362,5 +363,4 @@ class SaleOrderLineImportMapper(Component):
if not product:
# we could use a record like (0, 0, values)
product = self.env['product.product'].create(self._product_values(record))
-
- return {'product_id': product.id}
+ return {'product_id': product.id, 'product_uom': product.uom_id.id}
diff --git a/connector_opencart/views/opencart_backend_views.xml b/connector_opencart/views/opencart_backend_views.xml
index 579ddb20..360b9315 100644
--- a/connector_opencart/views/opencart_backend_views.xml
+++ b/connector_opencart/views/opencart_backend_views.xml
@@ -143,8 +143,8 @@
opencart.store
-
+
diff --git a/external/hibou-oca/bank-payment b/external/hibou-oca/bank-payment
index 4747a115..9e3bd2f6 160000
--- a/external/hibou-oca/bank-payment
+++ b/external/hibou-oca/bank-payment
@@ -1 +1 @@
-Subproject commit 4747a1157954be173ad0932fcb3b2a074329f783
+Subproject commit 9e3bd2f6c101445fdad791cc39d425731bbc7b14
diff --git a/external/hibou-oca/connector b/external/hibou-oca/connector
index e66413e4..fdd035ae 160000
--- a/external/hibou-oca/connector
+++ b/external/hibou-oca/connector
@@ -1 +1 @@
-Subproject commit e66413e41ec3df152ee523630cf2dbc381820b73
+Subproject commit fdd035ae4e56cd3721102515827dfe0b52effeef
diff --git a/external/hibou-oca/connector-ecommerce b/external/hibou-oca/connector-ecommerce
index de374703..41674c2f 160000
--- a/external/hibou-oca/connector-ecommerce
+++ b/external/hibou-oca/connector-ecommerce
@@ -1 +1 @@
-Subproject commit de374703f227dc1dfd6ef72f2385ac545afe036d
+Subproject commit 41674c2f4681ea7b6713d8273b44c0c9b816116a
diff --git a/external/hibou-oca/product-attribute b/external/hibou-oca/product-attribute
index 8cb735d7..65a98907 160000
--- a/external/hibou-oca/product-attribute
+++ b/external/hibou-oca/product-attribute
@@ -1 +1 @@
-Subproject commit 8cb735d736f38e9858a6be292ff71e823cdcf7de
+Subproject commit 65a989073cef59e444e6dca7a249c31b5c7844a1
diff --git a/external/hibou-oca/queue b/external/hibou-oca/queue
index d708db07..9a5084bd 160000
--- a/external/hibou-oca/queue
+++ b/external/hibou-oca/queue
@@ -1 +1 @@
-Subproject commit d708db07aea2def4a45f5e0a5f0ef66ee428b2b6
+Subproject commit 9a5084bdc3fbf1cbc7d3ec5cff622ab5bf600489
diff --git a/external/hibou-oca/sale-workflow b/external/hibou-oca/sale-workflow
index 0dc78a7d..82a1cd2c 160000
--- a/external/hibou-oca/sale-workflow
+++ b/external/hibou-oca/sale-workflow
@@ -1 +1 @@
-Subproject commit 0dc78a7dea16381ba20df2d0261599bb6744a6de
+Subproject commit 82a1cd2ca9318a281781e330e564f412242de605
diff --git a/external/hibou-oca/server-tools b/external/hibou-oca/server-tools
index 4461b174..b138e0a7 160000
--- a/external/hibou-oca/server-tools
+++ b/external/hibou-oca/server-tools
@@ -1 +1 @@
-Subproject commit 4461b174e016bfce91dc533e51a3f6c6c09925c3
+Subproject commit b138e0a74096615c6d760209afadd9f1ecc03f9e
diff --git a/external/hibou-oca/stock-logistics-warehouse b/external/hibou-oca/stock-logistics-warehouse
index de275910..1389db39 160000
--- a/external/hibou-oca/stock-logistics-warehouse
+++ b/external/hibou-oca/stock-logistics-warehouse
@@ -1 +1 @@
-Subproject commit de2759105e4bfbf539e6debdb1935b667e1bc06a
+Subproject commit 1389db39dd259d9cf7fc8039ec970f1c4932be8e