Add ungleich customer section, templates and migration
This commit is contained in:
		
					parent
					
						
							
								609a49cdbb
							
						
					
				
			
			
				commit
				
					
						85289c2eed
					
				
			
		
					 5 changed files with 138 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -4,7 +4,8 @@ from cms.plugin_pool import plugin_pool
 | 
			
		|||
from .models import (
 | 
			
		||||
    UngelichContactUsSection, UngelichTextSection, Service, ServiceItem,
 | 
			
		||||
    About, AboutItem, SectionWithImage, UngleichServiceItem, UngleichHeader,
 | 
			
		||||
    UngleichHeaderItem, UngleichProductItem, UngleichProduct
 | 
			
		||||
    UngleichHeaderItem, UngleichProductItem, UngleichProduct, UngleichCustomer,
 | 
			
		||||
    UngleichCustomerItem
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -241,3 +242,35 @@ class UngleichProductsItemPlugin(CMSPluginBase):
 | 
			
		|||
        )
 | 
			
		||||
        context['instance'] = instance
 | 
			
		||||
        return context
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@plugin_pool.register_plugin
 | 
			
		||||
class UngleichCustomerSectionPlugin(CMSPluginBase):
 | 
			
		||||
    name = "ungleich Customer Section Plugin"
 | 
			
		||||
    model = UngleichCustomer
 | 
			
		||||
    render_template = "ungleich_page/ungleich/section_customers.html"
 | 
			
		||||
    cache = False
 | 
			
		||||
    allow_children = True
 | 
			
		||||
    child_classes = ['UngleichCustomerItemPlugin']
 | 
			
		||||
 | 
			
		||||
    def render(self, context, instance, placeholder):
 | 
			
		||||
        context['customer_instance'] = instance
 | 
			
		||||
        context['section_id'] = get_section_id(instance, 'customer')
 | 
			
		||||
        return context
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@plugin_pool.register_plugin
 | 
			
		||||
class UngleichCustomerItemPlugin(CMSPluginBase):
 | 
			
		||||
    name = "ungleich Customer Item Plugin"
 | 
			
		||||
    model = UngleichCustomerItem
 | 
			
		||||
    render_template = "ungleich_page/ungleich/_customer_item.html"
 | 
			
		||||
    cache = False
 | 
			
		||||
    require_parent = True
 | 
			
		||||
    parent_classes = ['UngleichCustomerSectionPlugin']
 | 
			
		||||
 | 
			
		||||
    def render(self, context, instance, placeholder):
 | 
			
		||||
        context = super(UngleichCustomerItemPlugin, self).render(
 | 
			
		||||
            context, instance, placeholder
 | 
			
		||||
        )
 | 
			
		||||
        context['instance'] = instance
 | 
			
		||||
        return context
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,46 @@
 | 
			
		|||
# -*- coding: utf-8 -*-
 | 
			
		||||
# Generated by Django 1.9.4 on 2017-11-23 08:11
 | 
			
		||||
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', '0005_auto_20171015_0703'),
 | 
			
		||||
        ('cms', '0014_auto_20160404_1908'),
 | 
			
		||||
        ('ungleich_page', '0011_ungleichproduct_ungleichproductitem'),
 | 
			
		||||
    ]
 | 
			
		||||
 | 
			
		||||
    operations = [
 | 
			
		||||
        migrations.CreateModel(
 | 
			
		||||
            name='UngleichCustomer',
 | 
			
		||||
            fields=[
 | 
			
		||||
                ('service_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='ungleich_page.Service')),
 | 
			
		||||
                ('section_class', models.CharField(blank=True, default='', max_length=100)),
 | 
			
		||||
                ('carousel_data_interval', models.IntegerField(default=3000)),
 | 
			
		||||
                ('bottom_text', djangocms_text_ckeditor.fields.HTMLField(default='<h3 class="section-subheading text-muted">*ungleich means not equal to (≠) U+2260.</h3>')),
 | 
			
		||||
            ],
 | 
			
		||||
            options={
 | 
			
		||||
                'abstract': False,
 | 
			
		||||
            },
 | 
			
		||||
            bases=('ungleich_page.service',),
 | 
			
		||||
        ),
 | 
			
		||||
        migrations.CreateModel(
 | 
			
		||||
            name='UngleichCustomerItem',
 | 
			
		||||
            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')),
 | 
			
		||||
                ('url', models.URLField(blank=True, default='', max_length=300)),
 | 
			
		||||
                ('description', djangocms_text_ckeditor.fields.HTMLField()),
 | 
			
		||||
                ('image', filer.fields.image.FilerImageField(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='customer_item_image', to='filer.Image')),
 | 
			
		||||
            ],
 | 
			
		||||
            options={
 | 
			
		||||
                'abstract': False,
 | 
			
		||||
            },
 | 
			
		||||
            bases=('cms.cmsplugin',),
 | 
			
		||||
        ),
 | 
			
		||||
    ]
 | 
			
		||||
| 
						 | 
				
			
			@ -124,3 +124,23 @@ class UngleichProductItem(ServiceItem):
 | 
			
		|||
 | 
			
		||||
class UngleichProduct(Service):
 | 
			
		||||
    section_class = models.CharField(max_length=100, default="", blank=True)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class UngleichCustomer(Service):
 | 
			
		||||
    section_class = models.CharField(max_length=100, default="", blank=True)
 | 
			
		||||
    carousel_data_interval = models.IntegerField(default=3000)
 | 
			
		||||
    bottom_text = HTMLField(
 | 
			
		||||
        default='<h3 class="section-subheading text-muted">*ungleich means '
 | 
			
		||||
                'not equal to (≠) U+2260.</h3>'
 | 
			
		||||
    )
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
class UngleichCustomerItem(CMSPlugin):
 | 
			
		||||
    image = FilerImageField(
 | 
			
		||||
        null=True,
 | 
			
		||||
        blank=True,
 | 
			
		||||
        related_name="customer_item_image",
 | 
			
		||||
        on_delete=models.SET_NULL
 | 
			
		||||
    )
 | 
			
		||||
    url = models.URLField(max_length=300, default="", blank=True)
 | 
			
		||||
    description = HTMLField()
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,2 @@
 | 
			
		|||
<a href="{{ instance.url }}"><img class="center-block img-client img-responsive" src="{{ instance.image.url}}"></a>
 | 
			
		||||
<p class="carousel-text text-muted text-center">{{ instance.description }}</p>
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,35 @@
 | 
			
		|||
{% load cms_tags custom_tags %}
 | 
			
		||||
<section id="{{section_id}}" class="{% if customer_instance.section_class %}{{ customer_instance.section_class }}{% else %}bg-light-gray{% endif %}">
 | 
			
		||||
	<div class="container">
 | 
			
		||||
	  <div class="text-center wow fadeInDown" style="visibility: visible; animation-name: fadeInDown;">
 | 
			
		||||
	    <h2 class="section-heading">{{ customer_instance.title }}</h2>
 | 
			
		||||
	    <h3 class="text-muted">{{ customer_instance.sub_title }}</h3>
 | 
			
		||||
	  </div>
 | 
			
		||||
		<div class="row">
 | 
			
		||||
		  <div class="col-sm-10 col-sm-offset-1 wow fadeInDown" style="visibility: visible; animation-name: fadeInDown;">
 | 
			
		||||
		    <!-- start:recommendationSlider -->
 | 
			
		||||
		    <div id="carousel-recommendation-ungleich" class="carousel slide ungleich ungleich-gallery ungleich-gallery-text-carousel" data-ride="carousel" data-interval="{{ customer_instance.carousel_data_interval}}">
 | 
			
		||||
		      <!-- Indicators -->
 | 
			
		||||
              <ol class="carousel-indicators">
 | 
			
		||||
                {% for plugin in customer_instance.child_plugin_instances %}
 | 
			
		||||
                    <li data-target="#carousel-recommendation-ungleich" data-slide-to="{{forloop.counter0}}" {% if forloop.counter0 == 0 %}class="active" {% endif %}></li>
 | 
			
		||||
                {% endfor %}
 | 
			
		||||
		      </ol>
 | 
			
		||||
 | 
			
		||||
		      <!-- Wrapper for slides -->
 | 
			
		||||
		      <div class="carousel-inner" role="listbox">
 | 
			
		||||
                {% for plugin in customer_instance.child_plugin_instances %}
 | 
			
		||||
                <div class="item {% if forloop.counter0 == 0 %}active{% endif %}">
 | 
			
		||||
                    {% render_plugin plugin %}
 | 
			
		||||
                </div>
 | 
			
		||||
                {% endfor %}
 | 
			
		||||
		      </div>
 | 
			
		||||
		    </div>
 | 
			
		||||
		    <!-- end:recommendationSlider -->
 | 
			
		||||
		  </div>
 | 
			
		||||
		</div>
 | 
			
		||||
	</div>
 | 
			
		||||
	<div class="text-center">
 | 
			
		||||
		{{customer_instance.bottom_text}}
 | 
			
		||||
	</div>
 | 
			
		||||
</section>
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue