Skip to content

Commit faae1df

Browse files
committed
Delete and retry tasks through Django Admin
1 parent 39ceb97 commit faae1df

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

django_tasks/backends/database/admin.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,16 @@
33
from django.contrib import admin
44
from django.http import HttpRequest
55

6+
from django_tasks.task import ResultStatus
7+
68
from .models import DBTaskResult
79

810

11+
def retry(modeladmin: "DBTaskResultAdmin", request, queryset):
12+
rows = queryset.update(status=ResultStatus.NEW)
13+
modeladmin.message_user(request, f"Rescheduled {rows} tasks.", "SUCCESS")
14+
15+
916
@admin.register(DBTaskResult)
1017
class DBTaskResultAdmin(admin.ModelAdmin):
1118
list_display = (
@@ -19,17 +26,13 @@ class DBTaskResultAdmin(admin.ModelAdmin):
1926
"queue_name",
2027
)
2128
list_filter = ("status", "priority", "queue_name")
29+
actions = [retry]
2230

2331
def has_add_permission(
2432
self, request: HttpRequest, obj: Optional[DBTaskResult] = None
2533
) -> bool:
2634
return False
2735

28-
def has_delete_permission(
29-
self, request: HttpRequest, obj: Optional[DBTaskResult] = None
30-
) -> bool:
31-
return False
32-
3336
def has_change_permission(
3437
self, request: HttpRequest, obj: Optional[DBTaskResult] = None
3538
) -> bool:

0 commit comments

Comments
 (0)