diff --git a/modules/web_shop/CHANGELOG b/modules/web_shop/CHANGELOG
index 4e6601b794..50a402c6b6 100644
--- a/modules/web_shop/CHANGELOG
+++ b/modules/web_shop/CHANGELOG
@@ -1,3 +1,4 @@
+* Add an URL to sales
Version 7.8.0 - 2025-12-15
--------------------------
diff --git a/modules/web_shop/sale.py b/modules/web_shop/sale.py
index 9136f68131..751cb05593 100644
--- a/modules/web_shop/sale.py
+++ b/modules/web_shop/sale.py
@@ -23,6 +23,14 @@ class Sale(metaclass=PoolMeta):
'required': Bool(Eval('web_shop')),
'readonly': ~Eval('web_id'),
})
+ web_url = fields.Function(
+ fields.Char(
+ "Web URL",
+ states={
+ 'invisible': ~Eval('web_url'),
+ },
+ help="The URL of the order on the web shop."),
+ 'get_web_url')
web_status_url = fields.Function(
fields.Char(
"Web Status URL",
@@ -64,6 +72,9 @@ class Sale(metaclass=PoolMeta):
if self.web_shop and not self.web_id:
self.web_id = token_hex(nbytes)
+ def get_web_url(self, name):
+ pass
+
def get_web_status_url(self, name):
pass
diff --git a/modules/web_shop/view/sale_form.xml b/modules/web_shop/view/sale_form.xml
index 661fefc54b..376a45c60f 100644
--- a/modules/web_shop/view/sale_form.xml
+++ b/modules/web_shop/view/sale_form.xml
@@ -8,6 +8,8 @@ this repository contains the full copyright notices and license terms. -->
+
+
diff --git a/modules/web_shop/view/sale_list.xml b/modules/web_shop/view/sale_list.xml
index e5e2ca4d70..34adad239e 100644
--- a/modules/web_shop/view/sale_list.xml
+++ b/modules/web_shop/view/sale_list.xml
@@ -5,5 +5,6 @@ this repository contains the full copyright notices and license terms. -->
+
diff --git a/modules/web_shop_shopify/sale.py b/modules/web_shop_shopify/sale.py
index 2d57c8e54b..96471f21cb 100644
--- a/modules/web_shop_shopify/sale.py
+++ b/modules/web_shop_shopify/sale.py
@@ -166,6 +166,12 @@ class Sale(IdentifierMixin, metaclass=PoolMeta):
'web_shop_shopify.msg_identifier_sale_web_shop_unique'),
]
+ def get_web_url(self, name):
+ url = super().get_web_url(name)
+ if self.shopify_url:
+ url = self.shopify_url
+ return url
+
def get_web_status_url(self, name):
url = super().get_web_status_url(name)
if self.shopify_status_url:
diff --git a/modules/web_shop_shopify/sale.xml b/modules/web_shop_shopify/sale.xml
deleted file mode 100644
index f06ff244bb..0000000000
--- a/modules/web_shop_shopify/sale.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
- sale.sale
-
- sale_form
-
-
-
diff --git a/modules/web_shop_shopify/tryton.cfg b/modules/web_shop_shopify/tryton.cfg
index 58d097b498..f4a4d2bf33 100644
--- a/modules/web_shop_shopify/tryton.cfg
+++ b/modules/web_shop_shopify/tryton.cfg
@@ -29,7 +29,6 @@ xml:
product.xml
party.xml
web.xml
- sale.xml
stock.xml
carrier.xml
message.xml
diff --git a/modules/web_shop_shopify/view/sale_form.xml b/modules/web_shop_shopify/view/sale_form.xml
deleted file mode 100644
index dfe6c949c0..0000000000
--- a/modules/web_shop_shopify/view/sale_form.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
-
-