diff --git a/.travis.yml b/.travis.yml index 6a3cca25..3a3d7027 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,6 +9,7 @@ env: install: "pip install -r requirements.txt" script: - flake8 +- python manage.py compilemessages - python manage.py test -v 3 # - coverage run --source='.' manage.py test dynamicweb -v 3 # - coverage report diff --git a/Changelog b/Changelog index 899849ff..811bc44c 100644 --- a/Changelog +++ b/Changelog @@ -1,4 +1,7 @@ -1.6.2: 2018-04-01: +1.6.3: 2018-04-05 + * #4377: [cms] header btn external link fix + * #4378: [dcl cms] update CMS Integration to have different content for different domains +1.6.2: 2018-04-01 * bgfix: [dcl] Fix user activation email style; add/correct some DE text * #4373: [dcl] update footer menu for pw reset/login/signup/activation request pages 1.6.1: 2018-03-28 @@ -70,7 +73,7 @@ * [cms] Introduce UngleichHeaderBackgroundImageAndTextSliderPlugin that allows to have scrolling images and texts * [cms] Remove
tag for ungleich cms customer item template 1.2.12: 2017-12-09 - * #3594: [digitalglarus] Remove white scroll bar on the right in mobile + * #3594: [digitalglarus] Remove white scroll bar on the right in mobile * #3905: [ungleich] Update ungleich.ch header into a slider * #3968: [ungleich] Fix navbar logo alignment * [all] Enable logging custom modules diff --git a/datacenterlight/admin.py b/datacenterlight/admin.py index 974006a6..acb93fff 100644 --- a/datacenterlight/admin.py +++ b/datacenterlight/admin.py @@ -4,7 +4,7 @@ from .cms_models import CMSIntegration class CMSIntegrationAdmin(PlaceholderAdminMixin, admin.ModelAdmin): - pass + list_display = ('name', 'domain') admin.site.register(CMSIntegration, CMSIntegrationAdmin) diff --git a/datacenterlight/cms_models.py b/datacenterlight/cms_models.py index 2f63c150..9eb55e0c 100644 --- a/datacenterlight/cms_models.py +++ b/datacenterlight/cms_models.py @@ -1,14 +1,15 @@ +from cms.models.fields import PlaceholderField from cms.models.pluginmodel import CMSPlugin +from django.contrib.sites.models import Site from django.db import models from django.utils.safestring import mark_safe from djangocms_text_ckeditor.fields import HTMLField from filer.fields.image import FilerImageField -from cms.models.fields import PlaceholderField class CMSIntegration(models.Model): name = models.CharField( - max_length=100, unique=True, default='default', + max_length=100, default='default', help_text=( 'A unique name for the Integration. This name will be used to ' 'fetch the Integration into pages' @@ -20,6 +21,10 @@ class CMSIntegration(models.Model): navbar_placeholder = PlaceholderField( 'datacenterlight_navbar', related_name='dcl-navbar-placeholder+' ) + domain = models.ForeignKey(Site, null=True, blank=True) + + class Meta: + unique_together = ('name', 'domain') def __str__(self): return self.name diff --git a/datacenterlight/management/commands/cmsintegrate.py b/datacenterlight/management/commands/cmsintegrate.py index 5b4f72d2..206248d2 100644 --- a/datacenterlight/management/commands/cmsintegrate.py +++ b/datacenterlight/management/commands/cmsintegrate.py @@ -6,8 +6,16 @@ class Command(BaseCommand): help = '''Creates cms integration objects for datacenterlight''' def handle(self, *args, **options): - obj, created = CMSIntegration.objects.get_or_create(name='default') + self.create_cms_integration() + + def create_cms_integration(self, site=None): + obj, created = CMSIntegration.objects.get_or_create( + name='default', domain=site + ) + domain_name = site.domain if site else 'All Sites' if created: - print('created the default CMSIntegration object') + print('created the default CMSIntegration object for', domain_name) else: - print('default CMSIntegration object already exists') + print( + 'default CMSIntegration object already exists for', domain_name + ) diff --git a/datacenterlight/migrations/0018_auto_20180403_1930.py b/datacenterlight/migrations/0018_auto_20180403_1930.py new file mode 100644 index 00000000..5c418898 --- /dev/null +++ b/datacenterlight/migrations/0018_auto_20180403_1930.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.4 on 2018-04-03 17:08 +from __future__ import unicode_literals + +from django.db import migrations, models +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'), + ] + + operations = [ + migrations.AlterField( + model_name='dclcontactpluginmodel', + name='organization_name', + field=models.CharField(blank=True, default='ungleich glarus ag', max_length=100), + ), + migrations.AlterField( + model_name='dclfooterpluginmodel', + name='copyright_label', + field=models.CharField(blank=True, default='ungleich glarus ag', help_text='Name of the company alongside the copyright year', max_length=100), + ), + migrations.AddField( + model_name='cmsintegration', + name='domain', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='sites.Site'), + ), + migrations.AlterField( + model_name='cmsintegration', + name='name', + field=models.CharField(default='default', help_text='A unique name for the Integration. This name will be used to fetch the Integration into pages', max_length=100), + ), + migrations.AlterUniqueTogether( + name='cmsintegration', + unique_together=set([('name', 'domain')]), + ), + ] diff --git a/datacenterlight/static/datacenterlight/css/common.css b/datacenterlight/static/datacenterlight/css/common.css index cddb0f69..88db9376 100644 --- a/datacenterlight/static/datacenterlight/css/common.css +++ b/datacenterlight/static/datacenterlight/css/common.css @@ -74,6 +74,17 @@ a.list-group-item-danger.active:focus { padding: 10px; } +#logoWhite, +.navbar-transparent #logoBlack { + display: none; +} + +#logoBlack, +.navbar-transparent #logoWhite { + display: block; + width: 220px; +} + @media (min-width: 768px) { .navbar-right { margin-right: 10px; diff --git a/datacenterlight/static/datacenterlight/css/hosting.css b/datacenterlight/static/datacenterlight/css/hosting.css index 7764f0c3..b4c5909c 100644 --- a/datacenterlight/static/datacenterlight/css/hosting.css +++ b/datacenterlight/static/datacenterlight/css/hosting.css @@ -1,3 +1,12 @@ +.navbar-transparent #logoWhite { + display: none; +} + +.navbar-transparent #logoBlack { + display: block; + width: 220px; +} + .topnav .navbar-fixed-top .navbar-collapse { max-height: 740px; } diff --git a/datacenterlight/static/datacenterlight/css/landing-page.css b/datacenterlight/static/datacenterlight/css/landing-page.css index 38e84a59..41c5a42f 100755 --- a/datacenterlight/static/datacenterlight/css/landing-page.css +++ b/datacenterlight/static/datacenterlight/css/landing-page.css @@ -141,17 +141,6 @@ textarea { color: #fff; } -#logoWhite, -.navbar-transparent #logoBlack { - display: none; -} - -#logoBlack, -.navbar-transparent #logoWhite { - display: block; - width: 220px; -} - .nav-language { position: relative; } diff --git a/datacenterlight/static/datacenterlight/js/main.js b/datacenterlight/static/datacenterlight/js/main.js index dc5a9108..6753695c 100644 --- a/datacenterlight/static/datacenterlight/js/main.js +++ b/datacenterlight/static/datacenterlight/js/main.js @@ -113,10 +113,10 @@ } else if (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]) { + if (currentPath == path[0] && path[1]) { scrollToElement('#' + path[1]); + } else { + window.location = href; } } }); diff --git a/datacenterlight/templates/datacenterlight/cms/navbar.html b/datacenterlight/templates/datacenterlight/cms/navbar.html index bfa3e086..ae6643aa 100644 --- a/datacenterlight/templates/datacenterlight/cms/navbar.html +++ b/datacenterlight/templates/datacenterlight/cms/navbar.html @@ -11,11 +11,11 @@ {% if instance.logo_dark or instance.logo_light %} - - + + {% else %} - - + + {% endif %}