add labels and helptexts
This commit is contained in:
@@ -23,7 +23,7 @@ class MyPostAdmin(admin.ModelAdmin):
|
||||
form = MyPostForm
|
||||
model = Post
|
||||
list_filter = ['is_pinned', 'is_hidden']
|
||||
list_display = ['title', 'subtitle', 'slug', 'public_date', '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):
|
||||
@@ -60,7 +60,8 @@ class MyPostAdmin(admin.ModelAdmin):
|
||||
class MyEventAdmin(MyPostAdmin):
|
||||
form = MyEventForm
|
||||
model = Event
|
||||
list_display = ['title', 'subtitle', 'slug', 'event_start', 'public_date', 'is_pinned']
|
||||
list_filter = ['is_pinned']
|
||||
list_display = ['title', 'slug', 'event_start', 'public_date', 'is_pinned']
|
||||
ordering = ['-event_start']
|
||||
actions = [make_fetmeeting]
|
||||
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
from ckeditor_uploader.widgets import CKEditorUploadingWidget
|
||||
from django import forms
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
from ckeditor_uploader.widgets import CKEditorUploadingWidget
|
||||
|
||||
from .models import Post, Event, News, FetMeeting
|
||||
|
||||
@@ -25,6 +27,23 @@ class MyNewsForm(MyPostForm):
|
||||
'title', 'subtitle', 'tags', 'image', 'body', 'slug', 'author', 'public_date',
|
||||
'is_pinned', 'is_hidden',
|
||||
]
|
||||
labels = {
|
||||
'title': _('Titel des Posts'),
|
||||
'image': _('Hintergrundbild des Posts'),
|
||||
'body': _('Beschreibung des Posts'),
|
||||
'author': _('Autor'),
|
||||
'public_date': _('Veröffentlichung'),
|
||||
'is_pinned': _('Post anheften'),
|
||||
'is_hidden': _('Post verstecken'),
|
||||
}
|
||||
help_texts = {
|
||||
'is_pinned': _(
|
||||
'Dieser Post soll an die Startseite als erster Post angeheftet werden.'
|
||||
),
|
||||
'is_hidden': _(
|
||||
'Dieser Post soll im News Feed nicht auftauchen, z.B. Impressum.'
|
||||
),
|
||||
}
|
||||
|
||||
widgets = {'body': CKEditorUploadingWidget(config_name='default')}
|
||||
|
||||
@@ -39,6 +58,22 @@ class MyEventForm(MyPostForm):
|
||||
'title', 'subtitle', 'tags', 'image', 'body', 'event_start', 'event_end',
|
||||
'event_place', 'slug', 'author', 'public_date', 'is_pinned',
|
||||
]
|
||||
labels = {
|
||||
'title': _('Titel des Events'),
|
||||
'image': _('Hintergrundbild des Posts'),
|
||||
'body': _('Beschreibung des Events'),
|
||||
'event_start': _('Start des Events'),
|
||||
'event_end': _('Ende des Events'),
|
||||
'event_place': _('Ort des Events'),
|
||||
'author': _('Autor'),
|
||||
'public_date': _('Veröffentlichung'),
|
||||
'is_pinned': _('Event anheften'),
|
||||
}
|
||||
help_texts = {
|
||||
'is_pinned': _(
|
||||
'Dieses Event soll an die Startseite als erster Post angeheftet werden.'
|
||||
),
|
||||
}
|
||||
|
||||
widgets = {'body': CKEditorUploadingWidget(config_name='default')}
|
||||
|
||||
@@ -55,10 +90,23 @@ class MyEventForm(MyPostForm):
|
||||
class MyFetMeetingForm(MyEventForm):
|
||||
class Meta:
|
||||
model = FetMeeting
|
||||
fields = ['event_start', 'event_end', 'tags', 'has_agenda']
|
||||
fields = ['event_start', 'event_end', 'tags', 'has_agenda', 'has_protocol']
|
||||
labels = {
|
||||
'event_start': _('Start der Sitzung'),
|
||||
'event_end': _('Ende der Sitzung'),
|
||||
'has_agenda': _('Agenda'),
|
||||
'has_protocol': _('Protokoll'),
|
||||
}
|
||||
help_texts = {
|
||||
'has_agenda': _('Agenda zur Sitzung hinzufügen.'),
|
||||
'has_protocol': _('Protokoll zur Sitzung hinzufügen.'),
|
||||
}
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super().__init__(*args, **kwargs) # to get the self.fields set
|
||||
|
||||
self.fields['event_start'].required = True
|
||||
self.fields['event_end'].required = False
|
||||
|
||||
self.fields['has_agenda'].initial = True
|
||||
self.fields['has_protocol'].initial = True
|
||||
|
||||
@@ -71,10 +71,10 @@ class Post(models.Model):
|
||||
post_type = models.CharField(max_length=1, choices=__choices, editable=False)
|
||||
|
||||
# post is pinned at main page
|
||||
is_pinned = models.BooleanField(default=False)
|
||||
is_pinned = models.BooleanField(verbose_name="ANGEHEFTET", default=False)
|
||||
|
||||
# post is hidden from newsfeed (e.g. about)
|
||||
is_hidden = models.BooleanField(default=False)
|
||||
is_hidden = models.BooleanField(verbose_name="UNSICHTBAR", default=False)
|
||||
|
||||
# Zusatz Info wenn ein Event gepostet wird
|
||||
event_start = models.DateTimeField('Event Start', null=True, blank=True)
|
||||
@@ -138,7 +138,10 @@ class Post(models.Model):
|
||||
return reverse('posts.show', kwargs={"id": self.slug})
|
||||
|
||||
def save(self, *args, **kwargs):
|
||||
"save the post with some defaults"
|
||||
# save the post with some defaults
|
||||
if not self.public_date:
|
||||
self.public_date = timezone.now()
|
||||
|
||||
if (self.id is None) and (not self.slug):
|
||||
self.slug = slugify(self.public_date.date()) + "-" + slugify(self.title)
|
||||
|
||||
@@ -252,9 +255,6 @@ class FetMeeting(Event):
|
||||
# TODO
|
||||
# self.image
|
||||
|
||||
self.has_protocol = True
|
||||
self.has_agenda = True
|
||||
|
||||
# TODO
|
||||
# self.protocol_key
|
||||
# self.agenda_key
|
||||
|
||||
Reference in New Issue
Block a user