add labels and helptexts

This commit is contained in:
2020-09-06 11:30:49 +00:00
parent a8af49264e
commit e490980d3e
3 changed files with 59 additions and 10 deletions

View File

@@ -23,7 +23,7 @@ class MyPostAdmin(admin.ModelAdmin):
form = MyPostForm form = MyPostForm
model = Post model = Post
list_filter = ['is_pinned', 'is_hidden'] 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'] ordering = ['is_hidden', '-public_date']
def add_view(self, request, form_url='', extra_context=None): def add_view(self, request, form_url='', extra_context=None):
@@ -60,7 +60,8 @@ class MyPostAdmin(admin.ModelAdmin):
class MyEventAdmin(MyPostAdmin): class MyEventAdmin(MyPostAdmin):
form = MyEventForm form = MyEventForm
model = Event 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'] ordering = ['-event_start']
actions = [make_fetmeeting] actions = [make_fetmeeting]

View File

@@ -1,5 +1,7 @@
from ckeditor_uploader.widgets import CKEditorUploadingWidget
from django import forms 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 from .models import Post, Event, News, FetMeeting
@@ -25,6 +27,23 @@ class MyNewsForm(MyPostForm):
'title', 'subtitle', 'tags', 'image', 'body', 'slug', 'author', 'public_date', 'title', 'subtitle', 'tags', 'image', 'body', 'slug', 'author', 'public_date',
'is_pinned', 'is_hidden', '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')} widgets = {'body': CKEditorUploadingWidget(config_name='default')}
@@ -39,6 +58,22 @@ class MyEventForm(MyPostForm):
'title', 'subtitle', 'tags', 'image', 'body', 'event_start', 'event_end', 'title', 'subtitle', 'tags', 'image', 'body', 'event_start', 'event_end',
'event_place', 'slug', 'author', 'public_date', 'is_pinned', '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')} widgets = {'body': CKEditorUploadingWidget(config_name='default')}
@@ -55,10 +90,23 @@ class MyEventForm(MyPostForm):
class MyFetMeetingForm(MyEventForm): class MyFetMeetingForm(MyEventForm):
class Meta: class Meta:
model = FetMeeting 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): def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs) # to get the self.fields set super().__init__(*args, **kwargs) # to get the self.fields set
self.fields['event_start'].required = True self.fields['event_start'].required = True
self.fields['event_end'].required = False self.fields['event_end'].required = False
self.fields['has_agenda'].initial = True
self.fields['has_protocol'].initial = True

View File

@@ -71,10 +71,10 @@ class Post(models.Model):
post_type = models.CharField(max_length=1, choices=__choices, editable=False) post_type = models.CharField(max_length=1, choices=__choices, editable=False)
# post is pinned at main page # 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) # 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 # Zusatz Info wenn ein Event gepostet wird
event_start = models.DateTimeField('Event Start', null=True, blank=True) 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}) return reverse('posts.show', kwargs={"id": self.slug})
def save(self, *args, **kwargs): 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): if (self.id is None) and (not self.slug):
self.slug = slugify(self.public_date.date()) + "-" + slugify(self.title) self.slug = slugify(self.public_date.date()) + "-" + slugify(self.title)
@@ -252,9 +255,6 @@ class FetMeeting(Event):
# TODO # TODO
# self.image # self.image
self.has_protocol = True
self.has_agenda = True
# TODO # TODO
# self.protocol_key # self.protocol_key
# self.agenda_key # self.agenda_key