You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

82 lines
2.3 KiB

# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from django import forms
from django.conf import settings
from django.db import models
from django.utils.translation import ugettext_lazy as _
from aldryn_apphooks_config.utils import setup_config
from aldryn_apphooks_config.models import AppHookConfig
from app_data import AppDataForm
from parler.models import TranslatableModel
from parler.models import TranslatedFields
from cms.models.fields import PlaceholderField
class BlogConfig(TranslatableModel, AppHookConfig):
"""Adds some translatable, per-app-instance fields."""
translations = TranslatedFields(
app_title=models.CharField(_('application title'), max_length=234),
)
category_slug = models.CharField(
_('Category slug'),
blank=True,
max_length=255,
help_text=_('Only category to display'))
# blog_PAGINATE_BY
paginate_by = models.PositiveIntegerField(
_('Paginate size'),
blank=False,
default=5,
help_text=_('When paginating list views, how many articles per page?'),
)
placeholder_base_top = PlaceholderField(
'newsblog_base_top',
related_name='blog_base_top',
)
placeholder_base_sidebar = PlaceholderField(
'newsblog_base_sidebar',
related_name='blog_base_sidebar',
)
placeholder_list_top = PlaceholderField(
'newsblog_list_top',
related_name='blog_list_top',
)
placeholder_list_footer = PlaceholderField(
'newsblog_list_footer',
related_name='blog_list_footer',
)
placeholder_detail_top = PlaceholderField(
'newsblog_detail_top',
related_name='blog_detail_top',
)
placeholder_detail_bottom = PlaceholderField(
'newsblog_detail_bottom',
related_name='blog_detail_bottom',
)
placeholder_detail_footer = PlaceholderField(
'newsblog_detail_footer',
related_name='blog_detail_footer',
)
def get_app_title(self):
return getattr(self, 'app_title', _('untitled'))
class BlogConfigForm(AppDataForm):
default_published = forms.BooleanField(
label=_(u'Post published by default'), required=False,
initial=getattr(settings, 'BLOG_DEFAULT_PUBLISHED', True))
setup_config(BlogConfigForm, BlogConfig)