funkwhale/api/funkwhale_api/federation/admin.py

81 wiersze
2.1 KiB
Python
Czysty Zwykły widok Historia

2018-04-08 11:33:46 +00:00
from django.contrib import admin
from . import models
2018-09-13 15:18:23 +00:00
from . import tasks
def redeliver_inbox_items(modeladmin, request, queryset):
for id in set(
queryset.filter(activity__actor__user__isnull=False).values_list(
"activity", flat=True
)
):
tasks.dispatch_outbox.delay(activity_id=id)
redeliver_inbox_items.short_description = "Redeliver"
def redeliver_activities(modeladmin, request, queryset):
for id in set(
queryset.filter(actor__user__isnull=False).values_list("id", flat=True)
):
tasks.dispatch_outbox.delay(activity_id=id)
redeliver_activities.short_description = "Redeliver"
@admin.register(models.Activity)
class ActivityAdmin(admin.ModelAdmin):
list_display = ["type", "fid", "url", "actor", "creation_date"]
search_fields = ["payload", "fid", "url", "actor__domain"]
list_filter = ["type", "actor__domain"]
actions = [redeliver_activities]
list_select_related = True
2018-04-08 11:33:46 +00:00
@admin.register(models.Actor)
class ActorAdmin(admin.ModelAdmin):
list_display = [
"fid",
2018-06-09 13:36:16 +00:00
"domain",
"preferred_username",
"type",
"creation_date",
"last_fetch_date",
2018-04-08 11:33:46 +00:00
]
search_fields = ["fid", "domain", "preferred_username"]
2018-06-09 13:36:16 +00:00
list_filter = ["type"]
2018-04-08 11:33:46 +00:00
@admin.register(models.Follow)
class FollowAdmin(admin.ModelAdmin):
2018-06-09 13:36:16 +00:00
list_display = ["actor", "target", "approved", "creation_date"]
list_filter = ["approved"]
search_fields = ["actor__fid", "target__fid"]
2018-04-08 11:33:46 +00:00
list_select_related = True
2018-09-13 15:18:23 +00:00
@admin.register(models.LibraryFollow)
class LibraryFollowAdmin(admin.ModelAdmin):
list_display = ["actor", "target", "approved", "creation_date"]
list_filter = ["approved"]
search_fields = ["actor__fid", "target__fid"]
2018-04-08 11:33:46 +00:00
list_select_related = True
2018-09-13 15:18:23 +00:00
@admin.register(models.InboxItem)
class InboxItemAdmin(admin.ModelAdmin):
2018-04-08 11:33:46 +00:00
list_display = [
2018-09-13 15:18:23 +00:00
"actor",
"activity",
"type",
"last_delivery_date",
"delivery_attempts",
2018-04-08 11:33:46 +00:00
]
2018-09-13 15:18:23 +00:00
list_filter = ["type"]
search_fields = ["actor__fid", "activity__fid"]
2018-04-08 11:33:46 +00:00
list_select_related = True
2018-09-13 15:18:23 +00:00
actions = [redeliver_inbox_items]