diff options
| author | Arnold Moyaux <arm@odoo.com> | 2020-01-17 15:29:54 +0000 |
|---|---|---|
| committer | Arnold Moyaux <arm@odoo.com> | 2020-01-20 08:53:14 +0000 |
| commit | 87fde093d67ee23786d064cce47f6160199b7e8f (patch) | |
| tree | e72fc6683b3f0b1f45fe5c4f2b3dd2fe18819635 /addons/mrp_subcontracting/models | |
| parent | f211eaafcba64bf51a036218d6d6ebbf0864ab6b (diff) | |
[IMP] mrp_subcontracting: filter on partner and product
Allow to easily find product and partners related to subcontracting
closes odoo/odoo#43046
Task: 2158126
Signed-off-by: Simon Lejeune (sle) <sle@openerp.com>
Diffstat (limited to 'addons/mrp_subcontracting/models')
| -rw-r--r-- | addons/mrp_subcontracting/models/res_partner.py | 12 |
1 files changed, 12 insertions, 0 deletions
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)] |
