# -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. from odoo import api, fields, models, _ class HelpdeskAffectedModule(models.Model): _name = 'helpdesk.affected.module' _description = 'Affected Module Catalog' _rec_name = 'name' _order = 'name' name = fields.Char( string='Name', required=True, translate=True, help="Module name (translatable)" ) code = fields.Char( string='Code', required=True, index=True, help="Technical code of the module (e.g., 'account', 'sale')" ) active = fields.Boolean( string='Active', default=True, help="If unchecked, this module will be hidden from selection" ) is_main_application = fields.Boolean( string='Main Application', default=False, help="Check if this is a main Odoo application (not an extension module)" ) description = fields.Text( string='Description', help="Module description" ) _sql_constraints = [ ('code_unique', 'UNIQUE(code)', 'The module code must be unique!'), ] def name_get(self): """Override name_get to show translated name""" # Odoo automatically handles translation based on context lang # when field has translate=True, so we just return the name result = [] for record in self: result.append((record.id, record.name)) return result