diff --git a/datacenterlight/admin.py b/datacenterlight/admin.py
new file mode 100644
index 00000000..974006a6
--- /dev/null
+++ b/datacenterlight/admin.py
@@ -0,0 +1,10 @@
+from django.contrib import admin
+from cms.admin.placeholderadmin import PlaceholderAdminMixin
+from .cms_models import CMSIntegration
+
+
+class CMSIntegrationAdmin(PlaceholderAdminMixin, admin.ModelAdmin):
+ pass
+
+
+admin.site.register(CMSIntegration, CMSIntegrationAdmin)
diff --git a/datacenterlight/cms_models.py b/datacenterlight/cms_models.py
index 8c9ae740..fa01f18a 100644
--- a/datacenterlight/cms_models.py
+++ b/datacenterlight/cms_models.py
@@ -3,6 +3,17 @@ 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',
+ help_text='An optional heading for the Section',
+ )
+ footer_placeholder = PlaceholderField('datacenterlight_footer')
+ navbar_placeholder = PlaceholderField('datacenterlight_navbar')
+
# Models for CMS Plugins
diff --git a/datacenterlight/static/datacenterlight/css/common.css b/datacenterlight/static/datacenterlight/css/common.css
index e24cf671..87569ae1 100644
--- a/datacenterlight/static/datacenterlight/css/common.css
+++ b/datacenterlight/static/datacenterlight/css/common.css
@@ -1,7 +1,7 @@
body,
html {
width: 100%;
- min-height: 100%;
+ height: 100%;
}
body,
diff --git a/datacenterlight/templates/datacenterlight/base_hosting.html b/datacenterlight/templates/datacenterlight/base_hosting.html
index 7e4f7fac..20111878 100644
--- a/datacenterlight/templates/datacenterlight/base_hosting.html
+++ b/datacenterlight/templates/datacenterlight/base_hosting.html
@@ -1,4 +1,4 @@
-{% load staticfiles i18n %}
+{% load staticfiles i18n cms_tags sekizai_tags %}
{% get_current_language as LANGUAGE_CODE %}
@@ -26,6 +26,9 @@
{% block css_extra %}
{% endblock css_extra %}
+ {% render_block "css" postprocessor "compressor.contrib.sekizai.compress" %}
+ {% render_block "js" postprocessor "compressor.contrib.sekizai.compress" %}
+
@@ -43,10 +46,9 @@
+ {% cms_toolbar %}
- {% block navbar %}
- {% include "hosting/includes/_navbar_user.html" %}
- {% endblock navbar %}
+ {% render_placeholder cms_integration.navbar_placeholder %}
{% block content %}
diff --git a/datacenterlight/templates/datacenterlight/landing_payment.html b/datacenterlight/templates/datacenterlight/landing_payment.html
index 8e779576..e64d8ca3 100644
--- a/datacenterlight/templates/datacenterlight/landing_payment.html
+++ b/datacenterlight/templates/datacenterlight/landing_payment.html
@@ -1,5 +1,5 @@
{% extends "datacenterlight/base_hosting.html" %}
-{% load staticfiles bootstrap3 i18n %}
+{% load staticfiles bootstrap3 i18n cms_tags %}
{% block css_extra %}
diff --git a/datacenterlight/views.py b/datacenterlight/views.py
index 5517abaf..e2241a17 100644
--- a/datacenterlight/views.py
+++ b/datacenterlight/views.py
@@ -18,14 +18,13 @@ from hosting.forms import HostingUserLoginForm
from hosting.models import HostingOrder
from membership.models import CustomUser, StripeCustomer
from opennebula_api.serializers import VMTemplateSerializer
-from utils.forms import (
- BillingAddressForm, BillingAddressFormSignup
-)
+from utils.forms import BillingAddressForm, BillingAddressFormSignup
from utils.hosting_utils import get_vm_price
from utils.stripe_utils import StripeUtils
from utils.tasks import send_plain_email_task
from .forms import ContactForm
from .models import VMTemplate
+from .cms_models import CMSIntegration
logger = logging.getLogger(__name__)
@@ -42,9 +41,10 @@ class ContactUsView(FormView):
return self.render_to_response(
self.get_context_data(contact_form=form))
else:
- return render(self.request,
- 'datacenterlight/index.html',
- self.get_context_data(contact_form=form))
+ return render(
+ self.request, 'datacenterlight/index.html',
+ self.get_context_data(contact_form=form)
+ )
def form_valid(self, form):
form.save()
@@ -68,10 +68,10 @@ class ContactUsView(FormView):
return self.render_to_response(
self.get_context_data(success=True, contact_form=form))
else:
- return render(self.request,
- 'datacenterlight/index.html',
- self.get_context_data(success=True,
- contact_form=form))
+ return render(
+ self.request, 'datacenterlight/index.html',
+ self.get_context_data(success=True, contact_form=form)
+ )
class IndexView(CreateView):
@@ -219,7 +219,8 @@ class PaymentOrderView(FormView):
'stripe_key': settings.STRIPE_API_PUBLIC_KEY,
'site_url': reverse('datacenterlight:index'),
'login_form': HostingUserLoginForm(prefix='login_form'),
- 'billing_address_form': billing_address_form
+ 'billing_address_form': billing_address_form,
+ 'cms_integration': CMSIntegration.objects.get(name='default')
})
return context
@@ -354,7 +355,10 @@ class OrderConfirmationView(DetailView):
'cc_brand': card_details.get('response_object').get('brand'),
'vm': request.session.get('specs'),
'page_header_text': _('Confirm Order'),
- 'billing_address_data': request.session.get('billing_address_data')
+ 'billing_address_data': (
+ request.session.get('billing_address_data')
+ ),
+ 'cms_integration': CMSIntegration.objects.get(name='default')
}
return render(request, self.template_name, context)