Skip to content
This repository was archived by the owner on May 25, 2023. It is now read-only.

Commit 658014b

Browse files
committed
Added admin action to deliver stored hooks
1 parent fd293e3 commit 658014b

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

rest_hooks_delivery/admin.py

+10
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from rest_hooks.utils import get_module
77

88
from rest_hooks_delivery.models import FailedHook, StoredHook
9+
from rest_hooks_delivery.deliverers import retry
910

1011

1112
def retry_hook(modeladmin, request, queryset):
@@ -26,6 +27,13 @@ def retry_hook(modeladmin, request, queryset):
2627
modeladmin.message_user(request, "Retried %d failed webhooks" % count)
2728
retry_hook.short_description = "Retry selected hooks"
2829

30+
def deliver_hook_event(modeladmin, request, queryset):
31+
for hook in queryset.filter(target=F('target'),
32+
event=F('event'),
33+
user_id=F('user_id')):
34+
retry(hook.target, hook.payload, hook=hook.hook, cleanup=True)
35+
hook.delete()
36+
deliver_hook_event.short_description = "Deliver selected hook events"
2937

3038
class FailedHookAdmin(admin.ModelAdmin):
3139
list_display = ('__unicode__', 'event', 'user', 'last_status',
@@ -54,6 +62,8 @@ class StoredHookAdmin(admin.ModelAdmin):
5462

5563
filter_horizontal = ()
5664

65+
actions = (deliver_hook_event,)
66+
5767
def has_add_permission(self, request):
5868
return False
5969

0 commit comments

Comments
 (0)