# -*- coding: utf-8 -*- from openerp import models, fields, api from openerp.exceptions import except_orm, Warning, RedirectWarning class CarCarModify(models.Model): _inherit = 'car.car' name = fields.Many2one('car.service', string='Nombre del vehiculo', required=True) agent_id = fields.Many2one('res.partner', string='Agente de Seguro') policy = fields.Boolean() @api.one @api.onchange('name') def onchange_name(self): self.partner_id = self.name.partner_id.id self.agent_id = self.name.agent_id.id self.policy = self.name.policy date_in = fields.Date('Fecha de entrada', default=fields.Date.today()) date_out = fields.Date('Fecha de Salida') image_medium = fields.Binary('Binary File', related="name.logo") @api.multi def unlink(self): for project in self: if project.state in ('close'): raise Warning('No puedes borrar un proyecto en estado cerrado') return super(car_car, self).unlink() def on_change_vehicle(self): if not self.name: return {} model = self.pool.get('car.service').browse(self.name) return { 'value': { 'image_medium': model.logo, } } class CarWorkshopModify(models.Model): _inherit = 'car.workshop' @api.multi def unlink(self): for task in self: if task.state in ('workshop_create_invoices'): raise Warning('No puedes borrar una tarea ya facturada') return super(car_workshop, self).unlink()