diff --git a/huey_monitor/admin.py b/huey_monitor/admin.py index 7151fe3..f864114 100644 --- a/huey_monitor/admin.py +++ b/huey_monitor/admin.py @@ -63,6 +63,7 @@ class TaskModelAdmin(FixLookupAllowedMixin, admin.ModelAdmin): def get_changelist(self, request, **kwargs): return TaskModelChangeList + @admin.display(description=_('Execution detail')) def column_name(self, obj): qs = obj.sub_tasks.all() context = { @@ -77,18 +78,14 @@ def column_name(self, obj): column_name.short_description = _('Task name') def task_hierarchy_info(self, obj): + qs = TaskModel.objects.filter(parent_task_id=obj.pk).order_by('create_dt') + context = { + 'sub_tasks': qs + } if obj.parent_task_id is not None: # This is a sub task - context = { - 'main_task': TaskModel.objects.get(pk=obj.parent_task_id), - } - else: - # This is a main Task - qs = TaskModel.objects.filter(parent_task_id=obj.pk) - context = { - 'sub_tasks': qs, - } - + context['main_task'] = TaskModel.objects.get(pk=obj.parent_task_id) + return render_to_string( template_name='admin/huey_monitor/taskmodel/task_hierarchy_info.html', context=context, diff --git a/huey_monitor/templates/admin/huey_monitor/taskmodel/task_hierarchy_info.html b/huey_monitor/templates/admin/huey_monitor/taskmodel/task_hierarchy_info.html index 396e408..3115f80 100644 --- a/huey_monitor/templates/admin/huey_monitor/taskmodel/task_hierarchy_info.html +++ b/huey_monitor/templates/admin/huey_monitor/taskmodel/task_hierarchy_info.html @@ -1,12 +1,18 @@ {% load i18n humanize_time %} {% if main_task %} +

Parent task:

{% firstof main_task.desc main_task.name %} {{ main_task.state|default_if_none:"" }} {{ main_task.human_progress_string }}

-{% elif sub_tasks %} +{% else %} +

This task has no parent task.

+{% endif %} +
+{% if sub_tasks %} +

This task has {{sub_tasks|length}} sub tasks: