from base import Setting, SettingSet
-from django.forms.widgets import Textarea
+from django.forms.widgets import Textarea, RadioSelect, Select
from django.utils.translation import ugettext_lazy as _
+RENDER_CHOICES = (
+('markdown', _('Markdown')),
+('html', _('HTML')),
+('escape', _('Escaped'))
+)
+
STATIC_PAGE_REGISTRY = Setting('STATIC_PAGE_REGISTRY', {})
-CSS_SET = SettingSet('css', 'Custom CSS', "Define some custom css you can use to override the default css.", 2000)
+CSS_SET = SettingSet('css', 'Custom CSS', "Define some custom css you can use to override the default css.", 2000,
+ can_preview=True)
USE_CUSTOM_CSS = Setting('USE_CUSTOM_CSS', False, CSS_SET, dict(
-label = _("Use custom CSS"),
-help_text = _("Do you want to use custom CSS."),
-required=False))
+ label = _("Use custom CSS"),
+ help_text = _("Do you want to use custom CSS."),
+ required=False))
CUSTOM_CSS = Setting('CUSTOM_CSS', '', CSS_SET, dict(
-label = _("Custom CSS"),
-help_text = _("Your custom CSS."),
-widget=Textarea(attrs={'rows': '25'}),
-required=False))
+ label = _("Custom CSS"),
+ help_text = _("Your custom CSS."),
+ widget=Textarea(attrs={'rows': '25'}),
+ required=False))
+
+HEAD_AND_FOOT_SET = SettingSet('headandfoot', 'Header and Footer', "Adds a custom header and/or footer to your page",
+ 2000, can_preview=True)
+
+USE_CUSTOM_HEADER = Setting('USE_CUSTOM_HEADER', False, HEAD_AND_FOOT_SET, dict(
+ label = _("Use custom header"),
+ help_text = _("Do you want to use a custom header."),
+ required=False))
+
+CUSTOM_HEADER = Setting('CUSTOM_HEADER', '', HEAD_AND_FOOT_SET, dict(
+ label = _("Custom Header"),
+ help_text = _("Your custom header."),
+ widget=Textarea(attrs={'rows': '25'}),
+ required=False))
+
+CUSTOM_HEADER_RENDER_MODE = Setting('CUSTOM_HEADER_RENDER_MODE', 'markdown', HEAD_AND_FOOT_SET, dict(
+ label = _("Custom Header rendering mode"),
+ help_text = _("How to render your custom header code."),
+ widget=Select(choices=RENDER_CHOICES),
+ required=False))
+
+USE_ANNOUNCEMENT_BAR = Setting('USE_ANNOUNCEMENT_BAR', False, HEAD_AND_FOOT_SET, dict(
+ label = _("Show announcement bar"),
+ help_text = _("Some piece of content that goes under the search bar and can be used for announcements, etc."),
+ required=False))
+
+ANNOUNCEMENT_BAR = Setting('ANNOUNCEMENT_BAR', '', HEAD_AND_FOOT_SET, dict(
+ label = _("Announcement bar"),
+ help_text = _("The announcement bar content."),
+ widget=Textarea(attrs={'rows': '25'}),
+ required=False))
+
+ANNOUNCEMENT_BAR_RENDER_MODE = Setting('ANNOUNCEMENT_BAR_RENDER_MODE', 'markdown', HEAD_AND_FOOT_SET, dict(
+ label = _("Announcement bar rendering mode"),
+ help_text = _("How to render your announcement bar code."),
+ widget=Select(choices=RENDER_CHOICES),
+ required=False))
+
+USE_CUSTOM_FOOTER = Setting('USE_CUSTOM_FOOTER', False, HEAD_AND_FOOT_SET, dict(
+ label = _("Use custom footer"),
+ help_text = _("Do you want to use a custom footer."),
+ required=False))
+
+CUSTOM_FOOTER = Setting('CUSTOM_FOOTER', '', HEAD_AND_FOOT_SET, dict(
+ label = _("Custom Footer"),
+ help_text = _("Your custom footer."),
+ widget=Textarea(attrs={'rows': '25'}),
+ required=False))
+
+CUSTOM_FOOTER_RENDER_MODE = Setting('CUSTOM_FOOTER_RENDER_MODE', 'markdown', HEAD_AND_FOOT_SET, dict(
+ label = _("Custom footer rendering mode"),
+ help_text = _("How to render your custom footer code."),
+ widget=Select(choices=RENDER_CHOICES),
+ required=False))
+
+CUSTOM_FOOTER_MODE_CHOICES = (
+('replace', _('Replace default footer')),
+('above', _('Above default footer')),
+('below', _('Below default footer')),
+)
+
+CUSTOM_FOOTER_MODE = Setting('CUSTOM_FOOTER_MODE', 'replace', HEAD_AND_FOOT_SET, dict(
+ label = _("Custom Footer Mode"),
+ help_text = _("How your custom footer will appear."),
+ widget=RadioSelect,
+ choices=CUSTOM_FOOTER_MODE_CHOICES,
+ required=False))
+
+HEAD_SET = SettingSet('head', '<head>', "Define some custom elements to include in the head section of every page.",
+ 2000, can_preview=True)
+
+USE_CUSTOM_HEAD = Setting('USE_CUSTOM_HEAD', False, HEAD_SET, dict(
+ label = _("Use custom Head elements"),
+ help_text = _("Do you want to use custom head elements."),
+ required=False))
+CUSTOM_HEAD = Setting('CUSTOM_HEAD', '', HEAD_SET, dict(
+ label = _("Custom Head"),
+ help_text = _("Your custom Head elements."),
+ widget=Textarea(attrs={'rows': '25'}),
+ required=False))
\ No newline at end of file