Files
fet2020/fet2020/posts/admin.py
2020-09-06 11:30:49 +00:00

88 lines
2.4 KiB
Python

# import django.contrib.auth.admin
# import django.contrib.auth.models
import taggit.admin
from django.contrib import admin, auth
from .models import Post, Event, News, FetMeeting
from .forms import MyPostForm, MyEventForm, MyNewsForm, MyFetMeetingForm
admin.site.unregister(auth.models.User)
admin.site.unregister(auth.models.Group)
admin.site.unregister(taggit.models.Tag)
def make_fetmeeting(modeladmin, request, queryset):
queryset.update(post_type='F')
make_fetmeeting.short_description = "In eine Fachschaftssitzung konvertieren"
class MyPostAdmin(admin.ModelAdmin):
form = MyPostForm
model = Post
list_filter = ['is_pinned', 'is_hidden']
list_display = ['title', 'slug', 'public_date', 'is_pinned', 'is_hidden']
ordering = ['is_hidden', '-public_date']
def add_view(self, request, form_url='', extra_context=None):
extra_context = extra_context or {}
extra_context['help_text'] = "Fette Schriften sind Pflichtfelder."
return super().add_view(
request, form_url, extra_context=extra_context,
)
def change_view(self, request, object_id, form_url='', extra_context=None):
extra_context = extra_context or {}
extra_context['help_text'] = "Fette Schriften sind Pflichtfelder."
return super().change_view(
request, object_id, form_url, extra_context=extra_context,
)
def save_model(self, request, obj, form, change):
if obj.author is None:
obj.author = request.user
super().save_model(request, obj, form, change)
class Media:
css = {
"all": [
"jquery-ui/jquery-ui.min.css",
"jquery-ui/ui-lightness/theme.css",
]
}
js = [
"jquery-ui/jquery-ui.min.js",
]
class MyEventAdmin(MyPostAdmin):
form = MyEventForm
model = Event
list_filter = ['is_pinned']
list_display = ['title', 'slug', 'event_start', 'public_date', 'is_pinned']
ordering = ['-event_start']
actions = [make_fetmeeting]
admin.site.register(Event, MyEventAdmin)
class MyNewsAdmin(MyPostAdmin):
form = MyNewsForm
model = News
admin.site.register(News, MyNewsAdmin)
class MyFetMeetingAdmin(MyEventAdmin):
form = MyFetMeetingForm
model = FetMeeting
list_filter = []
list_display = ['title', 'slug', 'event_start', 'public_date']
admin.site.register(FetMeeting, MyFetMeetingAdmin)