add labels and helptexts
This commit is contained in:
@@ -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]
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user