Files
edx-platform/lms/djangoapps/instructor_task/admin.py
Awais Qureshi 44576ce3f6 BOM-2282
Apply pylint-amnesty.
2021-02-01 19:27:15 +05:00

53 lines
1.5 KiB
Python

"""
Basic admin screens to search and edit InstructorTasks.
This will mostly involve searching by course_id or task_id and manually failing
a task.
"""
from config_models.admin import ConfigurationModelAdmin
from django.contrib import admin
from .config.models import GradeReportSetting
from .models import InstructorTask
def mark_tasks_as_failed(modeladmin, request, queryset): # lint-amnesty, pylint: disable=unused-argument
queryset.update(
task_state='FAILURE',
task_output='{}',
task_key='dummy_task_key',
)
mark_tasks_as_failed.short_description = "Mark Tasks as Failed"
class InstructorTaskAdmin(admin.ModelAdmin): # lint-amnesty, pylint: disable=missing-class-docstring
actions = [mark_tasks_as_failed]
list_display = [
'task_id',
'task_state',
'task_type',
'course_id',
'username',
'email',
'created',
'updated',
]
list_filter = ['task_type', 'task_state']
search_fields = [
'task_id', 'course_id', 'requester__email', 'requester__username'
]
raw_id_fields = ['requester'] # avoid trying to make a select dropdown
def email(self, task):
return task.requester.email
email.admin_order_field = 'requester__email'
def username(self, task):
return task.requester.username
email.admin_order_field = 'requester__username'
admin.site.register(InstructorTask, InstructorTaskAdmin)
admin.site.register(GradeReportSetting, ConfigurationModelAdmin)