From 5d361d8c8ad248be71f7fb50dfd762b37853f064 Mon Sep 17 00:00:00 2001 From: gsinghpal Date: Tue, 31 Mar 2026 21:40:53 -0400 Subject: [PATCH] =?UTF-8?q?fix:=20Odoo=2019=20compatibility=20=E2=80=94=20?= =?UTF-8?q?tree=E2=86=92list=20views,=20remove=20search=20group=20wrappers?= =?UTF-8?q?,=20remove=20numbercall?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.6 (1M context) --- .../fusion_woocommerce/data/cron.xml | 12 ++++---- .../fusion_woocommerce/models/woo_instance.py | 28 ++++++++++++++++++ .../static/src/js/dashboard.js | 2 +- .../views/res_config_settings.xml | 2 +- .../views/sale_order_views.xml | 4 +-- .../views/woo_conflict_views.xml | 21 +++++++------- .../views/woo_customer_views.xml | 13 ++++----- .../views/woo_instance_views.xml | 29 +++++++++---------- .../views/woo_order_views.xml | 21 +++++++------- .../views/woo_pricelist_map_views.xml | 6 ++-- .../views/woo_product_map_views.xml | 21 +++++++------- .../views/woo_return_views.xml | 21 +++++++------- .../views/woo_shipping_carrier_views.xml | 6 ++-- .../views/woo_sync_log_views.xml | 25 ++++++++-------- .../views/woo_tax_map_views.xml | 6 ++-- 15 files changed, 119 insertions(+), 98 deletions(-) diff --git a/fusion-woo-odoo/fusion_woocommerce/data/cron.xml b/fusion-woo-odoo/fusion_woocommerce/data/cron.xml index 8a4ed01e..0848d552 100644 --- a/fusion-woo-odoo/fusion_woocommerce/data/cron.xml +++ b/fusion-woo-odoo/fusion_woocommerce/data/cron.xml @@ -7,7 +7,7 @@ model._cron_sync_products() 15 minutes - -1 + True @@ -18,7 +18,7 @@ model._cron_sync_orders() 5 minutes - -1 + True @@ -29,7 +29,7 @@ model._cron_sync_inventory() 15 minutes - -1 + True @@ -40,7 +40,7 @@ model._cron_sync_customers() 30 minutes - -1 + True @@ -51,7 +51,7 @@ model._cron_health_check() 10 minutes - -1 + True @@ -62,7 +62,7 @@ model._cron_cleanup_logs() 1 days - -1 + True diff --git a/fusion-woo-odoo/fusion_woocommerce/models/woo_instance.py b/fusion-woo-odoo/fusion_woocommerce/models/woo_instance.py index 63b15b65..9415c466 100644 --- a/fusion-woo-odoo/fusion_woocommerce/models/woo_instance.py +++ b/fusion-woo-odoo/fusion_woocommerce/models/woo_instance.py @@ -106,6 +106,34 @@ class WooInstance(models.Model): self.ensure_one() self.odoo_api_key = secrets.token_urlsafe(32) + def action_view_product_maps(self): + """Open product mapping list filtered by this instance.""" + self.ensure_one() + return { + 'type': 'ir.actions.act_window', + 'name': 'Product Mapping', + 'res_model': 'woo.product.map', + 'view_mode': 'list,form', + 'domain': [('instance_id', '=', self.id)], + 'context': {'default_instance_id': self.id}, + } + + def action_view_sync_errors(self): + """Open sync log filtered to errors for this instance.""" + self.ensure_one() + twenty_four_ago = fields.Datetime.subtract(fields.Datetime.now(), hours=24) + return { + 'type': 'ir.actions.act_window', + 'name': 'Sync Errors (24h)', + 'res_model': 'woo.sync.log', + 'view_mode': 'list,form', + 'domain': [ + ('instance_id', '=', self.id), + ('state', '=', 'failed'), + ('create_date', '>=', twenty_four_ago), + ], + } + def _log_sync(self, sync_type, direction, record_ref, state, message=''): """Create a woo.sync.log record for this instance.""" self.ensure_one() diff --git a/fusion-woo-odoo/fusion_woocommerce/static/src/js/dashboard.js b/fusion-woo-odoo/fusion_woocommerce/static/src/js/dashboard.js index 5bec895f..712cf82e 100644 --- a/fusion-woo-odoo/fusion_woocommerce/static/src/js/dashboard.js +++ b/fusion-woo-odoo/fusion_woocommerce/static/src/js/dashboard.js @@ -199,7 +199,7 @@ export class WooDashboard extends Component { type: "ir.actions.act_window", name: "Sync Errors (Last 24 h)", res_model: "woo.sync.log", - view_mode: "tree,form", + view_mode: "list,form", domain: [["state", "=", "failed"]], target: "current", }); diff --git a/fusion-woo-odoo/fusion_woocommerce/views/res_config_settings.xml b/fusion-woo-odoo/fusion_woocommerce/views/res_config_settings.xml index 2a4c5e02..4da8ba56 100644 --- a/fusion-woo-odoo/fusion_woocommerce/views/res_config_settings.xml +++ b/fusion-woo-odoo/fusion_woocommerce/views/res_config_settings.xml @@ -5,7 +5,7 @@ WooCommerce Settings woo.instance - tree,form + list,form diff --git a/fusion-woo-odoo/fusion_woocommerce/views/sale_order_views.xml b/fusion-woo-odoo/fusion_woocommerce/views/sale_order_views.xml index c94a6941..0abb1f0f 100644 --- a/fusion-woo-odoo/fusion_woocommerce/views/sale_order_views.xml +++ b/fusion-woo-odoo/fusion_woocommerce/views/sale_order_views.xml @@ -11,12 +11,12 @@ - + - + diff --git a/fusion-woo-odoo/fusion_woocommerce/views/woo_conflict_views.xml b/fusion-woo-odoo/fusion_woocommerce/views/woo_conflict_views.xml index ec5d75fe..5324878f 100644 --- a/fusion-woo-odoo/fusion_woocommerce/views/woo_conflict_views.xml +++ b/fusion-woo-odoo/fusion_woocommerce/views/woo_conflict_views.xml @@ -6,7 +6,7 @@ woo.conflict.tree woo.conflict - + @@ -15,7 +15,7 @@ - + @@ -69,14 +69,13 @@ domain="[('resolution', '=', 'pending')]"/> - - - - - + + + + @@ -85,7 +84,7 @@ Sync Conflicts woo.conflict - tree,form + list,form diff --git a/fusion-woo-odoo/fusion_woocommerce/views/woo_customer_views.xml b/fusion-woo-odoo/fusion_woocommerce/views/woo_customer_views.xml index 304fc7cb..15e83816 100644 --- a/fusion-woo-odoo/fusion_woocommerce/views/woo_customer_views.xml +++ b/fusion-woo-odoo/fusion_woocommerce/views/woo_customer_views.xml @@ -6,13 +6,13 @@ woo.customer.tree woo.customer - + - + @@ -48,10 +48,9 @@ - - - + + @@ -60,7 +59,7 @@ WooCommerce Customers woo.customer - tree,form + list,form diff --git a/fusion-woo-odoo/fusion_woocommerce/views/woo_instance_views.xml b/fusion-woo-odoo/fusion_woocommerce/views/woo_instance_views.xml index 83eea12f..ffb89ac0 100644 --- a/fusion-woo-odoo/fusion_woocommerce/views/woo_instance_views.xml +++ b/fusion-woo-odoo/fusion_woocommerce/views/woo_instance_views.xml @@ -6,7 +6,7 @@ woo.instance.tree woo.instance - + @@ -15,7 +15,7 @@ decoration-success="state == 'connected'" decoration-warning="state == 'draft'" decoration-danger="state == 'error'"/> - + @@ -93,7 +93,7 @@ - + @@ -105,22 +105,22 @@ decoration-success="state == 'mapped'" decoration-warning="state == 'conflict'" decoration-danger="state == 'error'"/> - + - + - + - + @@ -130,7 +130,7 @@ decoration-danger="state == 'failed'" decoration-warning="state == 'conflict'"/> - + @@ -154,12 +154,11 @@ domain="[('state', '=', 'draft')]"/> - - - - + + + @@ -168,7 +167,7 @@ WooCommerce Instances woo.instance - tree,form + list,form diff --git a/fusion-woo-odoo/fusion_woocommerce/views/woo_order_views.xml b/fusion-woo-odoo/fusion_woocommerce/views/woo_order_views.xml index 030f6782..24d39448 100644 --- a/fusion-woo-odoo/fusion_woocommerce/views/woo_order_views.xml +++ b/fusion-woo-odoo/fusion_woocommerce/views/woo_order_views.xml @@ -6,7 +6,7 @@ woo.order.tree woo.order - + @@ -16,7 +16,7 @@ decoration-info="state == 'confirmed'" decoration-warning="state == 'shipped'" decoration-danger="state == 'cancelled'"/> - + @@ -48,14 +48,14 @@ - + - + @@ -82,12 +82,11 @@ domain="[('state', '=', 'completed')]"/> - - - - + + + @@ -96,7 +95,7 @@ WooCommerce Orders woo.order - tree,form + list,form diff --git a/fusion-woo-odoo/fusion_woocommerce/views/woo_pricelist_map_views.xml b/fusion-woo-odoo/fusion_woocommerce/views/woo_pricelist_map_views.xml index 8db3c06c..f34f35ca 100644 --- a/fusion-woo-odoo/fusion_woocommerce/views/woo_pricelist_map_views.xml +++ b/fusion-woo-odoo/fusion_woocommerce/views/woo_pricelist_map_views.xml @@ -6,13 +6,13 @@ woo.pricelist.map.tree woo.pricelist.map - + - + @@ -20,7 +20,7 @@ Price List Mapping woo.pricelist.map - tree + list diff --git a/fusion-woo-odoo/fusion_woocommerce/views/woo_product_map_views.xml b/fusion-woo-odoo/fusion_woocommerce/views/woo_product_map_views.xml index 28f54917..2558e186 100644 --- a/fusion-woo-odoo/fusion_woocommerce/views/woo_product_map_views.xml +++ b/fusion-woo-odoo/fusion_woocommerce/views/woo_product_map_views.xml @@ -6,7 +6,7 @@ woo.product.map.tree woo.product.map - + @@ -19,7 +19,7 @@ decoration-success="state == 'mapped'" decoration-warning="state == 'conflict'" decoration-danger="state == 'error'"/> - + @@ -78,14 +78,13 @@ domain="[('state', '=', 'conflict')]"/> - - - - - + + + + @@ -94,7 +93,7 @@ Product Mapping woo.product.map - tree,form + list,form diff --git a/fusion-woo-odoo/fusion_woocommerce/views/woo_return_views.xml b/fusion-woo-odoo/fusion_woocommerce/views/woo_return_views.xml index 14b958c8..97a3bac3 100644 --- a/fusion-woo-odoo/fusion_woocommerce/views/woo_return_views.xml +++ b/fusion-woo-odoo/fusion_woocommerce/views/woo_return_views.xml @@ -6,7 +6,7 @@ woo.return.tree woo.return - + @@ -16,7 +16,7 @@ decoration-info="state == 'approved'" decoration-warning="state == 'requested'" decoration-danger="state == 'rejected'"/> - + @@ -56,11 +56,11 @@ - + - + @@ -82,12 +82,11 @@ domain="[('state', '=', 'approved')]"/> - - - - + + + @@ -96,7 +95,7 @@ WooCommerce Returns woo.return - tree,form + list,form diff --git a/fusion-woo-odoo/fusion_woocommerce/views/woo_shipping_carrier_views.xml b/fusion-woo-odoo/fusion_woocommerce/views/woo_shipping_carrier_views.xml index f3ba3315..90a3b16c 100644 --- a/fusion-woo-odoo/fusion_woocommerce/views/woo_shipping_carrier_views.xml +++ b/fusion-woo-odoo/fusion_woocommerce/views/woo_shipping_carrier_views.xml @@ -6,12 +6,12 @@ woo.shipping.carrier.tree woo.shipping.carrier - + - + @@ -19,7 +19,7 @@ Shipping Carriers woo.shipping.carrier - tree + list diff --git a/fusion-woo-odoo/fusion_woocommerce/views/woo_sync_log_views.xml b/fusion-woo-odoo/fusion_woocommerce/views/woo_sync_log_views.xml index e5097d76..be160e8e 100644 --- a/fusion-woo-odoo/fusion_woocommerce/views/woo_sync_log_views.xml +++ b/fusion-woo-odoo/fusion_woocommerce/views/woo_sync_log_views.xml @@ -6,7 +6,7 @@ woo.sync.log.tree woo.sync.log - + @@ -17,7 +17,7 @@ decoration-danger="state == 'failed'" decoration-warning="state == 'conflict'"/> - + @@ -66,16 +66,15 @@ - - - - - - + + + + + @@ -84,7 +83,7 @@ Sync Logs woo.sync.log - tree,form + list,form diff --git a/fusion-woo-odoo/fusion_woocommerce/views/woo_tax_map_views.xml b/fusion-woo-odoo/fusion_woocommerce/views/woo_tax_map_views.xml index 38e614a3..cdaeb6ab 100644 --- a/fusion-woo-odoo/fusion_woocommerce/views/woo_tax_map_views.xml +++ b/fusion-woo-odoo/fusion_woocommerce/views/woo_tax_map_views.xml @@ -6,13 +6,13 @@ woo.tax.map.tree woo.tax.map - + - + @@ -20,7 +20,7 @@ Tax Mapping woo.tax.map - tree + list