search.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. from netbox.search import SearchIndex, register_search
  2. from . import models
  3. @register_search
  4. class ContactIndex(SearchIndex):
  5. model = models.Contact
  6. fields = (
  7. ('name', 100),
  8. ('title', 300),
  9. ('phone', 300),
  10. ('email', 300),
  11. ('address', 300),
  12. ('link', 300),
  13. ('description', 500),
  14. ('comments', 5000),
  15. )
  16. display_attrs = ('group', 'title', 'phone', 'email', 'description')
  17. @register_search
  18. class ContactGroupIndex(SearchIndex):
  19. model = models.ContactGroup
  20. fields = (
  21. ('name', 100),
  22. ('slug', 110),
  23. ('description', 500),
  24. )
  25. display_attrs = ('description',)
  26. @register_search
  27. class ContactRoleIndex(SearchIndex):
  28. model = models.ContactRole
  29. fields = (
  30. ('name', 100),
  31. ('slug', 110),
  32. ('description', 500),
  33. )
  34. display_attrs = ('description',)
  35. @register_search
  36. class TenantIndex(SearchIndex):
  37. model = models.Tenant
  38. fields = (
  39. ('name', 100),
  40. ('slug', 110),
  41. ('description', 500),
  42. ('comments', 5000),
  43. )
  44. display_attrs = ('group', 'description')
  45. @register_search
  46. class TenantGroupIndex(SearchIndex):
  47. model = models.TenantGroup
  48. fields = (
  49. ('name', 100),
  50. ('slug', 110),
  51. ('description', 500),
  52. )
  53. display_attrs = ('description',)