24 lines
801 B
Python
24 lines
801 B
Python
"""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
|