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:
rascencio 2015-05-23 00:33:35 -06:00
parent 6c312a6e2e
commit 76bfb3c47b
10 changed files with 152 additions and 11 deletions

View file

@ -7,7 +7,7 @@ Copyright 2015 Ungleich.
import os
import logging
import django.db.backends.postgresql_psycopg2
from django.utils.translation import ugettext_lazy as _
gettext = lambda s: s
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
@ -81,6 +81,8 @@ INSTALLED_APPS = (
'djangocms_blog',
'bootstrap3',
'compressor',
# ungleich
'ungleich',
)
MIDDLEWARE_CLASSES = (
@ -159,12 +161,6 @@ DATABASES = {
# Internationalization
# https://docs.djangoproject.com/en/1.7/topics/i18n/
LANGUAGES = (
('en', 'English'),
)
LANGUAGE_CODE = 'en'
TIME_ZONE = 'UTC'
USE_I18N = True
@ -173,6 +169,62 @@ USE_L10N = 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:
from dynamicweb.local.local_settings import *
except ImportError:

View file

@ -1,14 +1,21 @@
from django.conf.urls import include, url
from django.conf.urls import patterns, include, url
from django.contrib import admin
# deprecated in version 1.8
from django.conf.urls.i18n import i18n_patterns
from django.conf.urls.static import static
from dynamicweb import settings
urlpatterns = i18n_patterns('',
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^digital.glarus/', include('digital_glarus.urls',
namespace="digital_glarus")),
url(r'^', include('cms.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
View file

12
ungleich/admin.py Normal file
View 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
View 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)

View 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,),
),
]

View file

12
ungleich/models.py Normal file
View 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
View file

@ -0,0 +1,3 @@
from django.test import TestCase
# Create your tests here.

3
ungleich/views.py Normal file
View file

@ -0,0 +1,3 @@
from django.shortcuts import render
# Create your views here.