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

1from django.contrib import admin 

2from .models import Project, Board, BoardColumn, Sprint, Task, TaskComment, TimeLog 

3 

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') 

9 

10@admin.register(Board) 

11class BoardAdmin(admin.ModelAdmin): 

12 list_display = ('name', 'project', 'tenant_id') 

13 list_filter = ('tenant_id',) 

14 

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') 

19 

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') 

25 

26@admin.register(TaskComment) 

27class TaskCommentAdmin(admin.ModelAdmin): 

28 list_display = ('task', 'author', 'created_at', 'tenant_id') 

29 list_filter = ('tenant_id',) 

30 

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')