23 lines
783 B
Python
23 lines
783 B
Python
|
"""passbook Tasks List"""
|
||
|
from typing import Any, Dict
|
||
|
|
||
|
from django.core.cache import cache
|
||
|
from django.views.generic.base import TemplateView
|
||
|
|
||
|
from passbook.admin.mixins import AdminRequiredMixin
|
||
|
from passbook.lib.tasks import 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"] = cache.get_many(cache.keys("task_*"))
|
||
|
kwargs["task_successful"] = TaskResultStatus.SUCCESSFUL
|
||
|
kwargs["task_warning"] = TaskResultStatus.WARNING
|
||
|
kwargs["task_error"] = TaskResultStatus.ERROR
|
||
|
return kwargs
|