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…
	
	Add table
		Add a link
		
	
		Reference in a new issue