Added ungleich app to extend Page models.
Ungleich app has a model called UngleichPage, this model has an attribute called image_header which will be used to set the background image for the page header. Signed-off-by: rscnt <rascnt@gmail.com>
This commit is contained in:
parent
6c312a6e2e
commit
76bfb3c47b
10 changed files with 152 additions and 11 deletions
|
@ -7,7 +7,7 @@ Copyright 2015 Ungleich.
|
||||||
import os
|
import os
|
||||||
import logging
|
import logging
|
||||||
import django.db.backends.postgresql_psycopg2
|
import django.db.backends.postgresql_psycopg2
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
gettext = lambda s: s
|
gettext = lambda s: s
|
||||||
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||||
|
@ -81,6 +81,8 @@ INSTALLED_APPS = (
|
||||||
'djangocms_blog',
|
'djangocms_blog',
|
||||||
'bootstrap3',
|
'bootstrap3',
|
||||||
'compressor',
|
'compressor',
|
||||||
|
# ungleich
|
||||||
|
'ungleich',
|
||||||
)
|
)
|
||||||
|
|
||||||
MIDDLEWARE_CLASSES = (
|
MIDDLEWARE_CLASSES = (
|
||||||
|
@ -159,12 +161,6 @@ DATABASES = {
|
||||||
# Internationalization
|
# Internationalization
|
||||||
# https://docs.djangoproject.com/en/1.7/topics/i18n/
|
# https://docs.djangoproject.com/en/1.7/topics/i18n/
|
||||||
|
|
||||||
LANGUAGES = (
|
|
||||||
('en', 'English'),
|
|
||||||
)
|
|
||||||
|
|
||||||
LANGUAGE_CODE = 'en'
|
|
||||||
|
|
||||||
TIME_ZONE = 'UTC'
|
TIME_ZONE = 'UTC'
|
||||||
|
|
||||||
USE_I18N = True
|
USE_I18N = True
|
||||||
|
@ -173,6 +169,62 @@ USE_L10N = True
|
||||||
|
|
||||||
USE_TZ = True
|
USE_TZ = True
|
||||||
|
|
||||||
|
LANGUAGES = (
|
||||||
|
('en-us', _('US English')),
|
||||||
|
)
|
||||||
|
|
||||||
|
LANGUAGE_CODE = 'en-us'
|
||||||
|
|
||||||
|
CMS_PLACEHOLDER_CONF = {
|
||||||
|
'logo_image': {
|
||||||
|
'name': 'Logo Image',
|
||||||
|
'plugins': ['FilerImagePlugin'],
|
||||||
|
'limits': {
|
||||||
|
'global': 1,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'page-title': {
|
||||||
|
'name': 'Page Title',
|
||||||
|
'plugins': ['TextPlugin'],
|
||||||
|
'default_plugins': [
|
||||||
|
{
|
||||||
|
'plugin_type': 'TextPlugin',
|
||||||
|
'values': {
|
||||||
|
'body': 'Page Title...'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
'limits': {
|
||||||
|
'global': 1,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
'page-subtitle': {
|
||||||
|
'name': 'Page Subtitle',
|
||||||
|
'inherit': 'page-title',
|
||||||
|
'default_plugins': [
|
||||||
|
{
|
||||||
|
'plugin_type': 'TextPlugin',
|
||||||
|
'values': {
|
||||||
|
'body': 'Page subtitle...'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
},
|
||||||
|
'footer_copyright': {
|
||||||
|
'name': 'Copyright',
|
||||||
|
'inherit': 'page-title',
|
||||||
|
'default_plugins': [
|
||||||
|
{
|
||||||
|
'plugin_type': 'TextPlugin',
|
||||||
|
'values': {
|
||||||
|
'body': 'Copyright...'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
from dynamicweb.local.local_settings import *
|
from dynamicweb.local.local_settings import *
|
||||||
except ImportError:
|
except ImportError:
|
||||||
|
|
|
@ -1,14 +1,21 @@
|
||||||
from django.conf.urls import include, url
|
from django.conf.urls import patterns, include, url
|
||||||
from django.contrib import admin
|
from django.contrib import admin
|
||||||
# deprecated in version 1.8
|
# deprecated in version 1.8
|
||||||
from django.conf.urls.i18n import i18n_patterns
|
from django.conf.urls.i18n import i18n_patterns
|
||||||
from django.conf.urls.static import static
|
from django.conf.urls.static import static
|
||||||
from dynamicweb import settings
|
from dynamicweb import settings
|
||||||
|
|
||||||
urlpatterns = i18n_patterns('',
|
urlpatterns = [
|
||||||
url(r'^admin/', include(admin.site.urls)),
|
url(r'^admin/', include(admin.site.urls)),
|
||||||
url(r'^digital.glarus/', include('digital_glarus.urls',
|
url(r'^digital.glarus/', include('digital_glarus.urls',
|
||||||
namespace="digital_glarus")),
|
namespace="digital_glarus")),
|
||||||
url(r'^', include('cms.urls')),
|
url(r'^', include('cms.urls')),
|
||||||
url(r'^taggit_autosuggest/', include('taggit_autosuggest.urls')),
|
url(r'^taggit_autosuggest/', include('taggit_autosuggest.urls')),
|
||||||
) + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
|
||||||
|
|
||||||
|
if settings.DEBUG:
|
||||||
|
urlpatterns += patterns('',
|
||||||
|
url(r'^media/(?P<path>.*)$', 'django.views.static.serve', {
|
||||||
|
'document_root': settings.MEDIA_ROOT,
|
||||||
|
}),
|
||||||
|
)
|
||||||
|
|
0
ungleich/__init__.py
Normal file
0
ungleich/__init__.py
Normal file
12
ungleich/admin.py
Normal file
12
ungleich/admin.py
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
from django.contrib import admin
|
||||||
|
from cms.extensions import PageExtensionAdmin
|
||||||
|
|
||||||
|
# Register your models here.
|
||||||
|
|
||||||
|
from .models import UngleichPage
|
||||||
|
|
||||||
|
|
||||||
|
class UngleichPageAdmin(PageExtensionAdmin):
|
||||||
|
pass
|
||||||
|
|
||||||
|
admin.site.register(UngleichPage, UngleichPageAdmin)
|
25
ungleich/cms_toolbar.py
Normal file
25
ungleich/cms_toolbar.py
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
from cms.extensions.toolbar import ExtensionToolbar
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
|
|
||||||
|
from cms.toolbar_pool import toolbar_pool
|
||||||
|
from cms.toolbar_base import CMSToolbar
|
||||||
|
|
||||||
|
from .models import UngleichPage
|
||||||
|
|
||||||
|
|
||||||
|
@toolbar_pool.register
|
||||||
|
class UngleichPageToolbar(ExtensionToolbar):
|
||||||
|
# defineds the model for the current toolbar
|
||||||
|
model = UngleichPage
|
||||||
|
|
||||||
|
def populate(self):
|
||||||
|
# setup the extension toolbar with permissions and sanity checks
|
||||||
|
current_page_menu = self._setup_extension_toolbar()
|
||||||
|
# if it's all ok
|
||||||
|
if current_page_menu:
|
||||||
|
# retrieves the instance of the current extension (if any) and the toolbar item url
|
||||||
|
page_extension, url = self.get_page_extension_admin()
|
||||||
|
if url:
|
||||||
|
# adds a toolbar item
|
||||||
|
current_page_menu.add_modal_item(_('Page Header'), url=url,
|
||||||
|
disabled=not self.toolbar.edit_mode)
|
27
ungleich/migrations/0001_initial.py
Normal file
27
ungleich/migrations/0001_initial.py
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import models, migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('cms', '0011_auto_20150419_1006'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='UngleichPage',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(serialize=False, primary_key=True, auto_created=True, verbose_name='ID')),
|
||||||
|
('image_header', models.ImageField(upload_to='image_header')),
|
||||||
|
('extended_object', models.OneToOneField(editable=False, to='cms.Page')),
|
||||||
|
('public_extension', models.OneToOneField(editable=False, related_name='draft_extension', null=True, to='ungleich.UngleichPage')),
|
||||||
|
],
|
||||||
|
options={
|
||||||
|
'abstract': False,
|
||||||
|
},
|
||||||
|
bases=(models.Model,),
|
||||||
|
),
|
||||||
|
]
|
0
ungleich/migrations/__init__.py
Normal file
0
ungleich/migrations/__init__.py
Normal file
12
ungleich/models.py
Normal file
12
ungleich/models.py
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
from django.db import models
|
||||||
|
|
||||||
|
from cms.extensions import PageExtension
|
||||||
|
from cms.extensions.extension_pool import extension_pool
|
||||||
|
|
||||||
|
|
||||||
|
# Create your models here.
|
||||||
|
|
||||||
|
class UngleichPage(PageExtension):
|
||||||
|
image_header = models.ImageField(upload_to='image_header')
|
||||||
|
|
||||||
|
extension_pool.register(UngleichPage)
|
3
ungleich/tests.py
Normal file
3
ungleich/tests.py
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
from django.test import TestCase
|
||||||
|
|
||||||
|
# Create your tests here.
|
3
ungleich/views.py
Normal file
3
ungleich/views.py
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
from django.shortcuts import render
|
||||||
|
|
||||||
|
# Create your views here.
|
Loading…
Reference in a new issue