2017-10-17 13:52:30 +00:00
|
|
|
from cms.models.pluginmodel import CMSPlugin
|
|
|
|
from django.db import models
|
2017-10-17 15:51:01 +00:00
|
|
|
from djangocms_text_ckeditor.fields import HTMLField
|
2017-12-19 16:55:27 +00:00
|
|
|
from filer.fields.image import FilerImageField, FilerFileField
|
2016-04-10 21:12:43 +00:00
|
|
|
|
2017-10-17 13:52:30 +00:00
|
|
|
|
|
|
|
class UngelichPicture(CMSPlugin):
|
|
|
|
image = FilerImageField(
|
|
|
|
null=True,
|
|
|
|
blank=True,
|
|
|
|
related_name="image",
|
|
|
|
on_delete=models.SET_NULL
|
|
|
|
)
|
2017-11-17 14:48:44 +00:00
|
|
|
title = HTMLField()
|
2017-10-17 14:25:01 +00:00
|
|
|
|
|
|
|
|
2017-10-18 22:28:34 +00:00
|
|
|
class SectionWithImage(UngelichPicture):
|
2017-10-19 11:40:48 +00:00
|
|
|
menu_text = models.CharField(max_length=100, default="", blank=True)
|
2017-10-18 22:28:34 +00:00
|
|
|
price_tag_image = FilerImageField(
|
|
|
|
null=True,
|
|
|
|
blank=True,
|
|
|
|
related_name="price_tag_image",
|
|
|
|
on_delete=models.SET_NULL
|
|
|
|
)
|
2017-10-19 11:40:48 +00:00
|
|
|
price_tag_url = models.URLField(max_length=300, default="", blank=True)
|
2017-10-18 22:28:34 +00:00
|
|
|
|
|
|
|
|
2017-10-17 14:25:01 +00:00
|
|
|
class UngelichContactUsSection(CMSPlugin):
|
2017-10-19 11:40:48 +00:00
|
|
|
menu_text = models.CharField(max_length=100, default="", blank=True)
|
2017-10-19 15:23:19 +00:00
|
|
|
email = models.EmailField(max_length=200, default="info@ungleich.ch")
|
|
|
|
contact_text = models.CharField(
|
|
|
|
max_length=100, default="Contact", blank=True
|
|
|
|
)
|
|
|
|
organization_name = models.CharField(
|
|
|
|
max_length=100, default="ungleich GmbH", blank=True
|
|
|
|
)
|
|
|
|
address = models.CharField(
|
|
|
|
max_length=100, default="In der Au 7, Schwanden 8762", blank=True
|
|
|
|
)
|
|
|
|
country = models.CharField(
|
|
|
|
max_length=100, default="Switzerland", blank=True
|
|
|
|
)
|
|
|
|
contact_form_header_text = models.CharField(
|
|
|
|
max_length=100, default="Send us a message.", blank=True
|
|
|
|
)
|
2017-10-17 15:51:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
class UngelichTextSection(CMSPlugin):
|
2017-10-19 11:40:48 +00:00
|
|
|
menu_text = models.CharField(max_length=100, default="", blank=True)
|
2017-10-17 15:51:01 +00:00
|
|
|
title = models.CharField(max_length=200)
|
|
|
|
description = HTMLField()
|
2017-10-18 07:10:50 +00:00
|
|
|
|
|
|
|
|
2017-10-18 13:43:12 +00:00
|
|
|
class Service(CMSPlugin):
|
2017-10-19 11:40:48 +00:00
|
|
|
menu_text = models.CharField(max_length=100, default="", blank=True)
|
2017-10-18 13:43:12 +00:00
|
|
|
title = models.CharField(max_length=200)
|
2017-11-19 14:51:52 +00:00
|
|
|
sub_title = HTMLField()
|
2017-10-18 13:43:12 +00:00
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
return self.title
|
|
|
|
|
|
|
|
|
|
|
|
class ServiceItem(CMSPlugin):
|
2017-10-18 07:10:50 +00:00
|
|
|
image = FilerImageField(
|
|
|
|
null=True,
|
|
|
|
blank=True,
|
2017-10-18 13:43:12 +00:00
|
|
|
related_name="service_item_image",
|
2017-10-18 07:10:50 +00:00
|
|
|
on_delete=models.SET_NULL
|
2017-10-18 13:43:12 +00:00
|
|
|
)
|
|
|
|
title = models.CharField(max_length=200)
|
|
|
|
description = HTMLField()
|
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
return self.title
|
|
|
|
|
2017-10-18 14:53:32 +00:00
|
|
|
|
|
|
|
class About(Service):
|
|
|
|
pass
|
|
|
|
|
|
|
|
|
|
|
|
class AboutItem(UngelichPicture):
|
|
|
|
inverted = models.BooleanField(default=False)
|
2017-10-20 06:50:30 +00:00
|
|
|
link_url = models.URLField(max_length=300, default="", blank=True)
|
2017-10-18 14:53:32 +00:00
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
alignment = "Right" if self.inverted else "Left"
|
|
|
|
return "{alignment} - {title}".format(
|
|
|
|
alignment=alignment, title=self.title
|
|
|
|
)
|
2017-11-17 16:36:01 +00:00
|
|
|
|
|
|
|
|
|
|
|
class UngleichServiceItem(ServiceItem):
|
|
|
|
data_replaced_image = FilerImageField(
|
|
|
|
null=True,
|
|
|
|
blank=True,
|
|
|
|
related_name="service_item_data_replaced_image",
|
|
|
|
on_delete=models.SET_NULL
|
2017-11-19 12:19:40 +00:00
|
|
|
)
|
|
|
|
|
|
|
|
|
2017-11-24 19:29:26 +00:00
|
|
|
class UngleichSimpleHeader(CMSPlugin):
|
|
|
|
background_image = FilerImageField(
|
|
|
|
null=True,
|
|
|
|
blank=True,
|
|
|
|
related_name="ungleich_simple_header_background_image",
|
|
|
|
on_delete=models.SET_NULL
|
|
|
|
)
|
|
|
|
image = FilerImageField(
|
|
|
|
null=True,
|
|
|
|
blank=True,
|
|
|
|
related_name="ungleich_simple_header_image",
|
|
|
|
on_delete=models.SET_NULL
|
|
|
|
)
|
|
|
|
text = HTMLField()
|
|
|
|
|
|
|
|
|
2017-11-19 12:19:40 +00:00
|
|
|
class UngleichHeader(CMSPlugin):
|
|
|
|
background_image = FilerImageField(
|
|
|
|
null=True,
|
|
|
|
blank=True,
|
|
|
|
related_name="ungleich_header_background_image",
|
|
|
|
on_delete=models.SET_NULL
|
|
|
|
)
|
|
|
|
carousel_data_interval = models.IntegerField(default=5000)
|
|
|
|
|
|
|
|
|
|
|
|
class UngleichHeaderItem(CMSPlugin):
|
|
|
|
image = FilerImageField(
|
|
|
|
null=True,
|
|
|
|
blank=True,
|
|
|
|
related_name="ungleich_header_item_image",
|
|
|
|
on_delete=models.SET_NULL
|
|
|
|
)
|
2017-11-21 23:19:07 +00:00
|
|
|
description = HTMLField()
|
|
|
|
|
|
|
|
|
2017-12-19 16:55:27 +00:00
|
|
|
class UngleichHeaderItemWithVideo(CMSPlugin):
|
|
|
|
image = FilerImageField(
|
|
|
|
null=True,
|
|
|
|
blank=True,
|
|
|
|
related_name="ungleich_header_item_poster",
|
|
|
|
on_delete=models.SET_NULL,
|
|
|
|
help_text='The background image or poster image for video.'
|
|
|
|
)
|
|
|
|
video = FilerFileField(
|
|
|
|
null=True,
|
|
|
|
blank=True,
|
|
|
|
related_name="ungleich_header_item_video",
|
|
|
|
on_delete=models.SET_NULL,
|
|
|
|
help_text='Leavig this blank will make the image as the background.'
|
|
|
|
)
|
|
|
|
heading = models.CharField(
|
|
|
|
blank=True, null=True, max_length=100,
|
|
|
|
help_text='An optional title for this slide.',
|
|
|
|
)
|
|
|
|
description = models.TextField(
|
|
|
|
blank=True, null=True,
|
|
|
|
help_text='An optional description for this slide.'
|
|
|
|
)
|
|
|
|
btn_link = models.URLField(
|
|
|
|
blank=True, null=True,
|
|
|
|
help_text='If this field is left empty, no button would be displayed.'
|
|
|
|
)
|
|
|
|
btn_text = models.CharField(
|
|
|
|
blank=True, null=True, max_length=50,
|
|
|
|
help_text='Text for the button, if a link is provided.'
|
|
|
|
)
|
|
|
|
|
|
|
|
|
2017-11-21 23:19:07 +00:00
|
|
|
class UngleichProductItem(ServiceItem):
|
|
|
|
url = models.URLField(max_length=300, default="", blank=True)
|
|
|
|
|
|
|
|
|
|
|
|
class UngleichProduct(Service):
|
2017-11-23 08:45:38 +00:00
|
|
|
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()
|
2017-11-23 12:02:08 +00:00
|
|
|
|
|
|
|
|
|
|
|
class UngleichHTMLOnly(CMSPlugin):
|
2017-11-24 07:01:36 +00:00
|
|
|
name = models.CharField(max_length=50, default="", blank=True)
|
2017-11-23 12:02:08 +00:00
|
|
|
HTML = HTMLField()
|
2017-11-24 07:24:07 +00:00
|
|
|
|
|
|
|
def __str__(self):
|
|
|
|
return self.name
|