"""passbook Tasks List""" from typing import Any, Dict from django.views.generic.base import TemplateView from passbook.admin.mixins import AdminRequiredMixin from passbook.lib.tasks import TaskInfo, TaskResultStatus class TaskListView(AdminRequiredMixin, TemplateView): """Show list of all background tasks""" template_name = "administration/task/list.html" def get_context_data(self, **kwargs: Any) -> Dict[str, Any]: kwargs = super().get_context_data(**kwargs) kwargs["object_list"] = sorted( TaskInfo.all().values(), key=lambda x: x.task_name ) kwargs["task_successful"] = TaskResultStatus.SUCCESSFUL kwargs["task_warning"] = TaskResultStatus.WARNING kwargs["task_error"] = TaskResultStatus.ERROR return kwargs