add: filter for choose task in todo's admin page

This commit is contained in:
raiots 2022-01-08 21:09:36 +08:00
parent b0cdc33fb1
commit c6e965b38a
4 changed files with 15 additions and 3 deletions

View File

@ -1,3 +1,4 @@
from datetime import datetime
import re
from django.contrib import admin
@ -207,6 +208,17 @@ class TodoAdmin(ImportExportModelAdmin):
else:
return False
# 对工作包页面选择其所属的年度任务中,对年度任务进行筛选。条件为:年度任务的完成时间不早于今年或年度任务中有工作包的完成时间晚于今年
def get_form(self, request, obj=None, **kwargs):
form = super(TodoAdmin, self).get_form(request, obj, **kwargs)
query = models.Task.objects.filter(
department=request.user.department, deadline__year__gte=datetime.now().strftime('%Y')).order_by('task_id')\
| models.Task.objects.filter(
department=request.user.department, related_task__deadline__year__gte=datetime.now().strftime('%Y'))\
.order_by('task_id')
form.base_fields['related_task'].queryset = query.distinct()
return form
# def save_model(self, request, obj, form, change):
# # 这一行代码写了一个晚上呜呜! 解决了当保存时,无法从未保存的数据中获取协办人数的问题!
# mvDict = dict(request.POST)

View File

@ -40,7 +40,7 @@ class Todo(models.Model):
default='0%',
)
real_work = models.DecimalField('实际工作量', default=0, max_digits=5, decimal_places=1, blank=False)
complete_note = models.TextField('完成情况说明', max_length=150, blank=True)
complete_note = models.TextField('完成情况说明', max_length=500, blank=True)
quality_mark = models.ForeignKey('users.QualityMark', on_delete=models.SET_NULL, blank=True, null=True,
verbose_name='质量评价')
attachment = models.FileField('交付物查看', blank=True)

View File

@ -1,5 +1,5 @@
from django.urls import path, include
import debug_toolbar
# import debug_toolbar
from apps.tasks import views, tests
from TasksManager import settings

View File

@ -9,7 +9,7 @@
<div class="row mb-2">
<div class="col-sm-6">
<h1>总览 ({{ date }}) </h1>
<h1><font color="#FF0000">测试版,请勿用于生产环境!!!</font></h1>
{# <h1><font color="#FF0000">测试版,请勿用于生产环境!!!</font></h1>#}
</div>
<div class="col-sm-6">
{# <ol class="breadcrumb float-sm-right">#}