labelbase/background_task/admin.py
Xavier Fiechter 302c3cb9bd WIP
2023-11-02 00:10:07 +01:00

32 lines
1.1 KiB
Python

# -*- coding: utf-8 -*-
from django.contrib import admin
from background_task.models import Task
from background_task.models import CompletedTask
def inc_priority(modeladmin, request, queryset):
for obj in queryset:
obj.priority += 1
obj.save()
inc_priority.short_description = "priority += 1"
def dec_priority(modeladmin, request, queryset):
for obj in queryset:
obj.priority -= 1
obj.save()
dec_priority.short_description = "priority -= 1"
class TaskAdmin(admin.ModelAdmin):
display_filter = ['task_name','repeat',]
search_fields = ['task_name', 'task_params', ]
list_display = ['task_name', 'task_params', 'run_at', 'repeat', 'priority', 'attempts', 'has_error', 'locked_by', 'locked_by_pid_running', ]
actions = [inc_priority, dec_priority]
class CompletedTaskAdmin(admin.ModelAdmin):
display_filter = ['task_name']
search_fields = ['task_name', 'task_params', ]
list_display = ['task_name', 'task_params', 'run_at','repeat', 'priority', 'attempts', 'has_error', 'locked_by', 'locked_by_pid_running', ]
admin.site.register(Task, TaskAdmin)
admin.site.register(CompletedTask, CompletedTaskAdmin)