Files
Iliyan Angelov 6b247e5b9f Updates
2025-09-19 11:58:53 +03:00

86 lines
2.4 KiB
Python

"""Result Task Admin interface."""
from django.conf import settings
from django.contrib import admin
from django.utils.translation import gettext_lazy as _
try:
ALLOW_EDITS = settings.DJANGO_CELERY_RESULTS['ALLOW_EDITS']
except (AttributeError, KeyError):
ALLOW_EDITS = False
pass
from .models import GroupResult, TaskResult
class TaskResultAdmin(admin.ModelAdmin):
"""Admin-interface for results of tasks."""
model = TaskResult
date_hierarchy = 'date_done'
list_display = ('task_id', 'periodic_task_name', 'task_name', 'date_done',
'status', 'worker')
list_filter = ('status', 'date_done', 'periodic_task_name', 'task_name',
'worker')
readonly_fields = ('date_created', 'date_started', 'date_done',
'result', 'meta')
search_fields = ('task_name', 'task_id', 'status', 'task_args',
'task_kwargs')
fieldsets = (
(None, {
'fields': (
'task_id',
'task_name',
'periodic_task_name',
'status',
'worker',
'content_type',
'content_encoding',
),
'classes': ('extrapretty', 'wide')
}),
(_('Parameters'), {
'fields': (
'task_args',
'task_kwargs',
),
'classes': ('extrapretty', 'wide')
}),
(_('Result'), {
'fields': (
'result',
'date_created',
'date_started',
'date_done',
'traceback',
'meta',
),
'classes': ('extrapretty', 'wide')
}),
)
def get_readonly_fields(self, request, obj=None):
if ALLOW_EDITS:
return self.readonly_fields
else:
return list({
field.name for field in self.opts.local_fields
})
admin.site.register(TaskResult, TaskResultAdmin)
class GroupResultAdmin(admin.ModelAdmin):
"""Admin-interface for results of grouped tasks."""
model = GroupResult
date_hierarchy = 'date_done'
list_display = ('group_id', 'date_done')
list_filter = ('date_done',)
readonly_fields = ('date_created', 'date_done', 'result')
search_fields = ('group_id',)
admin.site.register(GroupResult, GroupResultAdmin)