| 
									
										
										
										
											2017-10-17 15:52:30 +02:00
										 |  |  | from cms.models.pluginmodel import CMSPlugin | 
					
						
							|  |  |  | from django.db import models | 
					
						
							| 
									
										
										
										
											2017-10-17 17:51:01 +02:00
										 |  |  | from djangocms_text_ckeditor.fields import HTMLField | 
					
						
							| 
									
										
										
										
											2017-12-19 22:25:27 +05:30
										 |  |  | from filer.fields.image import FilerImageField, FilerFileField | 
					
						
							| 
									
										
										
										
											2016-04-10 16:12:43 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-17 15:52:30 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | class UngelichPicture(CMSPlugin): | 
					
						
							|  |  |  |     image = FilerImageField( | 
					
						
							|  |  |  |         null=True, | 
					
						
							|  |  |  |         blank=True, | 
					
						
							|  |  |  |         related_name="image", | 
					
						
							|  |  |  |         on_delete=models.SET_NULL | 
					
						
							|  |  |  |     ) | 
					
						
							| 
									
										
										
										
											2017-11-17 15:48:44 +01:00
										 |  |  |     title = HTMLField() | 
					
						
							| 
									
										
										
										
											2017-10-17 16:25:01 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-19 00:28:34 +02:00
										 |  |  | class SectionWithImage(UngelichPicture): | 
					
						
							| 
									
										
										
										
											2017-10-19 13:40:48 +02:00
										 |  |  |     menu_text = models.CharField(max_length=100, default="", blank=True) | 
					
						
							| 
									
										
										
										
											2017-10-19 00:28:34 +02:00
										 |  |  |     price_tag_image = FilerImageField( | 
					
						
							|  |  |  |         null=True, | 
					
						
							|  |  |  |         blank=True, | 
					
						
							|  |  |  |         related_name="price_tag_image", | 
					
						
							|  |  |  |         on_delete=models.SET_NULL | 
					
						
							|  |  |  |     ) | 
					
						
							| 
									
										
										
										
											2017-10-19 13:40:48 +02:00
										 |  |  |     price_tag_url = models.URLField(max_length=300, default="", blank=True) | 
					
						
							| 
									
										
										
										
											2017-10-19 00:28:34 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-17 16:25:01 +02:00
										 |  |  | class UngelichContactUsSection(CMSPlugin): | 
					
						
							| 
									
										
										
										
											2017-10-19 13:40:48 +02:00
										 |  |  |     menu_text = models.CharField(max_length=100, default="", blank=True) | 
					
						
							| 
									
										
										
										
											2017-10-19 17:23:19 +02: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 17:51:01 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class UngelichTextSection(CMSPlugin): | 
					
						
							| 
									
										
										
										
											2017-10-19 13:40:48 +02:00
										 |  |  |     menu_text = models.CharField(max_length=100, default="", blank=True) | 
					
						
							| 
									
										
										
										
											2017-10-17 17:51:01 +02:00
										 |  |  |     title = models.CharField(max_length=200) | 
					
						
							|  |  |  |     description = HTMLField() | 
					
						
							| 
									
										
										
										
											2017-10-18 09:10:50 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-18 15:43:12 +02:00
										 |  |  | class Service(CMSPlugin): | 
					
						
							| 
									
										
										
										
											2017-10-19 13:40:48 +02:00
										 |  |  |     menu_text = models.CharField(max_length=100, default="", blank=True) | 
					
						
							| 
									
										
										
										
											2017-10-18 15:43:12 +02:00
										 |  |  |     title = models.CharField(max_length=200) | 
					
						
							| 
									
										
										
										
											2017-11-19 15:51:52 +01:00
										 |  |  |     sub_title = HTMLField() | 
					
						
							| 
									
										
										
										
											2017-10-18 15:43:12 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def __str__(self): | 
					
						
							|  |  |  |         return self.title | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class ServiceItem(CMSPlugin): | 
					
						
							| 
									
										
										
										
											2017-10-18 09:10:50 +02:00
										 |  |  |     image = FilerImageField( | 
					
						
							|  |  |  |         null=True, | 
					
						
							|  |  |  |         blank=True, | 
					
						
							| 
									
										
										
										
											2017-10-18 15:43:12 +02:00
										 |  |  |         related_name="service_item_image", | 
					
						
							| 
									
										
										
										
											2017-10-18 09:10:50 +02:00
										 |  |  |         on_delete=models.SET_NULL | 
					
						
							| 
									
										
										
										
											2017-10-18 15:43:12 +02:00
										 |  |  |     ) | 
					
						
							|  |  |  |     title = models.CharField(max_length=200) | 
					
						
							|  |  |  |     description = HTMLField() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     def __str__(self): | 
					
						
							|  |  |  |         return self.title | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-10-18 16:53:32 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | class About(Service): | 
					
						
							|  |  |  |     pass | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class AboutItem(UngelichPicture): | 
					
						
							|  |  |  |     inverted = models.BooleanField(default=False) | 
					
						
							| 
									
										
										
										
											2017-10-20 08:50:30 +02:00
										 |  |  |     link_url = models.URLField(max_length=300, default="", blank=True) | 
					
						
							| 
									
										
										
										
											2017-10-18 16:53:32 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def __str__(self): | 
					
						
							|  |  |  |         alignment = "Right" if self.inverted else "Left" | 
					
						
							|  |  |  |         return "{alignment} - {title}".format( | 
					
						
							|  |  |  |             alignment=alignment, title=self.title | 
					
						
							|  |  |  |         ) | 
					
						
							| 
									
										
										
										
											2017-11-17 17:36:01 +01: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 13:19:40 +01:00
										 |  |  |     ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-02 08:45:31 +01:00
										 |  |  | class UngleichHeaderWithBackgroundImageSlider(CMSPlugin): | 
					
						
							|  |  |  |     carousel_data_interval = models.IntegerField(default=2000) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-12-20 02:53:26 +05:30
										 |  |  | class UngleichHeaderWithBackgroundVideoSliderItem(CMSPlugin): | 
					
						
							| 
									
										
										
										
											2017-12-19 22:25:27 +05:30
										 |  |  |     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-22 00:59:53 +05:30
										 |  |  |         help_text='Leaving this blank will make the image as the background.' | 
					
						
							| 
									
										
										
										
											2017-12-19 22:25:27 +05:30
										 |  |  |     ) | 
					
						
							|  |  |  |     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.' | 
					
						
							|  |  |  |     ) | 
					
						
							| 
									
										
										
										
											2018-03-20 02:34:20 +05:30
										 |  |  |     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 22:25:27 +05:30
										 |  |  |     ) | 
					
						
							|  |  |  |     btn_text = models.CharField( | 
					
						
							|  |  |  |         blank=True, null=True, max_length=50, | 
					
						
							|  |  |  |         help_text='Text for the button, if a link is provided.' | 
					
						
							|  |  |  |     ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2017-11-22 00:19:07 +01:00
										 |  |  | class UngleichProductItem(ServiceItem): | 
					
						
							|  |  |  |     url = models.URLField(max_length=300, default="", blank=True) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class UngleichProduct(Service): | 
					
						
							| 
									
										
										
										
											2017-11-23 09:45:38 +01: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 13:02:08 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class UngleichHTMLOnly(CMSPlugin): | 
					
						
							| 
									
										
										
										
											2017-11-24 08:01:36 +01:00
										 |  |  |     name = models.CharField(max_length=50, default="", blank=True) | 
					
						
							| 
									
										
										
										
											2017-11-23 13:02:08 +01:00
										 |  |  |     HTML = HTMLField() | 
					
						
							| 
									
										
										
										
											2017-11-24 08:24:07 +01:00
										 |  |  | 
 | 
					
						
							|  |  |  |     def __str__(self): | 
					
						
							|  |  |  |         return self.name | 
					
						
							| 
									
										
										
										
											2018-02-07 01:06:03 +05:30
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class UngleichFooter(CMSPlugin): | 
					
						
							| 
									
										
										
										
											2018-02-08 21:26:28 +05:30
										 |  |  |     copyright_label = models.CharField( | 
					
						
							| 
									
										
										
										
											2018-02-07 18:21:16 +05:30
										 |  |  |         max_length=100, default='', blank=True, | 
					
						
							|  |  |  |         help_text='Name of the company alongside the copyright year' | 
					
						
							|  |  |  |     ) | 
					
						
							| 
									
										
										
										
											2018-02-07 18:37:48 +05:30
										 |  |  |     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-07 01:06:03 +05:30
										 |  |  |     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 21:26:28 +05:30
										 |  |  |     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' | 
					
						
							|  |  |  |     ) |