Merge branch 'master' into task/4379/price_without_vat
This commit is contained in:
		
				commit
				
					
						b9d44b510f
					
				
			
		
					 13 changed files with 65 additions and 39 deletions
				
			
		|  | @ -1,3 +1,9 @@ | |||
| 1.6.5: 2018-04-08 | ||||
|     * #4396: [ungleich] add favicon to ungleich blog | ||||
|     * #4327: [dcl] fix navbar logo repeat | ||||
|     * bgfix: [hosting] fix broken footer links | ||||
|     * bgfix: [dcl] remove ghost migrations from squashed migration | ||||
|     * bgfix: [cms] redirect multi-tenant urls to /cms also | ||||
| 1.6.4: 2018-04-06 | ||||
|     * #4362: [cms] Fix the need of dummy home page for different CMS-based sites | ||||
| 1.6.3: 2018-04-05 | ||||
|  |  | |||
|  | @ -8,8 +8,6 @@ import django.db.models.deletion | |||
| 
 | ||||
| class Migration(migrations.Migration): | ||||
| 
 | ||||
|     replaces = [('datacenterlight', '0018_auto_20180403_1930'), ('datacenterlight', '0019_auto_20180403_2054')] | ||||
| 
 | ||||
|     dependencies = [ | ||||
|         ('datacenterlight', '0017_auto_20180329_0056'), | ||||
|         ('sites', '0002_alter_domain_unique'), | ||||
|  |  | |||
|  | @ -74,6 +74,10 @@ a.list-group-item-danger.active:focus { | |||
|   padding: 10px; | ||||
| } | ||||
| 
 | ||||
| .navbar-brand > img { | ||||
|   height: 100%; | ||||
| } | ||||
| 
 | ||||
| #logoWhite, | ||||
| .navbar-transparent #logoBlack { | ||||
|   display: none; | ||||
|  | @ -82,7 +86,6 @@ a.list-group-item-danger.active:focus { | |||
| #logoBlack, | ||||
| .navbar-transparent #logoWhite { | ||||
|   display: block; | ||||
|   width: 220px; | ||||
| } | ||||
| 
 | ||||
| @media (min-width: 768px) { | ||||
|  |  | |||
|  | @ -89,10 +89,6 @@ textarea { | |||
|   border-radius: 6px; | ||||
| } | ||||
| 
 | ||||
| .navbar-brand > img { | ||||
|   max-height: 30px; | ||||
| } | ||||
| 
 | ||||
| @media (max-width: 767px) { | ||||
|   .navbar-default .navbar-nav>li>a{ | ||||
|     font-weight: 400; | ||||
|  |  | |||
|  | @ -4,15 +4,15 @@ | |||
|     <div class="container"> | ||||
|         <ul class="list-inline"> | ||||
|             <li> | ||||
|                <a class="url-init" href="{% url 'datacenterlight:index' %}">{% trans "Home" %}</a> | ||||
|                <a class="url-init" href="https://{{MULTISITE_CMS_FALLBACK}}">{% trans "Home" %}</a> | ||||
|             </li> | ||||
|             <li class="footer-menu-divider">⋅</li> | ||||
|             <li> | ||||
|                 <a class="url-init" href="{% url 'datacenterlight:index' %}#contact">{% trans "Contact" %}</a> | ||||
|                 <a class="url-init" href="https://{{MULTISITE_CMS_FALLBACK}}#contact">{% trans "Contact" %}</a> | ||||
|             </li> | ||||
|             <li class="footer-menu-divider">⋅</li> | ||||
|             <li> | ||||
|                 <a class="url-init" href="/cms/terms-of-service">{% trans "Terms of Service" %}</a> | ||||
|                 <a class="url-init" href="https://{{MULTISITE_CMS_FALLBACK}}/cms/terms-of-service">{% trans "Terms of Service" %}</a> | ||||
|             </li> | ||||
|         </ul> | ||||
| 
 | ||||
|  |  | |||
|  | @ -13,7 +13,7 @@ urlpatterns = [ | |||
|     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/'), | ||||
|     url(r'^new/$', RedirectView.as_view(url='/cms/'), | ||||
|         name='cms_index'), | ||||
|     url(r'^whydatacenterlight/?$', WhyDataCenterLightView.as_view(), | ||||
|         name='whydatacenterlight'), | ||||
|  |  | |||
|  | @ -57,7 +57,7 @@ | |||
|       ga('send', 'pageview'); | ||||
| 
 | ||||
|     </script> | ||||
|     <link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon"> | ||||
|     <link rel="shortcut icon" href="{% static 'digitalglarus/img/favicon.ico' %}" type="image/x-icon"> | ||||
|     <style id="igtranslator-color" type="text/css"></style> | ||||
|     <style type="text/css"> | ||||
| 
 | ||||
|  |  | |||
|  | @ -1,4 +1,5 @@ | |||
| from django.shortcuts import redirect | ||||
| from django.conf import settings | ||||
| from django.core.urlresolvers import reverse | ||||
| 
 | ||||
| from opennebula_api.serializers import VirtualMachineTemplateSerializer | ||||
|  | @ -24,3 +25,10 @@ class ProcessVMSelectionMixin(object): | |||
|             request.session['next'] = reverse('hosting:payment') | ||||
|             return redirect(reverse('hosting:login')) | ||||
|         return redirect(reverse('hosting:payment')) | ||||
| 
 | ||||
| 
 | ||||
| class HostingContextMixin(object): | ||||
|     def get_context_data(self, **kwargs): | ||||
|         context = super().get_context_data(**kwargs) | ||||
|         context['MULTISITE_CMS_FALLBACK'] = settings.MULTISITE_CMS_FALLBACK | ||||
|         return context | ||||
|  |  | |||
|  | @ -54,7 +54,7 @@ from .forms import ( | |||
|     HostingUserSignupForm, HostingUserLoginForm, UserHostingKeyForm, | ||||
|     generate_ssh_key_name | ||||
| ) | ||||
| from .mixins import ProcessVMSelectionMixin | ||||
| from .mixins import ProcessVMSelectionMixin, HostingContextMixin | ||||
| from .models import ( | ||||
|     HostingOrder, HostingBill, HostingPlan, UserHostingKey, VMDetail | ||||
| ) | ||||
|  | @ -213,13 +213,13 @@ class IndexView(View): | |||
|         return render(request, self.template_name, context) | ||||
| 
 | ||||
| 
 | ||||
| class LoginView(LoginViewMixin): | ||||
| class LoginView(HostingContextMixin, LoginViewMixin): | ||||
|     template_name = "hosting/login.html" | ||||
|     form_class = HostingUserLoginForm | ||||
|     success_url = reverse_lazy('hosting:dashboard') | ||||
| 
 | ||||
| 
 | ||||
| class SignupView(CreateView): | ||||
| class SignupView(HostingContextMixin, CreateView): | ||||
|     template_name = 'hosting/signup.html' | ||||
|     form_class = HostingUserSignupForm | ||||
|     model = CustomUser | ||||
|  | @ -248,7 +248,7 @@ class SignupView(CreateView): | |||
|         return super(SignupView, self).get(request, *args, **kwargs) | ||||
| 
 | ||||
| 
 | ||||
| class SignupValidateView(TemplateView): | ||||
| class SignupValidateView(HostingContextMixin, TemplateView): | ||||
|     template_name = "hosting/signup_validate.html" | ||||
| 
 | ||||
|     def get_context_data(self, **kwargs): | ||||
|  | @ -272,7 +272,7 @@ class SignupValidateView(TemplateView): | |||
|         return context | ||||
| 
 | ||||
| 
 | ||||
| class SignupValidatedView(SignupValidateView): | ||||
| class SignupValidatedView(SignupValidateView, HostingContextMixin): | ||||
|     template_name = "hosting/signup_validate.html" | ||||
| 
 | ||||
|     def get_context_data(self, **kwargs): | ||||
|  | @ -307,7 +307,7 @@ class SignupValidatedView(SignupValidateView): | |||
|             email.send() | ||||
|         else: | ||||
|             home_url = '<a href="' + \ | ||||
|                        reverse('datacenterlight:index') + \ | ||||
|                        reverse('datacenterlight:cms_index') + \ | ||||
|                        '">Data Center Light</a>' | ||||
|             message = '{sorry_message} <br />{go_back_to} {hurl}'.format( | ||||
|                 sorry_message=_("Sorry. Your request is invalid."), | ||||
|  | @ -325,7 +325,8 @@ class SignupValidatedView(SignupValidateView): | |||
|         return super(SignupValidatedView, self).get(request, *args, **kwargs) | ||||
| 
 | ||||
| 
 | ||||
| class ResendActivationEmailView(ResendActivationLinkViewMixin): | ||||
| class ResendActivationEmailView(HostingContextMixin, | ||||
|                                 ResendActivationLinkViewMixin): | ||||
|     template_name = 'hosting/resend_activation_link.html' | ||||
|     form_class = ResendActivationEmailForm | ||||
|     success_url = reverse_lazy('hosting:login') | ||||
|  | @ -333,7 +334,7 @@ class ResendActivationEmailView(ResendActivationLinkViewMixin): | |||
|     email_template_name = 'user_activation' | ||||
| 
 | ||||
| 
 | ||||
| class PasswordResetView(PasswordResetViewMixin): | ||||
| class PasswordResetView(HostingContextMixin, PasswordResetViewMixin): | ||||
|     site = 'dcl' | ||||
|     template_name = 'hosting/reset_password.html' | ||||
|     form_class = PasswordResetRequestForm | ||||
|  | @ -341,7 +342,8 @@ class PasswordResetView(PasswordResetViewMixin): | |||
|     template_email_path = 'hosting/emails/' | ||||
| 
 | ||||
| 
 | ||||
| class PasswordResetConfirmView(PasswordResetConfirmViewMixin): | ||||
| class PasswordResetConfirmView(HostingContextMixin, | ||||
|                                PasswordResetConfirmViewMixin): | ||||
|     template_name = 'hosting/confirm_reset_password.html' | ||||
|     success_url = reverse_lazy('hosting:login') | ||||
| 
 | ||||
|  |  | |||
|  | @ -35,6 +35,8 @@ | |||
|     {% render_block "external-css" %} | ||||
|     {% render_block "css" postprocessor "compressor.contrib.sekizai.compress" %} | ||||
| 
 | ||||
|     <link rel="shortcut icon" href="{% static 'ungleich_page/img/favicon.ico' %}"/> | ||||
| 
 | ||||
|     <!-- Google analytics --> | ||||
|     {% include "google_analytics.html" %} | ||||
|     <!-- End Google Analytics --> | ||||
|  |  | |||
|  | @ -1,9 +1,11 @@ | |||
| .topnav img { | ||||
|     height: 100%; | ||||
| #logoWhite, | ||||
| .navbar-transparent #logoBlack { | ||||
|   display: none; | ||||
| } | ||||
| 
 | ||||
| #logoBlack, | ||||
| .navbar-transparent #logoWhite { | ||||
|     width: 140px; | ||||
|   display: block; | ||||
| } | ||||
| 
 | ||||
| .navbar-default { | ||||
|  | @ -12,6 +14,15 @@ | |||
|     padding: 5px; | ||||
| } | ||||
| 
 | ||||
| @media (max-width: 767px) { | ||||
|     .navbar-transparent #logoBlack { | ||||
|       display: block; | ||||
|     } | ||||
|     .navbar-transparent #logoWhite { | ||||
|       display: none; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| @media (min-width: 768px) { | ||||
|     .navbar-transparent { | ||||
|         padding: 20px; | ||||
|  |  | |||
|  | @ -23,7 +23,7 @@ | |||
|     <!-- External Fonts --> | ||||
|     <link href="//fonts.googleapis.com/css?family=Lato:300,400,600,700" rel="stylesheet" type="text/css"> | ||||
| 
 | ||||
|     <link rel="shortcut icon" href="img/favicon.ico" type="image/x-icon" /> | ||||
|     <link rel="shortcut icon" href="{% static 'ungleich_page/img/favicon.ico' %}" type="image/x-icon" /> | ||||
| 
 | ||||
|     <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries --> | ||||
|     <!-- WARNING: Respond.js doesn't work if you view the page via file:// --> | ||||
|  |  | |||
|  | @ -50,8 +50,8 @@ | |||
|               <span class="icon-bar"></span> | ||||
|               <span class="icon-bar"></span> | ||||
|             </button> | ||||
|             <a href="{% url 'ungleich_page:landing' %}" id="logoBlack" class="navbar-brand topnav"><img src="{% static 'ungleich_page/img/logo_black.svg' %}"></a> | ||||
|             <a href="{% url 'ungleich_page:landing' %}" id="logoWhite" class="navbar-brand topnav"><img src="{% static 'ungleich_page/img/logo_white.svg' %}"></a> | ||||
|             <a href="https://ungleich.ch" id="logoBlack" class="navbar-brand topnav"><img src="{% static 'ungleich_page/img/logo_black.svg' %}"></a> | ||||
|             <a href="https://ungleich.ch" id="logoWhite" class="navbar-brand topnav"><img src="{% static 'ungleich_page/img/logo_white.svg' %}"></a> | ||||
|         </div> | ||||
|         <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> | ||||
|           <!-- Start Navbar collapse--> | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue