diff --git a/addons/mrp_subcontracting/__manifest__.py b/addons/mrp_subcontracting/__manifest__.py
index 277229315a5..e40a4ced61f 100644
--- a/addons/mrp_subcontracting/__manifest__.py
+++ b/addons/mrp_subcontracting/__manifest__.py
@@ -17,6 +17,7 @@
'views/stock_move_views.xml',
'views/stock_picking_views.xml',
'views/supplier_info_views.xml',
+ 'views/product_views.xml',
'wizard/stock_picking_return_views.xml',
],
'demo': [
diff --git a/addons/mrp_subcontracting/models/res_partner.py b/addons/mrp_subcontracting/models/res_partner.py
index 603d5dbbe93..67756a80175 100644
--- a/addons/mrp_subcontracting/models/res_partner.py
+++ b/addons/mrp_subcontracting/models/res_partner.py
@@ -11,3 +11,15 @@ class ResPartner(models.Model):
'stock.location', string="Subcontractor Location", company_dependent=True,
help="The stock location used as source and destination when sending\
goods to this contact during a subcontracting process.")
+ is_subcontractor = fields.Boolean(
+ string="Subcontractor", store=False, search="_search_is_subcontractor")
+
+ def _search_is_subcontractor(self, operator, value):
+ assert operator in ('=', '!=', '<>') and value in (True, False), 'Operation not supported'
+ subcontractor_ids = self.env['mrp.bom'].search(
+ [('type', '=', 'subcontract')]).subcontractor_ids.ids
+ if (operator == '=' and value is True) or (operator in ('<>', '!=') and value is False):
+ search_operator = 'in'
+ else:
+ search_operator = 'not in'
+ return [('id', search_operator, subcontractor_ids)]
diff --git a/addons/mrp_subcontracting/views/product_views.xml b/addons/mrp_subcontracting/views/product_views.xml
new file mode 100644
index 00000000000..6ef4b32107e
--- /dev/null
+++ b/addons/mrp_subcontracting/views/product_views.xml
@@ -0,0 +1,17 @@
+
+
+
+
+ mrp.subcontracting.product.template.search
+ product.template
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/mrp_subcontracting/views/res_partner_views.xml b/addons/mrp_subcontracting/views/res_partner_views.xml
index ad54ee15c0e..5a94fc48fac 100644
--- a/addons/mrp_subcontracting/views/res_partner_views.xml
+++ b/addons/mrp_subcontracting/views/res_partner_views.xml
@@ -10,4 +10,15 @@
+
+ res.partner.select.inherit
+ res.partner
+
+
+
+
+
+
+
+