""" Task admin configuration. """ from django.contrib import admin from .models import Task, Tag, TimeEntry, TaskShare @admin.register(Tag) class TagAdmin(admin.ModelAdmin): """Admin for Tag.""" list_display = ['name', 'user', 'color', 'is_archived', 'created_at'] list_filter = ['is_archived', 'created_at'] search_fields = ['name', 'user__email'] ordering = ['sort_order', 'name'] @admin.register(Task) class TaskAdmin(admin.ModelAdmin): """Admin for Task.""" list_display = ['title', 'user', 'status', 'priority', 'due_date', 'created_at'] list_filter = ['status', 'priority', 'recurrence', 'created_at'] search_fields = ['title', 'description', 'user__email'] ordering = ['-created_at'] raw_id_fields = ['user', 'parent'] filter_horizontal = ['tags'] @admin.register(TimeEntry) class TimeEntryAdmin(admin.ModelAdmin): """Admin for TimeEntry.""" list_display = ['task', 'user', 'started_at', 'ended_at', 'duration_seconds'] list_filter = ['started_at'] search_fields = ['task__title', 'user__email'] ordering = ['-started_at'] raw_id_fields = ['task', 'user'] @admin.register(TaskShare) class TaskShareAdmin(admin.ModelAdmin): """Admin for TaskShare.""" list_display = ['owner', 'shared_with', 'task', 'tag', 'permission', 'created_at'] list_filter = ['permission', 'created_at'] search_fields = ['owner__email', 'shared_with__email'] ordering = ['-created_at'] raw_id_fields = ['owner', 'shared_with', 'task', 'tag']