admin.py 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. from django.contrib import admin
  2. from django.utils.safestring import mark_safe
  3. from tickets.models import Attachment, Comment, Event, TicketList, Ticket, TicketArchive
  4. class TicketListAdmin(admin.ModelAdmin):
  5. list_filter = (
  6. "group",
  7. )
  8. class TicketAdmin(admin.ModelAdmin):
  9. list_display = (
  10. "title",
  11. "ticket_list",
  12. "status",
  13. "created_by",
  14. "assigned_to",
  15. "created_at",
  16. "updated_at",
  17. "due_date",
  18. "priority"
  19. )
  20. list_filter = (
  21. "ticket_list",
  22. "status",
  23. "created_by",
  24. "assigned_to",
  25. "created_at",
  26. "updated_at"
  27. )
  28. ordering = ("priority",)
  29. search_fields = (
  30. "title",
  31. "note"
  32. )
  33. class TicketArchiveAdmin(admin.ModelAdmin):
  34. list_display = (
  35. "title",
  36. "ticket_list",
  37. "status",
  38. "created_by",
  39. "assigned_to",
  40. "created_at",
  41. "updated_at",
  42. "due_date"
  43. )
  44. list_filter = (
  45. "ticket_list",
  46. "status",
  47. "created_by",
  48. "assigned_to",
  49. "created_at",
  50. "updated_at"
  51. )
  52. search_fields = (
  53. "title",
  54. "note"
  55. )
  56. readonly_fields = (
  57. "title",
  58. "ticket_list",
  59. "ticket_type",
  60. "status",
  61. "created_at",
  62. "updated_at",
  63. "due_date",
  64. "created_by",
  65. "assigned_to",
  66. "display_note"
  67. )
  68. def display_note(self, obj):
  69. return mark_safe(obj.note)
  70. class CommentAdmin(admin.ModelAdmin):
  71. list_display = (
  72. "author",
  73. "date",
  74. "snippet"
  75. )
  76. class EventAdmin(admin.ModelAdmin):
  77. list_display = (
  78. "author",
  79. "date",
  80. "snippet"
  81. )
  82. class AttachmentAdmin(admin.ModelAdmin):
  83. list_display = (
  84. "ticket",
  85. "added_by",
  86. "timestamp",
  87. "file"
  88. )
  89. autocomplete_fields = [
  90. "added_by",
  91. "ticket"
  92. ]
  93. admin.site.register(TicketList, TicketListAdmin)
  94. admin.site.register(Ticket, TicketAdmin)
  95. admin.site.register(TicketArchive, TicketArchiveAdmin)
  96. admin.site.register(Comment, CommentAdmin)
  97. admin.site.register(Event, EventAdmin)
  98. admin.site.register(Attachment, AttachmentAdmin)