add footer and header placeholders
This commit is contained in:
parent
bc36849178
commit
e7d7cf67b2
6 changed files with 90 additions and 61 deletions
|
@ -9,11 +9,17 @@ from cms.models.fields import PlaceholderField
|
||||||
class CMSIntegration(models.Model):
|
class CMSIntegration(models.Model):
|
||||||
name = models.CharField(
|
name = models.CharField(
|
||||||
max_length=100, unique=True, default='default',
|
max_length=100, unique=True, default='default',
|
||||||
help_text='An optional heading for the Section',
|
help_text=(
|
||||||
|
'A unique name for the Integration. This name will be used to '
|
||||||
|
'fetch the Integration into pages'
|
||||||
|
)
|
||||||
)
|
)
|
||||||
footer_placeholder = PlaceholderField('datacenterlight_footer')
|
footer_placeholder = PlaceholderField('datacenterlight_footer')
|
||||||
navbar_placeholder = PlaceholderField('datacenterlight_navbar')
|
navbar_placeholder = PlaceholderField('datacenterlight_navbar')
|
||||||
|
|
||||||
|
def __str__(self):
|
||||||
|
return self.name
|
||||||
|
|
||||||
|
|
||||||
# Models for CMS Plugins
|
# Models for CMS Plugins
|
||||||
|
|
||||||
|
|
31
datacenterlight/migrations/0016_cmsintegration.py
Normal file
31
datacenterlight/migrations/0016_cmsintegration.py
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.9.4 on 2018-03-27 15:31
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import cms.models.fields
|
||||||
|
from django.db import migrations, models
|
||||||
|
import django.db.models.deletion
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('datacenterlight', '0015_auto_20180323_0011'),
|
||||||
|
('cms', '0014_auto_20160404_1908'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.CreateModel(
|
||||||
|
name='CMSIntegration',
|
||||||
|
fields=[
|
||||||
|
('id', models.AutoField(auto_created=True,
|
||||||
|
primary_key=True, serialize=False, verbose_name='ID')),
|
||||||
|
('navbar_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True,
|
||||||
|
on_delete=django.db.models.deletion.CASCADE, slotname='datacenterlight_navbar', to='cms.Placeholder')),
|
||||||
|
('footer_placeholder', cms.models.fields.PlaceholderField(editable=False, null=True,
|
||||||
|
on_delete=django.db.models.deletion.CASCADE, slotname='datacenterlight_footer', to='cms.Placeholder')),
|
||||||
|
('name', 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, unique=True)),
|
||||||
|
],
|
||||||
|
),
|
||||||
|
]
|
|
@ -84,8 +84,24 @@ a.list-group-item-danger.active:focus {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.navbar .dcl-link {
|
||||||
|
display: block;
|
||||||
|
padding: 15px;
|
||||||
|
color: #777;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar .dcl-link:focus,
|
||||||
|
.navbar .dcl-link:active,
|
||||||
|
.navbar .dcl-link:hover {
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.navbar .dropdown-menu .dcl-link {
|
||||||
|
padding: 1px 10px;
|
||||||
|
}
|
||||||
|
|
||||||
p.copyright {
|
p.copyright {
|
||||||
margin: 15px 0 0;
|
margin: 15px 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
footer {
|
footer {
|
||||||
|
@ -96,3 +112,22 @@ footer {
|
||||||
footer a {
|
footer a {
|
||||||
color: #777;
|
color: #777;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
footer .dcl-link-separator {
|
||||||
|
position: relative;
|
||||||
|
padding-left: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer .dcl-link-separator::before {
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
display: inline-block;
|
||||||
|
top: 9px;
|
||||||
|
bottom: 0;
|
||||||
|
left: -2px;
|
||||||
|
right: 0;
|
||||||
|
width: 2px;
|
||||||
|
height: 2px;
|
||||||
|
border-radius: 100%;
|
||||||
|
background: #777;
|
||||||
|
}
|
|
@ -15,8 +15,8 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
@media(min-width: 768px) {
|
@media(min-width: 768px) {
|
||||||
.navbar-default .navbar-nav>li>a,
|
.navbar-default .navbar-nav>li a,
|
||||||
.navbar-right .highlights-dropdown .dropdown-menu>li>a {
|
.navbar-right .highlights-dropdown .dropdown-menu>li a {
|
||||||
font-weight: 300;
|
font-weight: 300;
|
||||||
}
|
}
|
||||||
.navbar-right .highlights-dropdown .dropdown-menu {
|
.navbar-right .highlights-dropdown .dropdown-menu {
|
||||||
|
@ -26,7 +26,7 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-right .highlights-dropdown .dropdown-menu>li>a {
|
.navbar-right .highlights-dropdown .dropdown-menu>li a {
|
||||||
font-size: 13px;
|
font-size: 13px;
|
||||||
font-family: 'Lato', sans-serif;
|
font-family: 'Lato', sans-serif;
|
||||||
padding: 1px 10px 1px 18px !important;
|
padding: 1px 10px 1px 18px !important;
|
||||||
|
@ -34,9 +34,9 @@
|
||||||
color: #333;
|
color: #333;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-right .highlights-dropdown .dropdown-menu>li>a:hover,
|
.navbar-right .highlights-dropdown .dropdown-menu>li a:hover,
|
||||||
.navbar-right .highlights-dropdown .dropdown-menu>li>a:focus,
|
.navbar-right .highlights-dropdown .dropdown-menu>li a:focus,
|
||||||
.navbar-right .highlights-dropdown .dropdown-menu>li>a:active {
|
.navbar-right .highlights-dropdown .dropdown-menu>li a:active {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
text-decoration: underline !important;
|
text-decoration: underline !important;
|
||||||
}
|
}
|
||||||
|
@ -144,9 +144,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
@media (max-width: 767px) {
|
@media (max-width: 767px) {
|
||||||
.navbar-default .navbar-nav .open .dropdown-menu>.active>a,
|
.navbar-default .navbar-nav .open .dropdown-menu>.active a,
|
||||||
.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,
|
.navbar-default .navbar-nav .open .dropdown-menu>.active a:focus,
|
||||||
.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover {
|
.navbar-default .navbar-nav .open .dropdown-menu>.active a:hover {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -163,7 +163,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.content-dashboard {
|
.content-dashboard {
|
||||||
min-height: calc(100vh - 60px);
|
min-height: calc(100vh - 86px);
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
max-width: 1120px;
|
max-width: 1120px;
|
||||||
|
|
|
@ -99,15 +99,13 @@ textarea {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.navbar-transparent .navbar-nav>li a,
|
||||||
.navbar-transparent .navbar-nav>.open>a,
|
.navbar-transparent .navbar-nav>.open>a,
|
||||||
.navbar-transparent .navbar-nav>.open>a:focus,
|
.navbar-transparent .navbar-nav>.open>a:focus,
|
||||||
.navbar-transparent .navbar-nav>.open>a:hover {
|
.navbar-transparent .navbar-nav>.open>a:hover {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-transparent .navbar-nav>li a {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar-transparent .navbar-nav>li a:focus,
|
.navbar-transparent .navbar-nav>li a:focus,
|
||||||
.navbar-transparent .navbar-nav>li a:active,
|
.navbar-transparent .navbar-nav>li a:active,
|
||||||
|
@ -123,22 +121,6 @@ textarea {
|
||||||
background: transparent;
|
background: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar .dcl-link {
|
|
||||||
display: block;
|
|
||||||
padding: 15px;
|
|
||||||
color: #777;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar .dcl-link:focus,
|
|
||||||
.navbar .dcl-link:active,
|
|
||||||
.navbar .dcl-link:hover {
|
|
||||||
text-decoration: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar .dropdown-menu .dcl-link {
|
|
||||||
padding: 1px 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.navbar-transparent .navbar-nav>li>.on-hover-border {
|
.navbar-transparent .navbar-nav>li>.on-hover-border {
|
||||||
transition: all 0.3s linear;
|
transition: all 0.3s linear;
|
||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
|
@ -1233,24 +1215,6 @@ footer {
|
||||||
transform: rotate(45deg);
|
transform: rotate(45deg);
|
||||||
}
|
}
|
||||||
|
|
||||||
footer .dcl-link-separator {
|
|
||||||
position: relative;
|
|
||||||
padding-left: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
footer .dcl-link-separator::before {
|
|
||||||
content: "";
|
|
||||||
position: absolute;
|
|
||||||
display: inline-block;
|
|
||||||
top: 9px;
|
|
||||||
bottom: 0;
|
|
||||||
left: -2px;
|
|
||||||
right: 0;
|
|
||||||
width: 2px;
|
|
||||||
height: 2px;
|
|
||||||
border-radius: 100%;
|
|
||||||
background: #777;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* new styles for whydcl section cms plugin (to replace older style) */
|
/* new styles for whydcl section cms plugin (to replace older style) */
|
||||||
|
|
||||||
|
|
|
@ -23,6 +23,9 @@
|
||||||
<!-- Custom CSS -->
|
<!-- Custom CSS -->
|
||||||
<link href="{% static 'datacenterlight/css/common.css' %}" rel="stylesheet">
|
<link href="{% static 'datacenterlight/css/common.css' %}" rel="stylesheet">
|
||||||
<link href="{% static 'datacenterlight/css/hosting.css' %}" rel="stylesheet">
|
<link href="{% static 'datacenterlight/css/hosting.css' %}" rel="stylesheet">
|
||||||
|
{% if request.toolbar.edit_mode %}
|
||||||
|
<link href="{% static 'datacenterlight/css/cms.css' %}" rel="stylesheet">
|
||||||
|
{% endif %}
|
||||||
{% block css_extra %}
|
{% block css_extra %}
|
||||||
{% endblock css_extra %}
|
{% endblock css_extra %}
|
||||||
|
|
||||||
|
@ -55,18 +58,8 @@
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Footer -->
|
{% render_placeholder cms_integration.footer_placeholder %}
|
||||||
{% if request.user.is_authenticated %}
|
|
||||||
<footer class="footer-vm">
|
|
||||||
<div class="container">
|
|
||||||
<p class="copyright text-muted small">Copyright © ungleich GmbH {% now "Y" %}. {% trans "All Rights Reserved" %}</p>
|
|
||||||
</div>
|
|
||||||
</footer>
|
|
||||||
{% else %}
|
|
||||||
<div class="footer-vm">
|
|
||||||
{% include "datacenterlight/includes/_footer.html" %}
|
|
||||||
</div>
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
<!-- Moment -->
|
<!-- Moment -->
|
||||||
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
|
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment.min.js"></script>
|
||||||
|
|
Loading…
Reference in a new issue