1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
from django.contrib import admin
from .models import (
APPROVED_FEED,
DENIED_FEED,
Feed,
FeedItem,
FeedType,
LocalDjangoCommunity,
)
@admin.action(description="Mark selected feeds as approved.")
def mark_approved(modeladmin, request, queryset):
for item in queryset.iterator():
item.approval_status = APPROVED_FEED
item.save()
@admin.action(description="Mark selected feeds as denied.")
def mark_denied(modeladmin, request, queryset):
for item in queryset.iterator():
item.approval_status = DENIED_FEED
item.save()
admin.site.register(
Feed,
list_display=["title", "feed_type", "public_url", "approval_status"],
list_filter=["feed_type", "approval_status"],
ordering=["title"],
search_fields=["title", "public_url"],
raw_id_fields=["owner"],
list_editable=["approval_status"],
list_per_page=500,
actions=[mark_approved, mark_denied],
)
admin.site.register(
FeedItem,
list_display=["title", "feed", "date_modified"],
list_filter=["feed"],
search_fields=["feed__title", "feed__public_url", "title"],
date_heirarchy=["date_modified"],
)
admin.site.register(
FeedType,
prepopulated_fields={"slug": ("name",)},
)
admin.site.register(
LocalDjangoCommunity,
prepopulated_fields={"slug": ("name",)},
list_filter=["name", "city", "country", "is_active"],
search_fields=["name", "city", "country"],
)
|