Coverage for modules\planner\admin.py: 100%
28 statements
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-05 09:19 +0800
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-05 09:19 +0800
1from django.contrib import admin
2from .models import Project, Board, BoardColumn, Sprint, Task, TaskComment, TimeLog
4@admin.register(Project)
5class ProjectAdmin(admin.ModelAdmin):
6 list_display = ('key', 'name', 'status', 'lead', 'tenant_id')
7 search_fields = ('key', 'name')
8 list_filter = ('status', 'tenant_id')
10@admin.register(Board)
11class BoardAdmin(admin.ModelAdmin):
12 list_display = ('name', 'project', 'tenant_id')
13 list_filter = ('tenant_id',)
15@admin.register(BoardColumn)
16class BoardColumnAdmin(admin.ModelAdmin):
17 list_display = ('name', 'board', 'order', 'status_category', 'limit', 'tenant_id')
18 list_filter = ('status_category', 'tenant_id')
20@admin.register(Task)
21class TaskAdmin(admin.ModelAdmin):
22 list_display = ('task_code', 'title', 'project', 'priority', 'status', 'assignee', 'tenant_id')
23 list_filter = ('priority', 'status', 'project', 'tenant_id')
24 search_fields = ('title', 'description')
26@admin.register(TaskComment)
27class TaskCommentAdmin(admin.ModelAdmin):
28 list_display = ('task', 'author', 'created_at', 'tenant_id')
29 list_filter = ('tenant_id',)
31@admin.register(TimeLog)
32class TimeLogAdmin(admin.ModelAdmin):
33 list_display = ('task', 'user', 'hours', 'logged_date', 'tenant_id')
34 list_filter = ('tenant_id', 'logged_date')