diff --git a/ungleich_page/cms_plugins.py b/ungleich_page/cms_plugins.py index c8dbe735..766ccb8c 100644 --- a/ungleich_page/cms_plugins.py +++ b/ungleich_page/cms_plugins.py @@ -5,7 +5,9 @@ from .models import ( UngelichContactUsSection, UngelichTextSection, Service, ServiceItem, About, AboutItem, SectionWithImage, UngleichServiceItem, UngleichHeader, UngleichHeaderItem, UngleichProductItem, UngleichProduct, UngleichCustomer, - UngleichCustomerItem, UngleichHTMLOnly, UngleichSimpleHeader + UngleichCustomerItem, UngleichHTMLOnly, UngleichSimpleHeader, + UngleichHeaderWithBackgroundImageSlider, + UngleichHeaderWithBackgroundImageSliderItem ) @@ -224,6 +226,41 @@ class UngleichHeaderItemPlugin(CMSPluginBase): return context +@plugin_pool.register_plugin +class UngleichHeaderBackgroundImageAndTextSliderPlugin(CMSPluginBase): + name = "ungleich Header with Background and Image Slider Plugin" + model = UngleichHeaderWithBackgroundImageSlider + render_template = ( + 'ungleich_page/ungleich/header_with_background_image_slider.html' + ) + cache = False + allow_children = True + child_classes = ['UngleichHeaderBackgroundImageAndTextItemPlugin'] + + def render(self, context, instance, placeholder): + context['instance'] = instance + return context + + +@plugin_pool.register_plugin +class UngleichHeaderBackgroundImageAndTextItemPlugin(CMSPluginBase): + name = "ungleich Header with Background and Image and Text Item Plugin" + model = UngleichHeaderWithBackgroundImageSliderItem + render_template = ( + 'ungleich_page/ungleich/_header_with_background_image_slider_item.html' + ) + cache = False + require_parent = True + parent_classes = ['UngleichHeaderBackgroundImageAndTextSliderPlugin'] + + def render(self, context, instance, placeholder): + context = super( + UngleichHeaderBackgroundImageAndTextItemPlugin, self + ).render(context, instance, placeholder) + context['instance'] = instance + return context + + @plugin_pool.register_plugin class UngleichProductsPlugin(CMSPluginBase): name = "ungleich Products Plugin" diff --git a/ungleich_page/migrations/0016_ungleichheaderwithbackgroundimageslider_ungleichheaderwithbackgroundimageslideritem.py b/ungleich_page/migrations/0016_ungleichheaderwithbackgroundimageslider_ungleichheaderwithbackgroundimageslideritem.py new file mode 100644 index 00000000..acbff47b --- /dev/null +++ b/ungleich_page/migrations/0016_ungleichheaderwithbackgroundimageslider_ungleichheaderwithbackgroundimageslideritem.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.4 on 2017-12-02 07:30 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion +import djangocms_text_ckeditor.fields +import filer.fields.image + + +class Migration(migrations.Migration): + + dependencies = [ + ('filer', '0004_auto_20160328_1434'), + ('cms', '0014_auto_20160404_1908'), + ('ungleich_page', '0015_ungleichsimpleheader'), + ] + + operations = [ + migrations.CreateModel( + name='UngleichHeaderWithBackgroundImageSlider', + fields=[ + ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='cms.CMSPlugin')), + ('carousel_data_interval', models.IntegerField(default=2000)), + ], + options={ + 'abstract': False, + }, + bases=('cms.cmsplugin',), + ), + migrations.CreateModel( + name='UngleichHeaderWithBackgroundImageSliderItem', + fields=[ + ('cmsplugin_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='cms.CMSPlugin')), + ('description', djangocms_text_ckeditor.fields.HTMLField(default='
We Design, Configure & Maintain
Your Linux Infrastructure

Ruby on Rails, Django, Java, Webserver, Mailserver, any infrastructure that needs to configured, we provide comprehensive solutions. Amazon, rackspace or bare metal servers, we configure for you.

Learn More

')), + ('background_image', filer.fields.image.FilerImageField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='ungleich_header_slider_item_image', to='filer.Image')), + ], + options={ + 'abstract': False, + }, + bases=('cms.cmsplugin',), + ), + ] diff --git a/ungleich_page/models.py b/ungleich_page/models.py index aec629ee..5c226ad4 100644 --- a/ungleich_page/models.py +++ b/ungleich_page/models.py @@ -124,6 +124,27 @@ class UngleichHeader(CMSPlugin): carousel_data_interval = models.IntegerField(default=5000) +class UngleichHeaderWithBackgroundImageSliderItem(CMSPlugin): + background_image = FilerImageField( + null=True, blank=True, + related_name="ungleich_header_slider_item_image", + on_delete=models.SET_NULL + ) + description = HTMLField( + default='
We Design, Configure & Maintain ' + '
Your Linux Infrastructure

' + 'Ruby on Rails, Django, Java, Webserver, Mailserver, any ' + 'infrastructure that needs to configured, we provide ' + 'comprehensive solutions. Amazon, rackspace or bare metal ' + 'servers, we configure for you.

Learn More

' + ) + + +class UngleichHeaderWithBackgroundImageSlider(CMSPlugin): + carousel_data_interval = models.IntegerField(default=2000) + + class UngleichHeaderItem(CMSPlugin): image = FilerImageField( null=True, diff --git a/ungleich_page/templates/ungleich_page/ungleich/_header_with_background_image_slider_item.html b/ungleich_page/templates/ungleich_page/ungleich/_header_with_background_image_slider_item.html new file mode 100644 index 00000000..063a0a7b --- /dev/null +++ b/ungleich_page/templates/ungleich_page/ungleich/_header_with_background_image_slider_item.html @@ -0,0 +1,4 @@ +
+
+ {{ instance.description }} +
\ No newline at end of file diff --git a/ungleich_page/templates/ungleich_page/ungleich/header_with_background_image_slider.html b/ungleich_page/templates/ungleich_page/ungleich/header_with_background_image_slider.html new file mode 100644 index 00000000..a3ee0d37 --- /dev/null +++ b/ungleich_page/templates/ungleich_page/ungleich/header_with_background_image_slider.html @@ -0,0 +1,31 @@ +{% load cms_tags %} +
+ +
\ No newline at end of file