Odoo18-Base/addons/stock_fleet/models/fleet_vehicle_model.py

32 lines
1.7 KiB
Python
Raw Permalink Normal View History

2025-01-06 10:57:38 +07:00
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import _, fields, models
from odoo.tools import format_list
class FleetVehicleModelCategory(models.Model):
_inherit = 'fleet.vehicle.model.category'
weight_capacity = fields.Float(string="Max Weight")
weight_capacity_uom_name = fields.Char(string='Weight unit of measure label', compute='_compute_weight_capacity_uom_name')
volume_capacity = fields.Float(string="Max Volume")
volume_capacity_uom_name = fields.Char(string='Volume unit of measure label', compute='_compute_volume_capacity_uom_name')
def _compute_display_name(self):
super()._compute_display_name()
for record in self:
additional_info = []
if record.weight_capacity:
additional_info.append(_("%(weight_capacity)s %(weight_uom)s", weight_capacity=record.weight_capacity, weight_uom=record.weight_capacity_uom_name))
if record.volume_capacity:
additional_info.append(_("%(volume_capacity)s %(volume_uom)s", volume_capacity=record.volume_capacity, volume_uom=record.volume_capacity_uom_name))
if additional_info:
additional_info = format_list(self.env, additional_info, "unit-short")
record.display_name = _("%(display_name)s (%(load_capacity)s)", display_name=record.display_name, load_capacity=additional_info)
def _compute_weight_capacity_uom_name(self):
self.weight_capacity_uom_name = self.env['product.template']._get_weight_uom_name_from_ir_config_parameter()
def _compute_volume_capacity_uom_name(self):
self.volume_capacity_uom_name = self.env['product.template']._get_volume_uom_name_from_ir_config_parameter()