12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- # -*- encoding: utf-8 -*-
- ##############################################################################
- #
- # 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 General Public License for more details.
- #
- # You should have received a copy of the GNU General Public License
- # along with this program. If not, see http://www.gnu.org/licenses/.
- #
- ##############################################################################
- from openerp import models, api
- class ProductTemplate(models.Model):
- _inherit = 'product.template'
- @api.multi
- def write(self, vals):
- res = {}
- for product_tmpl in self:
- write_vals = {}
- if 'uom_po_id' in vals:
- write_vals['uom_po_id'] = vals.pop("uom_po_id", None)
- write_vals['uom_id'] = vals.pop("uom_id", None)
- if vals:
- res = super(ProductTemplate, self).write(vals)
- if write_vals:
- product_obj = self.env['product.product']
- st_mv_obj = self.env['stock.move']
- product_lst = product_obj.search([('product_tmpl_id', '=',
- product_tmpl.id)])
- if not st_mv_obj.search([('product_id', 'in',
- product_lst.ids)]):
- models.Model.write(self, write_vals)
- else:
- res = super(ProductTemplate, self).write(write_vals)
- return res
|