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…
	
	Add table
		Add a link
		
	
		Reference in a new issue