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)