From 39ab683cd6076ac21214fb903c27197f669c9200 Mon Sep 17 00:00:00 2001 From: raiots Date: Fri, 26 Mar 2021 16:32:39 +0800 Subject: [PATCH] =?UTF-8?q?add:=20admin=E4=BB=85=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E5=BD=93=E5=89=8D=E9=83=A8=E9=97=A8=E7=9A=84=E5=B9=B4=E5=BA=A6?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1/=E5=B7=A5=E4=BD=9C=E5=8C=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/tasks/admin.py | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/apps/tasks/admin.py b/apps/tasks/admin.py index 3144ef6..9810b7b 100644 --- a/apps/tasks/admin.py +++ b/apps/tasks/admin.py @@ -39,6 +39,7 @@ class TaskAdmin(admin.ModelAdmin): # pass # # kwargs["queryset"] = models.Task.objects.get(id=2).related_task + # 所属单位默认为访问用户的部门 def get_changeform_initial_data(self, request): return {'department': request.user.department} @@ -48,6 +49,14 @@ class TaskAdmin(admin.ModelAdmin): kwargs["queryset"] = TaskProperty.objects.filter(own_department=request.user.department) return super().formfield_for_foreignkey(db_field, request, **kwargs) + # 仅显示当前部门的年度任务,除非为超管 + def get_queryset(self, request): + qs = super(TaskAdmin, self).get_queryset(request) + if request.user.is_superuser: + return qs + else: + return qs.filter(department=request.user.department) + list_display = ( 'task_property', 'task_id', 'task_topic', 'task_origin', 'aim_value', 'deadline', 'duty_group', 'principal', 'leader', 'task_note', @@ -83,13 +92,21 @@ class TodoAdmin(admin.ModelAdmin): kwargs["queryset"] = User.objects.filter(department=request.user.department) return super().formfield_for_manytomany(db_field, request, **kwargs) + # 仅显示当前部门的工作包,除非为超管 + def get_queryset(self, request): + qs = super(TodoAdmin, self).get_queryset(request) + if request.user.is_superuser: + return qs + else: + return qs.filter(related_task__department=request.user.department) + fieldsets = [ (None, { 'fields': [ 'related_task', 'todo_topic', 'todo_note', 'deadline', 'duty_group', 'main_executor', 'sub_executor', 'predict_work', 'evaluate_factor', ], - 'description': [] + 'description': 'aaa' }), (None, {