merge master
This commit is contained in:
		
				commit
				
					
						adee93ca12
					
				
			
		
					 12 changed files with 121 additions and 46 deletions
				
			
		|  | @ -1,3 +1,6 @@ | ||||||
|  | 1.5.5: 2018-03-22 | ||||||
|  |     * #4278: [dcl cms] edit options for cms navbar and header plugins | ||||||
|  |     * bgfix: [dcl cms] fix link plugin issues and section image alignment | ||||||
| 1.5.4: 2018-03-17 | 1.5.4: 2018-03-17 | ||||||
|     * bgfix: [dcl cms] update DCLNavbarPlugin to allow change of brand logo and url |     * bgfix: [dcl cms] update DCLNavbarPlugin to allow change of brand logo and url | ||||||
| 1.5.3: 2018-03-16 | 1.5.3: 2018-03-16 | ||||||
|  |  | ||||||
|  | @ -132,6 +132,10 @@ class DCLNavbarPluginModel(CMSPlugin): | ||||||
|         related_name="dcl_navbar_logo_dark", |         related_name="dcl_navbar_logo_dark", | ||||||
|     ) |     ) | ||||||
|     logo_url = models.URLField(max_length=300, null=True, blank=True) |     logo_url = models.URLField(max_length=300, null=True, blank=True) | ||||||
|  |     language_dropdown = models.BooleanField( | ||||||
|  |         default=True, | ||||||
|  |         help_text='Select to include the language selection dropdown.' | ||||||
|  |     ) | ||||||
| 
 | 
 | ||||||
|     def get_logo_dark(self): |     def get_logo_dark(self): | ||||||
|         # used only if atleast one logo exists |         # used only if atleast one logo exists | ||||||
|  |  | ||||||
|  | @ -0,0 +1,20 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | # Generated by Django 1.9.4 on 2018-03-19 20:46 | ||||||
|  | from __future__ import unicode_literals | ||||||
|  | 
 | ||||||
|  | from django.db import migrations, models | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Migration(migrations.Migration): | ||||||
|  | 
 | ||||||
|  |     dependencies = [ | ||||||
|  |         ('datacenterlight', '0013_dclnavbarpluginmodel'), | ||||||
|  |     ] | ||||||
|  | 
 | ||||||
|  |     operations = [ | ||||||
|  |         migrations.AddField( | ||||||
|  |             model_name='dclnavbarpluginmodel', | ||||||
|  |             name='language_dropdown', | ||||||
|  |             field=models.BooleanField(default=True, help_text='Select to include the language selection dropdown.'), | ||||||
|  |         ), | ||||||
|  |     ] | ||||||
|  | @ -58,6 +58,16 @@ textarea { | ||||||
|   min-width: 180px; |   min-width: 180px; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | .lead { | ||||||
|  |   font-size: 18px; | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | @media (min-width: 768px) { | ||||||
|  |   .lead { | ||||||
|  |     font-size: 21px; | ||||||
|  |   } | ||||||
|  | } | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| /* Top navbar */ | /* Top navbar */ | ||||||
| 
 | 
 | ||||||
|  | @ -107,6 +117,12 @@ textarea { | ||||||
|   text-decoration: none; |   text-decoration: none; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | .topnav .nav .open>a, | ||||||
|  | .topnav .nav .open>a:focus, | ||||||
|  | .topnav .nav .open>a:hover { | ||||||
|  |   background: transparent; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| .navbar .dcl-link { | .navbar .dcl-link { | ||||||
|   display: block; |   display: block; | ||||||
|   padding: 15px; |   padding: 15px; | ||||||
|  | @ -429,17 +445,20 @@ textarea { | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .split-section.left .split-description { | .split-section.left .split-description { | ||||||
| /*   width: 90%; */ |  | ||||||
|   margin-right: auto; |   margin-right: auto; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .split-section .split-description .lead { | .split-section .split-description .lead { | ||||||
|   color: #3a3a3a; |   color: #3a3a3a; | ||||||
|   font-size: 21px; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .split-section .space .split-description .lead { | @media (min-width: 768px) { | ||||||
|   font-size: 20px; |   .split-section .split-description .lead { | ||||||
|  |     font-size: 21px; | ||||||
|  |   } | ||||||
|  |   .split-section .space .split-description .lead { | ||||||
|  |     font-size: 20px; | ||||||
|  |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .split-section.right .split-description { | .split-section.right .split-description { | ||||||
|  | @ -536,6 +555,7 @@ textarea { | ||||||
|   padding-top: 20px; |   padding-top: 20px; | ||||||
|   display: inline-block; |   display: inline-block; | ||||||
|   color: #999 !important; |   color: #999 !important; | ||||||
|  |   word-break:  break-all; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| .price-calc-section .card { | .price-calc-section .card { | ||||||
|  | @ -764,17 +784,11 @@ textarea { | ||||||
| 
 | 
 | ||||||
| .ssdimg { | .ssdimg { | ||||||
|   margin: 0 15px; |   margin: 0 15px; | ||||||
|   /* vertical-align: middle; */ |  | ||||||
|   /* display: inline-block; */ |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| .ssdimg img { |  | ||||||
|   max-width: 125px; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| @media (max-width: 767px) { | @media (max-width: 767px) { | ||||||
|   .ssdimg img { |   .ssdimg img { | ||||||
|     width: 100px; |     max-height: 120px; | ||||||
|   } |   } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -1190,7 +1204,7 @@ footer { | ||||||
|     max-width: 430px; |     max-width: 430px; | ||||||
|   } |   } | ||||||
|   .flex-row-rev .desc-text { |   .flex-row-rev .desc-text { | ||||||
|     max-width: 710px; |     max-width: 600px; | ||||||
|     text-align: left; |     text-align: left; | ||||||
|   } |   } | ||||||
|   .flex-row-rev .percent-text { |   .flex-row-rev .percent-text { | ||||||
|  |  | ||||||
|  | @ -104,21 +104,33 @@ | ||||||
|         }); |         }); | ||||||
|         $('.url').click(function(event) { |         $('.url').click(function(event) { | ||||||
|             event.preventDefault(); |             event.preventDefault(); | ||||||
|             var href = $(this).attr('href'); |             var $this = $(this); | ||||||
|  |             var href = $this.attr('href'); | ||||||
|             $('.navbar-collapse').removeClass('in'); |             $('.navbar-collapse').removeClass('in'); | ||||||
|             $('.navbar-collapse').addClass('collapsing'); |             $('.navbar-collapse').addClass('collapsing'); | ||||||
|             if (href[0] === "#") { |             if (href[0] === "#") { | ||||||
|                 if ($(href).length) { |                 scrollToElement(href); | ||||||
|                     $('html, body').animate({ |  | ||||||
|                         scrollTop: $(href).offset().top - 50 |  | ||||||
|                     }, 1000); |  | ||||||
|                 } |  | ||||||
|             } else if (href) { |             } else if (href) { | ||||||
|                 window.location = href; |                 var path = $(this).prop('href').split('#'); | ||||||
|  |                 var currentPath = window.location.origin + window.location.pathname; | ||||||
|  |                 if (!path[1]) { | ||||||
|  |                     window.location = href; | ||||||
|  |                 } else if (currentPath == path[0]) { | ||||||
|  |                     scrollToElement('#' + path[1]); | ||||||
|  |                 } | ||||||
|             } |             } | ||||||
|         }); |         }); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|  |     function scrollToElement(el) { | ||||||
|  |         var $el = $(el); | ||||||
|  |         if ($el.length) { | ||||||
|  |             $('html, body').animate({ | ||||||
|  |                 scrollTop: $el.offset().top - 50 | ||||||
|  |             }, 1000); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|     function verifiedUrl() { |     function verifiedUrl() { | ||||||
|         if (window.location.href.indexOf('#success') > -1) { |         if (window.location.href.indexOf('#success') > -1) { | ||||||
|             form_success(); |             form_success(); | ||||||
|  |  | ||||||
|  | @ -1,11 +1,11 @@ | ||||||
| <div id="{{ instance.id }}" class="full-contact-section"> | <div id="contact" class="full-contact-section"> | ||||||
|   <div class="intro-header-2 contact-section"> |   <div class="intro-header-2 contact-section"> | ||||||
|     <div class="container"> |     <div class="container"> | ||||||
|       <div class="row"> |       <div class="row"> | ||||||
|         <div class="col-sm-6"> |         <div class="col-sm-6"> | ||||||
|           {% if instance.contact_text %} |           {% if instance.heading%} | ||||||
|             <div class="title"> |             <div class="title"> | ||||||
|               <h2>{{ instance.contact_text }}</h2> |               <h2>{{ instance.heading}}</h2> | ||||||
|             </div> |             </div> | ||||||
|           {% endif %} |           {% endif %} | ||||||
|           <div class="contact-details"> |           <div class="contact-details"> | ||||||
|  |  | ||||||
|  | @ -10,13 +10,12 @@ | ||||||
|       <span class="icon-bar"></span> |       <span class="icon-bar"></span> | ||||||
|       <span class="icon-bar"></span> |       <span class="icon-bar"></span> | ||||||
|     </button> |     </button> | ||||||
|     {% url 'datacenterlight:index' as default_logo_url %} |  | ||||||
|     {% if instance.logo_dark or instance.logo_light %} |     {% if instance.logo_dark or instance.logo_light %} | ||||||
|       <a href="{{ instance.logo_url|default:default_logo_url }}" id="logoBlack" class="navbar-brand topnav"><img src="{{ instance.get_logo_dark }}"></a> |       <a href="{{ instance.logo_url|default:'/' }}" id="logoBlack" class="navbar-brand topnav"><img src="{{ instance.get_logo_dark }}"></a> | ||||||
|       <a href="{{ instance.logo_url|default:default_logo_url }}" id="logoWhite" class="navbar-brand topnav"><img src="{{ instance.get_logo_light }}"></a> |       <a href="{{ instance.logo_url|default:'/' }}" id="logoWhite" class="navbar-brand topnav"><img src="{{ instance.get_logo_light }}"></a> | ||||||
|     {% else %} |     {% else %} | ||||||
|       <a href="{{ default_logo_url }}" id="logoBlack" class="navbar-brand topnav"><img src="{% static 'datacenterlight/img/logo_black.svg' %}"></a> |       <a href="/" id="logoBlack" class="navbar-brand topnav"><img src="{% static 'datacenterlight/img/logo_black.svg' %}"></a> | ||||||
|       <a href="{{ default_logo_url }}" id="logoWhite" class="navbar-brand topnav"><img src="{% static 'datacenterlight/img/logo_white.svg' %}"></a> |       <a href="/" id="logoWhite" class="navbar-brand topnav"><img src="{% static 'datacenterlight/img/logo_white.svg' %}"></a> | ||||||
|     {% endif %} |     {% endif %} | ||||||
|   </div> |   </div> | ||||||
|   <div class="collapse navbar-collapse" id="dcl-topnav"> |   <div class="collapse navbar-collapse" id="dcl-topnav"> | ||||||
|  | @ -27,13 +26,15 @@ | ||||||
|           {% render_plugin plugin %} |           {% render_plugin plugin %} | ||||||
|         </li> |         </li> | ||||||
|       {% endfor %} |       {% endfor %} | ||||||
|       <li> |       {% if instance.language_dropdown %} | ||||||
|         {% if LANGUAGE_CODE == 'en-us'%} |         <li> | ||||||
|           <a class="on-hover-border" href="{% change_lang 'de' %}">Deutsch  <i class="fa fa-globe" aria-hidden="true"></i></a> |           {% if LANGUAGE_CODE == 'en-us'%} | ||||||
|         {% else %} |             <a class="on-hover-border" href="{% change_lang 'de' %}">Deutsch  <i class="fa fa-globe" aria-hidden="true"></i></a> | ||||||
|           <a class="on-hover-border" href="{% change_lang 'en-us' %}">English  <i class="fa fa-globe" aria-hidden="true"></i></a> |           {% else %} | ||||||
|         {% endif %} |             <a class="on-hover-border" href="{% change_lang 'en-us' %}">English  <i class="fa fa-globe" aria-hidden="true"></i></a> | ||||||
|       </li> |           {% endif %} | ||||||
|  |         </li> | ||||||
|  |       {% endif %} | ||||||
|       {% if not request.user.is_authenticated %} |       {% if not request.user.is_authenticated %} | ||||||
|         <li> |         <li> | ||||||
|           <a href="{% url 'hosting:login' %}">{% trans "Login" %}  <span class="fa fa-sign-in"></span></a> |           <a href="{% url 'hosting:login' %}">{% trans "Login" %}  <span class="fa fa-sign-in"></span></a> | ||||||
|  |  | ||||||
|  | @ -1,17 +1,20 @@ | ||||||
| from django.conf.urls import url | from django.conf.urls import url | ||||||
| from django.views.generic import TemplateView | from django.views.generic import TemplateView, RedirectView | ||||||
| 
 | 
 | ||||||
| from .views import ( | from .views import ( | ||||||
|     IndexView, PaymentOrderView, OrderConfirmationView, |     IndexView, PaymentOrderView, OrderConfirmationView, | ||||||
|     WhyDataCenterLightView, ContactUsView |     WhyDataCenterLightView, ContactUsView | ||||||
| ) | ) | ||||||
| 
 | 
 | ||||||
|  | 
 | ||||||
| urlpatterns = [ | urlpatterns = [ | ||||||
|     url(r'^$', IndexView.as_view(), name='index'), |     url(r'^$', IndexView.as_view(), name='index'), | ||||||
|     url(r'^t/$', IndexView.as_view(), name='index_t'), |     url(r'^t/$', IndexView.as_view(), name='index_t'), | ||||||
|     url(r'^g/$', IndexView.as_view(), name='index_g'), |     url(r'^g/$', IndexView.as_view(), name='index_g'), | ||||||
|     url(r'^f/$', IndexView.as_view(), name='index_f'), |     url(r'^f/$', IndexView.as_view(), name='index_f'), | ||||||
|     url(r'^l/$', IndexView.as_view(), name='index_l'), |     url(r'^l/$', IndexView.as_view(), name='index_l'), | ||||||
|  |     url(r'^new/$', RedirectView.as_view(url='/cms/datacenterlight/'), | ||||||
|  |         name='cms_index'), | ||||||
|     url(r'^whydatacenterlight/?$', WhyDataCenterLightView.as_view(), |     url(r'^whydatacenterlight/?$', WhyDataCenterLightView.as_view(), | ||||||
|         name='whydatacenterlight'), |         name='whydatacenterlight'), | ||||||
|     url(r'^payment/?$', PaymentOrderView.as_view(), name='payment'), |     url(r'^payment/?$', PaymentOrderView.as_view(), name='payment'), | ||||||
|  |  | ||||||
|  | @ -96,12 +96,7 @@ class IndexView(CreateView): | ||||||
|         for session_var in ['specs', 'user', 'billing_address_data']: |         for session_var in ['specs', 'user', 'billing_address_data']: | ||||||
|             if session_var in request.session: |             if session_var in request.session: | ||||||
|                 del request.session[session_var] |                 del request.session[session_var] | ||||||
| 
 |         return HttpResponseRedirect(reverse('datacenterlight:cms_index')) | ||||||
|         vm_templates = VMTemplate.objects.all() |  | ||||||
|         context = { |  | ||||||
|             'templates': vm_templates |  | ||||||
|         } |  | ||||||
|         return render(request, self.template_name, context) |  | ||||||
| 
 | 
 | ||||||
|     def post(self, request): |     def post(self, request): | ||||||
|         cores = request.POST.get('cpu') |         cores = request.POST.get('cpu') | ||||||
|  |  | ||||||
							
								
								
									
										20
									
								
								ungleich_page/migrations/0020_auto_20180320_0216.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								ungleich_page/migrations/0020_auto_20180320_0216.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,20 @@ | ||||||
|  | # -*- coding: utf-8 -*- | ||||||
|  | # Generated by Django 1.9.4 on 2018-03-19 20:46 | ||||||
|  | from __future__ import unicode_literals | ||||||
|  | 
 | ||||||
|  | from django.db import migrations, models | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | class Migration(migrations.Migration): | ||||||
|  | 
 | ||||||
|  |     dependencies = [ | ||||||
|  |         ('ungleich_page', '0019_merge'), | ||||||
|  |     ] | ||||||
|  | 
 | ||||||
|  |     operations = [ | ||||||
|  |         migrations.AlterField( | ||||||
|  |             model_name='ungleichheaderwithbackgroundvideoslideritem', | ||||||
|  |             name='btn_link', | ||||||
|  |             field=models.CharField(blank=True, help_text='Url or #id to navigate on click. If this field is left empty, no button would be displayed.', max_length=100, null=True), | ||||||
|  |         ), | ||||||
|  |     ] | ||||||
|  | @ -125,9 +125,12 @@ class UngleichHeaderWithBackgroundVideoSliderItem(CMSPlugin): | ||||||
|         blank=True, null=True, |         blank=True, null=True, | ||||||
|         help_text='An optional description for this slide.' |         help_text='An optional description for this slide.' | ||||||
|     ) |     ) | ||||||
|     btn_link = models.URLField( |     btn_link = models.CharField( | ||||||
|         blank=True, null=True, |         max_length=100, blank=True, null=True, | ||||||
|         help_text='If this field is left empty, no button would be displayed.' |         help_text=( | ||||||
|  |             'Url or #id to navigate on click. If this field is left empty, no ' | ||||||
|  |             'button would be displayed.' | ||||||
|  |         ) | ||||||
|     ) |     ) | ||||||
|     btn_text = models.CharField( |     btn_text = models.CharField( | ||||||
|         blank=True, null=True, max_length=50, |         blank=True, null=True, max_length=50, | ||||||
|  |  | ||||||
|  | @ -22,6 +22,6 @@ | ||||||
|   {% endif %} |   {% endif %} | ||||||
|   {% if instance.btn_link %} |   {% if instance.btn_link %} | ||||||
|     {% trans "Learn More" as default_btn_text %} |     {% trans "Learn More" as default_btn_text %} | ||||||
|     <a class="btn btn-trans" href="{{ instance.btn_link }}">{{ instance.btn_text|default:default_btn_text }}</a> |     <a class="btn btn-trans page-scroll url" href="{{ instance.btn_link }}">{{ instance.btn_text|default:default_btn_text }}</a> | ||||||
|   {% endif %} |   {% endif %} | ||||||
| </div> | </div> | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue