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 | ||||
|     * bgfix: [dcl cms] update DCLNavbarPlugin to allow change of brand logo and url | ||||
| 1.5.3: 2018-03-16 | ||||
|  |  | |||
|  | @ -132,6 +132,10 @@ class DCLNavbarPluginModel(CMSPlugin): | |||
|         related_name="dcl_navbar_logo_dark", | ||||
|     ) | ||||
|     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): | ||||
|         # 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; | ||||
| } | ||||
| 
 | ||||
| .lead { | ||||
|   font-size: 18px; | ||||
| } | ||||
| 
 | ||||
| @media (min-width: 768px) { | ||||
|   .lead { | ||||
|     font-size: 21px; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| /* Top navbar */ | ||||
| 
 | ||||
|  | @ -107,6 +117,12 @@ textarea { | |||
|   text-decoration: none; | ||||
| } | ||||
| 
 | ||||
| .topnav .nav .open>a, | ||||
| .topnav .nav .open>a:focus, | ||||
| .topnav .nav .open>a:hover { | ||||
|   background: transparent; | ||||
| } | ||||
| 
 | ||||
| .navbar .dcl-link { | ||||
|   display: block; | ||||
|   padding: 15px; | ||||
|  | @ -429,17 +445,20 @@ textarea { | |||
| } | ||||
| 
 | ||||
| .split-section.left .split-description { | ||||
| /*   width: 90%; */ | ||||
|   margin-right: auto; | ||||
| } | ||||
| 
 | ||||
| .split-section .split-description .lead { | ||||
|   color: #3a3a3a; | ||||
|   font-size: 21px; | ||||
| } | ||||
| 
 | ||||
| .split-section .space .split-description .lead { | ||||
|   font-size: 20px; | ||||
| @media (min-width: 768px) { | ||||
|   .split-section .split-description .lead { | ||||
|     font-size: 21px; | ||||
|   } | ||||
|   .split-section .space .split-description .lead { | ||||
|     font-size: 20px; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
| .split-section.right .split-description { | ||||
|  | @ -536,6 +555,7 @@ textarea { | |||
|   padding-top: 20px; | ||||
|   display: inline-block; | ||||
|   color: #999 !important; | ||||
|   word-break:  break-all; | ||||
| } | ||||
| 
 | ||||
| .price-calc-section .card { | ||||
|  | @ -764,17 +784,11 @@ textarea { | |||
| 
 | ||||
| .ssdimg { | ||||
|   margin: 0 15px; | ||||
|   /* vertical-align: middle; */ | ||||
|   /* display: inline-block; */ | ||||
| } | ||||
| 
 | ||||
| .ssdimg img { | ||||
|   max-width: 125px; | ||||
| } | ||||
| 
 | ||||
| @media (max-width: 767px) { | ||||
|   .ssdimg img { | ||||
|     width: 100px; | ||||
|     max-height: 120px; | ||||
|   } | ||||
| } | ||||
| 
 | ||||
|  | @ -1190,7 +1204,7 @@ footer { | |||
|     max-width: 430px; | ||||
|   } | ||||
|   .flex-row-rev .desc-text { | ||||
|     max-width: 710px; | ||||
|     max-width: 600px; | ||||
|     text-align: left; | ||||
|   } | ||||
|   .flex-row-rev .percent-text { | ||||
|  |  | |||
|  | @ -104,21 +104,33 @@ | |||
|         }); | ||||
|         $('.url').click(function(event) { | ||||
|             event.preventDefault(); | ||||
|             var href = $(this).attr('href'); | ||||
|             var $this = $(this); | ||||
|             var href = $this.attr('href'); | ||||
|             $('.navbar-collapse').removeClass('in'); | ||||
|             $('.navbar-collapse').addClass('collapsing'); | ||||
|             if (href[0] === "#") { | ||||
|                 if ($(href).length) { | ||||
|                     $('html, body').animate({ | ||||
|                         scrollTop: $(href).offset().top - 50 | ||||
|                     }, 1000); | ||||
|                 } | ||||
|                 scrollToElement(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() { | ||||
|         if (window.location.href.indexOf('#success') > -1) { | ||||
|             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="container"> | ||||
|       <div class="row"> | ||||
|         <div class="col-sm-6"> | ||||
|           {% if instance.contact_text %} | ||||
|           {% if instance.heading%} | ||||
|             <div class="title"> | ||||
|               <h2>{{ instance.contact_text }}</h2> | ||||
|               <h2>{{ instance.heading}}</h2> | ||||
|             </div> | ||||
|           {% endif %} | ||||
|           <div class="contact-details"> | ||||
|  |  | |||
|  | @ -10,13 +10,12 @@ | |||
|       <span class="icon-bar"></span> | ||||
|       <span class="icon-bar"></span> | ||||
|     </button> | ||||
|     {% url 'datacenterlight:index' as default_logo_url %} | ||||
|     {% 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:default_logo_url }}" id="logoWhite" class="navbar-brand topnav"><img src="{{ instance.get_logo_light }}"></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:'/' }}" id="logoWhite" class="navbar-brand topnav"><img src="{{ instance.get_logo_light }}"></a> | ||||
|     {% else %} | ||||
|       <a href="{{ default_logo_url }}" 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="logoBlack" class="navbar-brand topnav"><img src="{% static 'datacenterlight/img/logo_black.svg' %}"></a> | ||||
|       <a href="/" id="logoWhite" class="navbar-brand topnav"><img src="{% static 'datacenterlight/img/logo_white.svg' %}"></a> | ||||
|     {% endif %} | ||||
|   </div> | ||||
|   <div class="collapse navbar-collapse" id="dcl-topnav"> | ||||
|  | @ -27,13 +26,15 @@ | |||
|           {% render_plugin plugin %} | ||||
|         </li> | ||||
|       {% endfor %} | ||||
|       <li> | ||||
|         {% if LANGUAGE_CODE == 'en-us'%} | ||||
|           <a class="on-hover-border" href="{% change_lang 'de' %}">Deutsch  <i class="fa fa-globe" aria-hidden="true"></i></a> | ||||
|         {% else %} | ||||
|           <a class="on-hover-border" href="{% change_lang 'en-us' %}">English  <i class="fa fa-globe" aria-hidden="true"></i></a> | ||||
|         {% endif %} | ||||
|       </li> | ||||
|       {% if instance.language_dropdown %} | ||||
|         <li> | ||||
|           {% if LANGUAGE_CODE == 'en-us'%} | ||||
|             <a class="on-hover-border" href="{% change_lang 'de' %}">Deutsch  <i class="fa fa-globe" aria-hidden="true"></i></a> | ||||
|           {% else %} | ||||
|             <a class="on-hover-border" href="{% change_lang 'en-us' %}">English  <i class="fa fa-globe" aria-hidden="true"></i></a> | ||||
|           {% endif %} | ||||
|         </li> | ||||
|       {% endif %} | ||||
|       {% if not request.user.is_authenticated %} | ||||
|         <li> | ||||
|           <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.views.generic import TemplateView | ||||
| from django.views.generic import TemplateView, RedirectView | ||||
| 
 | ||||
| from .views import ( | ||||
|     IndexView, PaymentOrderView, OrderConfirmationView, | ||||
|     WhyDataCenterLightView, ContactUsView | ||||
| ) | ||||
| 
 | ||||
| 
 | ||||
| urlpatterns = [ | ||||
|     url(r'^$', IndexView.as_view(), name='index'), | ||||
|     url(r'^t/$', IndexView.as_view(), name='index_t'), | ||||
|     url(r'^g/$', IndexView.as_view(), name='index_g'), | ||||
|     url(r'^f/$', IndexView.as_view(), name='index_f'), | ||||
|     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(), | ||||
|         name='whydatacenterlight'), | ||||
|     url(r'^payment/?$', PaymentOrderView.as_view(), name='payment'), | ||||
|  |  | |||
|  | @ -96,12 +96,7 @@ class IndexView(CreateView): | |||
|         for session_var in ['specs', 'user', 'billing_address_data']: | ||||
|             if session_var in request.session: | ||||
|                 del request.session[session_var] | ||||
| 
 | ||||
|         vm_templates = VMTemplate.objects.all() | ||||
|         context = { | ||||
|             'templates': vm_templates | ||||
|         } | ||||
|         return render(request, self.template_name, context) | ||||
|         return HttpResponseRedirect(reverse('datacenterlight:cms_index')) | ||||
| 
 | ||||
|     def post(self, request): | ||||
|         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, | ||||
|         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_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.' | ||||
|         ) | ||||
|     ) | ||||
|     btn_text = models.CharField( | ||||
|         blank=True, null=True, max_length=50, | ||||
|  |  | |||
|  | @ -22,6 +22,6 @@ | |||
|   {% endif %} | ||||
|   {% if instance.btn_link %} | ||||
|     {% 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 %} | ||||
| </div> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue