dynamicweb/ungleich_page/models.py

210 lines
6.1 KiB
Python
Raw Normal View History

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
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
)
title = HTMLField()
2017-10-17 14:25:01 +00:00
class SectionWithImage(UngelichPicture):
menu_text = models.CharField(max_length=100, default="", blank=True)
price_tag_image = FilerImageField(
null=True,
blank=True,
related_name="price_tag_image",
on_delete=models.SET_NULL
)
price_tag_url = models.URLField(max_length=300, default="", blank=True)
2017-10-17 14:25:01 +00:00
class UngelichContactUsSection(CMSPlugin):
menu_text = models.CharField(max_length=100, default="", blank=True)
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):
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()
class Service(CMSPlugin):
menu_text = models.CharField(max_length=100, default="", blank=True)
title = models.CharField(max_length=200)
2017-11-19 14:51:52 +00:00
sub_title = HTMLField()
def __str__(self):
return self.title
class ServiceItem(CMSPlugin):
image = FilerImageField(
null=True,
blank=True,
related_name="service_item_image",
on_delete=models.SET_NULL
)
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
)
class UngleichHeaderWithBackgroundImageSlider(CMSPlugin):
carousel_data_interval = models.IntegerField(default=2000)
2017-12-19 21:23:26 +00:00
class UngleichHeaderWithBackgroundVideoSliderItem(CMSPlugin):
2017-12-19 16:55:27 +00:00
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,
2017-12-21 19:29:53 +00:00
help_text='Leaving this blank will make the image as the background.'
2017-12-19 16:55:27 +00:00
)
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.CharField(
max_length=100, blank=True, null=True,
help_text=(
'Url or #id to navigate on click. If this field is left empty, no '
'button would be displayed.'
)
2017-12-19 16:55:27 +00:00
)
btn_text = models.CharField(
blank=True, null=True, max_length=50,
help_text='Text for the button, if a link is provided.'
)
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)
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()
def __str__(self):
return self.name
2018-02-06 19:36:03 +00:00
class UngleichFooter(CMSPlugin):
2018-02-08 15:56:28 +00:00
copyright_label = models.CharField(
2018-02-07 12:51:16 +00:00
max_length=100, default='', blank=True,
help_text='Name of the company alongside the copyright year'
)
link_text = models.CharField(
max_length=100, blank=True, null=True,
help_text='Text for the link on the right part of footer'
)
2018-02-06 19:36:03 +00:00
link_url = models.URLField(
blank=True, null=True,
help_text='Url to the link in footer'
)
twitter_url = models.URLField(
blank=True, null=True,
help_text='If empty, twitter btn will not be visible'
)
linkedin_url = models.URLField(
blank=True, null=True,
help_text='If empty, linkedin btn will not be visible'
)
github_url = models.URLField(
blank=True, null=True,
help_text='If empty, github btn will not be visible'
)
2018-02-08 15:56:28 +00:00
facebook_url = models.URLField(
blank=True, null=True,
help_text='If empty, facebook btn will not be visible'
)
youtube_url = models.URLField(
blank=True, null=True,
help_text='If empty, youtube btn will not be visible'
)