@@ -258,8 +262,12 @@
Payments
account.payment
tree,kanban,form,graph
- {'default_payment_type': 'outbound', 'default_partner_type': 'supplier', 'search_default_outbound_filter': 1}
- []
+ {
+ 'default_payment_type': 'outbound',
+ 'default_partner_type': 'supplier',
+ 'search_default_outbound_filter': 1,
+ 'res_partner_search_mode': 'supplier',
+ }
diff --git a/addons/account/views/account_view.xml b/addons/account/views/account_view.xml
index 0fec57c4c87..f744863e4b7 100644
--- a/addons/account/views/account_view.xml
+++ b/addons/account/views/account_view.xml
@@ -1723,7 +1723,7 @@ action = model.setting_init_bank_account_action()
+ action="res_partner_action_customer" sequence="110"/>
product.product.tree
diff --git a/addons/account/views/partner_view.xml b/addons/account/views/partner_view.xml
index 9b90e8fec88..6550a595192 100644
--- a/addons/account/views/partner_view.xml
+++ b/addons/account/views/partner_view.xml
@@ -204,5 +204,47 @@
+
+
+ res.partner.search.inherit
+ res.partner
+
+
+
+
+
+
+
+
+
+
+ Customers
+ ir.actions.act_window
+ res.partner
+ kanban,tree,form
+ {'search_default_customer': 1,'res_partner_search_mode': 'customer', 'default_is_company': True}
+
+
+ Create a new customer in your address book
+
+ Odoo helps you easily track all activities related to a customer.
+
+
+
+
+
+ Suppliers
+ ir.actions.act_window
+ res.partner
+ kanban,tree,form
+ {'search_default_supplier': 1,'res_partner_search_mode': 'supplier', 'default_is_company': True}
+
+
+ Create a new supplier in your address book
+
+ Odoo helps you easily track all activities related to a supplier.
+
+
+
diff --git a/addons/purchase/models/res_partner.py b/addons/purchase/models/res_partner.py
index 063c7143401..9e9f391c95a 100644
--- a/addons/purchase/models/res_partner.py
+++ b/addons/purchase/models/res_partner.py
@@ -59,11 +59,3 @@ class res_partner(models.Model):
supplier_invoice_count = fields.Integer(compute='_compute_supplier_invoice_count', string='# Vendor Bills')
purchase_warn = fields.Selection(WARNING_MESSAGE, 'Purchase Order', help=WARNING_HELP, default="no-message")
purchase_warn_msg = fields.Text('Message for Purchase Order')
-
- def _get_name_search_join_clause(self):
- res = super()._get_name_search_join_clause()
- partner_search_mode = self.env.context.get('res_partner_search_mode')
- if partner_search_mode == 'supplier':
- join_clause = "LEFT JOIN {table} ON res_partner.id = {table}.partner_id".format(table=self.env['purchase.order']._table)
- return '%s %s' % (res, join_clause) if res else join_clause
- return res
diff --git a/addons/purchase/views/purchase_views.xml b/addons/purchase/views/purchase_views.xml
index ce1057ed9f2..427198204f7 100644
--- a/addons/purchase/views/purchase_views.xml
+++ b/addons/purchase/views/purchase_views.xml
@@ -14,7 +14,7 @@
+ action="account.res_partner_action_supplier" sequence="15"/>
diff --git a/addons/sale/models/res_partner.py b/addons/sale/models/res_partner.py
index ebebf045ae4..c14e091d9ae 100644
--- a/addons/sale/models/res_partner.py
+++ b/addons/sale/models/res_partner.py
@@ -43,11 +43,3 @@ class ResPartner(models.Model):
('state', 'in', ['sent', 'sale', 'done'])
], limit=1)
return can_edit_vat and not bool(has_so)
-
- def _get_name_search_join_clause(self):
- res = super()._get_name_search_join_clause()
- partner_search_mode = self.env.context.get('res_partner_search_mode')
- if partner_search_mode == 'customer':
- join_clause = "LEFT JOIN {table} ON res_partner.id = {table}.partner_id".format(table=self.env['sale.order']._table)
- return '%s %s' % (res, join_clause) if res else join_clause
- return res
diff --git a/addons/sale/views/sale_views.xml b/addons/sale/views/sale_views.xml
index f77b3d532cb..6c4a5c3e2af 100644
--- a/addons/sale/views/sale_views.xml
+++ b/addons/sale/views/sale_views.xml
@@ -22,7 +22,7 @@