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
|
from django.contrib import admin
from django import forms
from pgweb.util.admin import PgwebAdmin
from pgweb.core.models import OrganisationEmail
from .models import NewsArticle, NewsTag
class NewsArticleAdminForm(forms.ModelForm):
model = NewsArticle
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
if self.instance:
self.fields['email'].queryset = OrganisationEmail.objects.filter(org=self.instance.org, confirmed=True)
class NewsArticleAdmin(PgwebAdmin):
list_display = ('title', 'org', 'date', 'modstate', 'permanenturl')
list_filter = ('modstate', )
filter_horizontal = ('tags', )
search_fields = ('content', 'title', )
exclude = ('modstate', 'firstmoderator', )
form = NewsArticleAdminForm
class NewsTagAdmin(PgwebAdmin):
list_display = ('urlname', 'name', 'description')
filter_horizontal = ('allowed_orgs', )
admin.site.register(NewsArticle, NewsArticleAdmin)
admin.site.register(NewsTag, NewsTagAdmin)
|