# -*- coding: utf-8 -*- ############################################################################## # # Purchase - Package Quantity Module for Odoo # Copyright (C) 2016-Today Akretion (https://www.akretion.com) # @author Julien WESTE # @author Sylvain LE GAL (https://twitter.com/legalsylvain) # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. # ############################################################################## from openerp import api, models class PurchaseOrder(models.Model): _inherit = 'purchase.order' @api.multi def _add_supplier_to_product(self): # we have to override this method to modify the vals # Do not add a contact as a supplier partner = self.partner_id if not self.partner_id.parent_id\ else self.partner_id.parent_id for line in self.order_line: if partner not in line.product_id.seller_ids.mapped('name') and\ len(line.product_id.seller_ids) <= 10: supplierinfo = line._get_supplierinfovals(partner) vals = { 'seller_ids': [(0, 0, supplierinfo)], } try: line.product_id.write(vals) except: # no write access rights -> just ignore break