helpdesk_affected_module.py 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # -*- coding: utf-8 -*-
  2. # Part of Odoo. See LICENSE file for full copyright and licensing details.
  3. from odoo import api, fields, models, _
  4. class HelpdeskAffectedModule(models.Model):
  5. _name = 'helpdesk.affected.module'
  6. _description = 'Affected Module Catalog'
  7. _rec_name = 'name'
  8. _order = 'name'
  9. name = fields.Char(
  10. string=_('Name'),
  11. required=True,
  12. translate=True,
  13. help=_("Module name (translatable)")
  14. )
  15. code = fields.Char(
  16. string=_('Code'),
  17. required=True,
  18. index=True,
  19. help=_("Technical code of the module (e.g., 'account', 'sale')")
  20. )
  21. active = fields.Boolean(
  22. string=_('Active'),
  23. default=True,
  24. help=_("If unchecked, this module will be hidden from selection")
  25. )
  26. is_main_application = fields.Boolean(
  27. string=_('Main Application'),
  28. default=False,
  29. help=_("Check if this is a main Odoo application (not an extension module)")
  30. )
  31. description = fields.Text(
  32. string=_('Description'),
  33. help=_("Module description")
  34. )
  35. _sql_constraints = [
  36. ('code_unique', 'UNIQUE(code)', 'The module code must be unique!'),
  37. ]
  38. def name_get(self):
  39. """Override name_get to show translated name"""
  40. # Odoo automatically handles translation based on context lang
  41. # when field has translate=True, so we just return the name
  42. result = []
  43. for record in self:
  44. result.append((record.id, record.name))
  45. return result