# backend/modules/task_management/admin.py from django.contrib import admin from .models import Task, TaskTemplate, TaskTemplateEntry, TaskWorkEntry, TaskWorkHoursTable class TaskWorkEntryInline(admin.TabularInline): model = TaskWorkEntry extra = 0 fields = ('sort_order', 'title', 'work_description', 'active_faults', 'explanation_hr', 'template_entry') readonly_fields = ('template_entry',) class TaskWorkHoursTableInline(admin.StackedInline): model = TaskWorkHoursTable extra = 0 fields = ('data', 'is_active') class TaskTemplateEntryInline(admin.TabularInline): model = TaskTemplateEntry extra = 0 fields = ('sort_order', 'title', 'work_description', 'active_faults', 'explanation_hr', 'is_active') @admin.register(Task) class TaskAdmin(admin.ModelAdmin): list_display = ('title', 'status', 'assigned_to', 'vehicle', 'work_order', 'created_at') list_filter = ('status', 'created_at', 'work_order') search_fields = ('title', 'description', 'work_order__id', 'work_order__vehicle__registration_number') readonly_fields = ('id', 'created_at', 'updated_at') inlines = (TaskWorkHoursTableInline, TaskWorkEntryInline) @admin.register(TaskTemplate) class TaskTemplateAdmin(admin.ModelAdmin): list_display = ('code', 'title', 'status', 'is_active', 'created_at') list_filter = ('status', 'is_active', 'created_at') search_fields = ('code', 'title', 'description') inlines = (TaskTemplateEntryInline,) @admin.register(TaskWorkEntry) class TaskWorkEntryAdmin(admin.ModelAdmin): list_display = ('task', 'sort_order', 'title', 'template_entry', 'created_at') list_filter = ('created_at',) search_fields = ('task__title', 'title', 'active_faults', 'explanation_hr') readonly_fields = ('id', 'created_at', 'updated_at') @admin.register(TaskWorkHoursTable) class TaskWorkHoursTableAdmin(admin.ModelAdmin): list_display = ('task', 'updated_at', 'is_active') search_fields = ('task__title', 'task__vehicle__registration_number') readonly_fields = ('id', 'created_at', 'updated_at')