123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- from django.contrib import admin
- from tickets.models import Attachment, Comment, Task, TaskList, TicketType
- from tickets.admin_utils import *
- from django.contrib.auth.models import Group
- from django.contrib.auth.admin import GroupAdmin
- @admin.register(Task)
- class TaskAdmin(admin.ModelAdmin):
- list_display = ("title", "task_list", "status", "priority", "due_date")
- list_filter = ("task_list",)
- ordering = ("priority",)
- search_fields = ("title",)
- @admin.register(TaskList)
- class TaskListAdmin(admin.ModelAdmin):
- actions = [add_default_tickets_list_admin]
- @admin.register(TicketType)
- class TicketTypeAdmin(admin.ModelAdmin):
- actions = [add_default_ticketstype_admin]
- admin.site.unregister(Group)
- @admin.register(Group)
- class GroupsAdmin(admin.ModelAdmin):
- actions = [add_default_group_admin]
- search_fields = ("name",)
- ordering = ("name",)
- filter_horizontal = ("permissions",)
- def formfield_for_manytomany(self, db_field, request=None, **kwargs):
- if db_field.name == "permissions":
- qs = kwargs.get("queryset", db_field.remote_field.model.objects)
- kwargs["queryset"] = qs.select_related("content_type")
- return super().formfield_for_manytomany(db_field, request=request, **kwargs)
- class CommentAdmin(admin.ModelAdmin):
- list_display = ("author", "date", "snippet")
- class AttachmentAdmin(admin.ModelAdmin):
- list_display = ("task", "added_by", "timestamp", "file")
- autocomplete_fields = ["added_by", "task"]
- admin.site.register(Comment, CommentAdmin)
- admin.site.add_action(export_to_csv)
- admin.site.register(Attachment)
|