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