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='
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.
')), + ('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='' + '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.
' + ) + + +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 @@ + +