Add ungleichproduct and ungleichproductitem plugins

This commit is contained in:
PCoder 2017-11-22 00:19:07 +01:00
parent 16e5fb8f5c
commit 1e567ef6ad
3 changed files with 81 additions and 3 deletions

View file

@ -4,7 +4,7 @@ from cms.plugin_pool import plugin_pool
from .models import ( from .models import (
UngelichContactUsSection, UngelichTextSection, Service, ServiceItem, UngelichContactUsSection, UngelichTextSection, Service, ServiceItem,
About, AboutItem, SectionWithImage, UngleichServiceItem, UngleichHeader, About, AboutItem, SectionWithImage, UngleichServiceItem, UngleichHeader,
UngleichHeaderItem UngleichHeaderItem, UngleichProductItem, UngleichProduct
) )
@ -208,4 +208,36 @@ class UngleichHeaderItemPlugin(CMSPluginBase):
context, instance, placeholder context, instance, placeholder
) )
context['instance'] = instance context['instance'] = instance
return context return context
@plugin_pool.register_plugin
class UngleichProductsPlugin(CMSPluginBase):
name = "ungleich Products Plugin"
model = UngleichProduct
render_template = "ungleich_page/ungleich/section_products.html"
cache = False
allow_children = True
child_classes = ['UngleichProductsItemPlugin']
def render(self, context, instance, placeholder):
context['product_instance'] = instance
context['section_id'] = get_section_id(instance, 'products')
return context
@plugin_pool.register_plugin
class UngleichProductsItemPlugin(CMSPluginBase):
name = "ungleich Product Item Plugin"
model = UngleichProductItem
render_template = "ungleich_page/ungleich/_products_item.html"
cache = False
require_parent = True
parent_classes = ['UngleichProductsPlugin']
def render(self, context, instance, placeholder):
context = super(UngleichProductsItemPlugin, self).render(
context, instance, placeholder
)
context['instance'] = instance
return context

View file

@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.4 on 2017-11-21 19:04
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('ungleich_page', '0010_auto_20171119_1404'),
]
operations = [
migrations.CreateModel(
name='UngleichProduct',
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)),
],
options={
'abstract': False,
},
bases=('ungleich_page.service',),
),
migrations.CreateModel(
name='UngleichProductItem',
fields=[
('serviceitem_ptr', models.OneToOneField(auto_created=True, on_delete=django.db.models.deletion.CASCADE, parent_link=True, primary_key=True, serialize=False, to='ungleich_page.ServiceItem')),
('url', models.URLField(blank=True, default='', max_length=300)),
],
options={
'abstract': False,
},
bases=('ungleich_page.serviceitem',),
),
]

View file

@ -115,4 +115,12 @@ class UngleichHeaderItem(CMSPlugin):
related_name="ungleich_header_item_image", related_name="ungleich_header_item_image",
on_delete=models.SET_NULL on_delete=models.SET_NULL
) )
description = HTMLField() description = HTMLField()
class UngleichProductItem(ServiceItem):
url = models.URLField(max_length=300, default="", blank=True)
class UngleichProduct(Service):
section_class = models.CharField(max_length=100, default="", blank=True)