This commit adapts the business code to changes introduced by the parent commit in order to keep the same behaviour as before. All readonly=False fields will have to be checked afterwards to confirm that the business case requires write access to the source field.
65 lines
2.6 KiB
Python
65 lines
2.6 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from odoo import api, fields, models, tools
|
|
|
|
|
|
class FleetVehicleModel(models.Model):
|
|
_name = 'fleet.vehicle.model'
|
|
_description = 'Model of a vehicle'
|
|
_order = 'name asc'
|
|
|
|
name = fields.Char('Model name', required=True)
|
|
brand_id = fields.Many2one('fleet.vehicle.model.brand', 'Make', required=True, help='Make of the vehicle')
|
|
vendors = fields.Many2many('res.partner', 'fleet_vehicle_model_vendors', 'model_id', 'partner_id', string='Vendors')
|
|
image = fields.Binary(related='brand_id.image', string="Logo", readonly=False)
|
|
image_medium = fields.Binary(related='brand_id.image_medium', string="Logo (medium)", readonly=False)
|
|
image_small = fields.Binary(related='brand_id.image_small', string="Logo (small)", readonly=False)
|
|
|
|
@api.multi
|
|
@api.depends('name', 'brand_id')
|
|
def name_get(self):
|
|
res = []
|
|
for record in self:
|
|
name = record.name
|
|
if record.brand_id.name:
|
|
name = record.brand_id.name + '/' + name
|
|
res.append((record.id, name))
|
|
return res
|
|
|
|
@api.onchange('brand_id')
|
|
def _onchange_brand(self):
|
|
if self.brand_id:
|
|
self.image_medium = self.brand_id.image
|
|
else:
|
|
self.image_medium = False
|
|
|
|
|
|
class FleetVehicleModelBrand(models.Model):
|
|
_name = 'fleet.vehicle.model.brand'
|
|
_description = 'Brand of the vehicle'
|
|
_order = 'name asc'
|
|
|
|
name = fields.Char('Make', required=True)
|
|
image = fields.Binary("Logo", attachment=True,
|
|
help="This field holds the image used as logo for the brand, limited to 1024x1024px.")
|
|
image_medium = fields.Binary("Medium-sized image", attachment=True,
|
|
help="Medium-sized logo of the brand. It is automatically "
|
|
"resized as a 128x128px image, with aspect ratio preserved. "
|
|
"Use this field in form views or some kanban views.")
|
|
image_small = fields.Binary("Small-sized image", attachment=True,
|
|
help="Small-sized logo of the brand. It is automatically "
|
|
"resized as a 64x64px image, with aspect ratio preserved. "
|
|
"Use this field anywhere a small image is required.")
|
|
|
|
@api.model_create_multi
|
|
def create(self, vals_list):
|
|
for vals in vals_list:
|
|
tools.image_resize_images(vals)
|
|
return super(FleetVehicleModelBrand, self).create(vals_list)
|
|
|
|
@api.multi
|
|
def write(self, vals):
|
|
tools.image_resize_images(vals)
|
|
return super(FleetVehicleModelBrand, self).write(vals)
|