search.py 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. from netbox.search import SearchIndex, register_search
  2. from . import models
  3. @register_search
  4. class CircuitIndex(SearchIndex):
  5. model = models.Circuit
  6. fields = (
  7. ('cid', 100),
  8. ('description', 500),
  9. ('comments', 5000),
  10. )
  11. display_attrs = ('provider', 'provider_account', 'type', 'status', 'tenant', 'description')
  12. @register_search
  13. class CircuitTerminationIndex(SearchIndex):
  14. model = models.CircuitTermination
  15. fields = (
  16. ('xconnect_id', 300),
  17. ('pp_info', 300),
  18. ('description', 500),
  19. ('port_speed', 2000),
  20. ('upstream_speed', 2000),
  21. )
  22. display_attrs = ('circuit', 'site', 'provider_network', 'description')
  23. @register_search
  24. class CircuitTypeIndex(SearchIndex):
  25. model = models.CircuitType
  26. fields = (
  27. ('name', 100),
  28. ('slug', 110),
  29. ('description', 500),
  30. )
  31. display_attrs = ('description',)
  32. @register_search
  33. class ProviderIndex(SearchIndex):
  34. model = models.Provider
  35. fields = (
  36. ('name', 100),
  37. ('description', 500),
  38. ('comments', 5000),
  39. )
  40. display_attrs = ('description',)
  41. class ProviderAccountIndex(SearchIndex):
  42. model = models.ProviderAccount
  43. fields = (
  44. ('name', 100),
  45. ('account', 200),
  46. ('comments', 5000),
  47. )
  48. display_attrs = ('provider', 'account', 'description')
  49. @register_search
  50. class ProviderNetworkIndex(SearchIndex):
  51. model = models.ProviderNetwork
  52. fields = (
  53. ('name', 100),
  54. ('service_id', 200),
  55. ('description', 500),
  56. ('comments', 5000),
  57. )
  58. display_attrs = ('provider', 'service_id', 'description')