commit
20376f11a2
16 changed files with 257 additions and 84 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,5 +1,6 @@
|
||||||
db.sqlite3
|
db.sqlite3
|
||||||
*.pyc
|
*.pyc
|
||||||
|
*.DS_Store
|
||||||
build/
|
build/
|
||||||
dist/
|
dist/
|
||||||
*.egg_info
|
*.egg_info
|
||||||
|
|
26
digitalglarus/forms.py
Normal file
26
digitalglarus/forms.py
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
from django import forms
|
||||||
|
from .models import Message
|
||||||
|
from django.template.loader import render_to_string
|
||||||
|
from django.core.mail import EmailMultiAlternatives
|
||||||
|
|
||||||
|
|
||||||
|
class ContactUsForm(forms.ModelForm):
|
||||||
|
error_css_class = 'autofocus'
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = Message
|
||||||
|
fields = ['name', 'email', 'phone_number', 'message']
|
||||||
|
widgets = {
|
||||||
|
'name': forms.TextInput(attrs={'class': u'form-control'}),
|
||||||
|
'email': forms.TextInput(attrs={'class': u'form-control'}),
|
||||||
|
'phone_number': forms.TextInput(attrs={'class': u'form-control'}),
|
||||||
|
'message': forms.Textarea(attrs={'class': u'form-control'}),
|
||||||
|
}
|
||||||
|
|
||||||
|
def send_email(self):
|
||||||
|
text_content = render_to_string('emails/contact.txt', {'data': self.cleaned_data})
|
||||||
|
html_content = render_to_string('emails/contact.html', {'data': self.cleaned_data})
|
||||||
|
email = EmailMultiAlternatives('Subject', text_content)
|
||||||
|
email.attach_alternative(html_content, "text/html")
|
||||||
|
email.to = ['info@digitalglarus.ch']
|
||||||
|
email.send()
|
BIN
digitalglarus/locale/de/LC_MESSAGES/django.mo
Normal file
BIN
digitalglarus/locale/de/LC_MESSAGES/django.mo
Normal file
Binary file not shown.
43
digitalglarus/locale/de/LC_MESSAGES/django.po
Normal file
43
digitalglarus/locale/de/LC_MESSAGES/django.po
Normal file
|
@ -0,0 +1,43 @@
|
||||||
|
# SOME DESCRIPTIVE TITLE.
|
||||||
|
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||||
|
# This file is distributed under the same license as the PACKAGE package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||||
|
#
|
||||||
|
#, fuzzy
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: PACKAGE VERSION\n"
|
||||||
|
"Report-Msgid-Bugs-To: \n"
|
||||||
|
"POT-Creation-Date: 2016-04-09 02:43-0500\n"
|
||||||
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
|
"Language: \n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||||
|
|
||||||
|
#: cms_plugins.py:9
|
||||||
|
msgid "Digital Glarus Gallery"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: cms_plugins.py:21
|
||||||
|
msgid "Digital Glarus Supporters"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: urls.py:8
|
||||||
|
msgid "contact/?$"
|
||||||
|
msgstr "kontakt/?$"
|
||||||
|
|
||||||
|
#: urls.py:9
|
||||||
|
msgid "supporters/?$"
|
||||||
|
msgstr "befurworter/?$"
|
||||||
|
|
||||||
|
#: urls.py:10
|
||||||
|
msgid "support-us/?$"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#: views.py:23
|
||||||
|
msgid "Message Successfully Sent"
|
||||||
|
msgstr ""
|
20
digitalglarus/migrations/0005_auto_20160407_0519.py
Normal file
20
digitalglarus/migrations/0005_auto_20160407_0519.py
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# Generated by Django 1.9.4 on 2016-04-07 05:19
|
||||||
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
from django.db import migrations, models
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('digitalglarus', '0004_dggallery_dggalleryplugin_dgpicture_dgsupportersplugin_supporter'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
migrations.AlterField(
|
||||||
|
model_name='message',
|
||||||
|
name='received_date',
|
||||||
|
field=models.DateTimeField(auto_now_add=True),
|
||||||
|
),
|
||||||
|
]
|
|
@ -8,8 +8,7 @@ class Message(models.Model):
|
||||||
email = models.EmailField()
|
email = models.EmailField()
|
||||||
phone_number = models.CharField(max_length=200)
|
phone_number = models.CharField(max_length=200)
|
||||||
message = models.TextField()
|
message = models.TextField()
|
||||||
|
received_date = models.DateTimeField(auto_now_add=True)
|
||||||
received_date = models.DateTimeField('date received')
|
|
||||||
|
|
||||||
def __str__(self):
|
def __str__(self):
|
||||||
return "%s - %s - %s" % (self.name, self.email, self.received_date)
|
return "%s - %s - %s" % (self.name, self.email, self.received_date)
|
||||||
|
@ -26,6 +25,7 @@ class Supporter(models.Model):
|
||||||
return reverse('dgSupporters_view', args=[self.pk])
|
return reverse('dgSupporters_view', args=[self.pk])
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
class DGGallery(models.Model):
|
class DGGallery(models.Model):
|
||||||
parent = models.ForeignKey('self', blank=True, null=True)
|
parent = models.ForeignKey('self', blank=True, null=True)
|
||||||
name = models.CharField(max_length=30)
|
name = models.CharField(max_length=30)
|
||||||
|
|
BIN
digitalglarus/static/digitalglarus/img/thank-you.png
Normal file
BIN
digitalglarus/static/digitalglarus/img/thank-you.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 557 KiB |
|
@ -109,7 +109,7 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-lg-12 text-center">
|
<div class="col-lg-12 text-center">
|
||||||
<p class="text-center">Copyright © <a href="http://www.ungleich.ch">ungleich GmbH
|
<p class="text-center">Copyright © <a href="http://www.ungleich.ch">ungleich GmbH
|
||||||
2015</a></p>
|
{% now "Y" %}</a></p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -6,17 +6,26 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<hr>
|
{% for message in messages %}
|
||||||
|
<div class="alert alert-success alert-dismissible" role="alert">
|
||||||
|
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
|
||||||
|
<strong>{{ message }}</strong>
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
<hr>
|
||||||
<h2 class="intro-text text-center">
|
<h2 class="intro-text text-center">
|
||||||
{% placeholder 'digital_glarus_contact' %}
|
{% static_placeholder "digital_glarus_contact_title" %}
|
||||||
</h2>
|
</h2>
|
||||||
<hr>
|
<hr>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-8">
|
<div class="col-md-8">
|
||||||
{% placeholder 'digital_glarus_contact_content' %}
|
<p>
|
||||||
|
{% static_placeholder "digital_glarus_contact_location" %}
|
||||||
|
</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-4">
|
<div class="col-md-4">
|
||||||
{% placeholder 'digital_glarus_contact_information' %}
|
{% static_placeholder "digital_glarus_contact_information" %}
|
||||||
|
<div class="clearfix"> </div>
|
||||||
</div>
|
</div>
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -25,41 +34,46 @@
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="box">
|
<div class="box">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<hr>
|
<hr>
|
||||||
<h2 class="intro-text text-center">Contact
|
<h2 class="intro-text text-center">
|
||||||
<strong>form</strong>
|
{% static_placeholder "digital_glarus_contact_form_title" %}
|
||||||
</h2>
|
</h2>
|
||||||
<hr>
|
<hr>
|
||||||
<p>If you want further information on Digital Glarus, please send us a message using the form below.</p>
|
<p>{% static_placeholder "digital_glarus_contact_form_text" %}</p>
|
||||||
<form action="{% url 'digitalglarus:contact' %}" method="post" role="form">
|
<form action="" method="post" >
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="form-group col-lg-4">
|
<div autofocus class="form-group col-lg-4 {% if form.name.errors %}has-error text-danger{% endif %}">
|
||||||
<label>Name</label>
|
{{ form.name.label_tag }}
|
||||||
<input type="text" class="form-control" name="name">
|
{{ form.name }}
|
||||||
</div>
|
{{ form.name.errors|striptags}}
|
||||||
<div class="form-group col-lg-4">
|
</div>
|
||||||
<label>Email Address</label>
|
<div class="form-group col-lg-4 {% if form.email.errors %}has-error text-danger {% endif %}">
|
||||||
<input type="email" class="form-control" name="email">
|
{{ form.email.label_tag }}
|
||||||
</div>
|
{{ form.email }}
|
||||||
<div class="form-group col-lg-4">
|
{{ form.email.errors|striptags}}
|
||||||
<label>Phone Number</label>
|
</div>
|
||||||
<input type="tel" class="form-control" name="phone_number">
|
<div class="form-group col-lg-4 {% if form.phone_number.errors %}has-error text-danger {% endif %}">
|
||||||
</div>
|
{{ form.phone_number.label_tag }}
|
||||||
<div class="clearfix"></div>
|
{{ form.phone_number }}
|
||||||
<div class="form-group col-lg-12">
|
{{ form.phone_number.errors|striptags}}
|
||||||
<label>Message</label>
|
</div>
|
||||||
<textarea class="form-control" rows="6" name="message"></textarea>
|
<div class="clearfix"></div>
|
||||||
</div>
|
<div class="form-group col-lg-12 {% if form.message.errors %}has-error text-danger {% endif %}">
|
||||||
<div class="form-group col-lg-12">
|
{{ form.message.label_tag }}
|
||||||
<input type="hidden" name="save" value="contact">
|
{{ form.message }}
|
||||||
<button type="submit" class="btn btn-default">Submit</button>
|
{{ form.message.errors|striptags}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
{{ form.non_field_errors }}
|
||||||
</form>
|
<div class="form-group col-lg-12">
|
||||||
|
<input type="hidden" name="save" value="contact">
|
||||||
|
<button type="submit" class="btn btn-default" {% if form.name.errors %} autofocus {% endif %}>Submit</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
<!-- -->
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<!-- /.container -->
|
<!-- /.container -->
|
||||||
{% endblock %}
|
{% endblock %}
|
15
digitalglarus/templates/emails/contact.html
Normal file
15
digitalglarus/templates/emails/contact.html
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
|
||||||
|
<<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title></title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
Name:{{data.name}}<br/>
|
||||||
|
Email:{{data.email}}<br/>
|
||||||
|
Phone number:{{data.phone_number}}<br/>
|
||||||
|
Message:{{data.message}}<br/>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
15
digitalglarus/templates/emails/contact.txt
Normal file
15
digitalglarus/templates/emails/contact.txt
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
|
||||||
|
<<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title></title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
|
||||||
|
Name:{{data.name}}<br/>
|
||||||
|
Email:{{data.email}}<br/>
|
||||||
|
Phone number:{{data.phone_number}}<br/>
|
||||||
|
Message:{{data.message}}<br/>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
24
digitalglarus/templates/support.html
Normal file
24
digitalglarus/templates/support.html
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{% extends "base_glarus.html" %}
|
||||||
|
{% load staticfiles %}
|
||||||
|
{% load cms_tags %}
|
||||||
|
{% block title %}About{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
<div class="row">
|
||||||
|
<div class="box">
|
||||||
|
<div class="col-lg-12">
|
||||||
|
<hr>
|
||||||
|
<h2 class="text-center">
|
||||||
|
{% static_placeholder "digital_glarus_supporters_become_supporter" %}
|
||||||
|
</h2>
|
||||||
|
<hr>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-7 col-md-offset-3">
|
||||||
|
{% static_placeholder "digital_glarus_support_info" %}
|
||||||
|
</div>
|
||||||
|
<div class="clearfix"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- /.container -->
|
||||||
|
|
||||||
|
{% endblock %}
|
|
@ -5,24 +5,31 @@
|
||||||
{% block content %}
|
{% block content %}
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="box">
|
<div class="box">
|
||||||
|
<img class="img-responsive img-full" src="{% static 'digitalglarus/img/thank-you.png' %}" alt="">
|
||||||
<div class="col-lg-12">
|
<div class="col-lg-12">
|
||||||
<hr>
|
<hr>
|
||||||
<h2 class="intro-text text-center">
|
<h2 class="text-center">
|
||||||
Supporters
|
Supporters
|
||||||
</h2>
|
</h2>
|
||||||
<hr>
|
<hr>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
{% for supporter in supporters %}
|
<div class="text-center">
|
||||||
<div class="col-md-6">
|
<h3>HERE ARE OUR PROUD SUPPORTERS OF PROJECT DIGITALGLARUS!</h3>
|
||||||
<div class="thumbnail">
|
<p class="text-center">Thanks to our supporters, the first cowerking space in Glarus will have a new look!</p>
|
||||||
<div class="caption">
|
|
||||||
<h3>{{supporter.name}}</h3>
|
|
||||||
<p>{{supporter.description}}</p>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
{% endfor %}
|
</div>
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="text-center">
|
||||||
|
{% for supporter in supporters %}
|
||||||
|
<div class="caption">
|
||||||
|
<h3>{{supporter.name}}</h3>
|
||||||
|
</div>
|
||||||
|
{% endfor %}
|
||||||
|
<hr>
|
||||||
|
<a class="btn btn-default" href="{% url 'digitalglarus:support' %}" role="button">BECOME A SUPPORTER</a>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="clearfix"></div>
|
<div class="clearfix"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -1,11 +1,13 @@
|
||||||
from django.conf.urls import url
|
from django.conf.urls import url
|
||||||
|
|
||||||
|
from django.utils.translation import ugettext_lazy as _
|
||||||
from . import views
|
from . import views
|
||||||
|
from .views import ContactView
|
||||||
|
|
||||||
urlpatterns = [
|
urlpatterns = [
|
||||||
url(r'old_contact$', views.contact, name='contact'),
|
url(_(r'contact/?$'), ContactView.as_view(), name='contact'),
|
||||||
url(r'supporters/$', views.supporters, name='supporters'),
|
url(_(r'supporters/?$'), views.supporters, name='supporters'),
|
||||||
# url(r'', views.index, name='index'),
|
url(_(r'support-us/?$'), views.support, name='support'),
|
||||||
url(r'^blog/(?P<slug>\w[-\w]*)/$', views.blog_detail, name='blog-detail'),
|
url(r'^blog/(?P<slug>\w[-\w]*)/$', views.blog_detail, name='blog-detail'),
|
||||||
url(r'blog/$',views.blog,name='blog'),
|
url(r'blog/$', views.blog, name='blog'),
|
||||||
]
|
]
|
||||||
|
|
|
@ -7,14 +7,26 @@ from django.core.urlresolvers import reverse
|
||||||
from django.utils.translation import get_language
|
from django.utils.translation import get_language
|
||||||
from djangocms_blog.models import Post
|
from djangocms_blog.models import Post
|
||||||
from django.core.urlresolvers import resolve
|
from django.core.urlresolvers import resolve
|
||||||
|
from django.contrib import messages
|
||||||
|
from django.utils.translation import ugettext as _
|
||||||
|
|
||||||
|
|
||||||
from .models import Message, Supporter
|
from .models import Message, Supporter
|
||||||
|
from .forms import ContactUsForm
|
||||||
|
from django.views.generic.edit import FormView
|
||||||
|
|
||||||
class MessageForm(ModelForm):
|
|
||||||
required_css_class = 'form-control'
|
class ContactView(FormView):
|
||||||
class Meta:
|
template_name = 'contact.html'
|
||||||
model = Message
|
form_class = ContactUsForm
|
||||||
fields = ['name', 'email', 'phone_number', 'message' ]
|
success_url = '/digitalglarus/contact/'
|
||||||
|
success_message = _('Message Successfully Sent')
|
||||||
|
|
||||||
|
def form_valid(self, form):
|
||||||
|
form.save()
|
||||||
|
form.send_email()
|
||||||
|
messages.add_message(self.request, messages.SUCCESS, self.success_message)
|
||||||
|
return super(ContactView, self).form_valid(form)
|
||||||
|
|
||||||
|
|
||||||
def detail(request, message_id):
|
def detail(request, message_id):
|
||||||
|
@ -41,24 +53,6 @@ def home(request):
|
||||||
def letscowork(request):
|
def letscowork(request):
|
||||||
return render(request, 'digitalglarus/letscowork.html')
|
return render(request, 'digitalglarus/letscowork.html')
|
||||||
|
|
||||||
def contact(request):
|
|
||||||
message = Message(received_date=datetime.datetime.now())
|
|
||||||
form = MessageForm(request.POST, instance=message)
|
|
||||||
|
|
||||||
if request.method == 'POST':
|
|
||||||
|
|
||||||
if form.is_valid():
|
|
||||||
form.save()
|
|
||||||
return HttpResponseRedirect(reverse("digitalglarus:contact"))
|
|
||||||
|
|
||||||
# form = MessageForm()
|
|
||||||
|
|
||||||
context = {
|
|
||||||
'form': form,
|
|
||||||
}
|
|
||||||
|
|
||||||
return render(request, 'digitalglarus/contact.html', context)
|
|
||||||
|
|
||||||
|
|
||||||
def blog(request):
|
def blog(request):
|
||||||
tags = ["digitalglarus"]
|
tags = ["digitalglarus"]
|
||||||
|
@ -80,6 +74,10 @@ def blog_detail(request, slug):
|
||||||
return render(request, 'glarus_blog/post_detail.html', context)
|
return render(request, 'glarus_blog/post_detail.html', context)
|
||||||
|
|
||||||
|
|
||||||
|
def support(request):
|
||||||
|
return render(request, 'support.html')
|
||||||
|
|
||||||
|
|
||||||
def supporters(request):
|
def supporters(request):
|
||||||
context = {
|
context = {
|
||||||
'supporters': Supporter.objects.order_by('name')
|
'supporters': Supporter.objects.order_by('name')
|
||||||
|
|
|
@ -82,18 +82,18 @@ INSTALLED_APPS = (
|
||||||
'djangocms_file',
|
'djangocms_file',
|
||||||
'djangocms_picture',
|
'djangocms_picture',
|
||||||
'djangocms_video',
|
'djangocms_video',
|
||||||
'djangocms_flash',
|
# 'djangocms_flash',
|
||||||
'djangocms_googlemap',
|
# 'djangocms_googlemap',
|
||||||
'djangocms_inherit',
|
# 'djangocms_inherit',
|
||||||
'djangocms_link',
|
# 'djangocms_link',
|
||||||
'djangocms_teaser',
|
# 'djangocms_teaser',
|
||||||
'djangocms_page_meta',
|
'djangocms_page_meta',
|
||||||
'djangocms_text_ckeditor',
|
'djangocms_text_ckeditor',
|
||||||
'djangocms_admin_style',
|
'djangocms_admin_style',
|
||||||
'cmsplugin_filer_file',
|
'cmsplugin_filer_file',
|
||||||
'cmsplugin_filer_folder',
|
'cmsplugin_filer_folder',
|
||||||
'cmsplugin_filer_link',
|
'cmsplugin_filer_link',
|
||||||
'cmsplugin_filer_teaser',
|
# 'cmsplugin_filer_teaser',
|
||||||
'cmsplugin_filer_video',
|
'cmsplugin_filer_video',
|
||||||
#
|
#
|
||||||
#blog
|
#blog
|
||||||
|
@ -178,6 +178,9 @@ DATABASES = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Internationalization
|
# Internationalization
|
||||||
# https://docs.djangoproject.com/en/1.7/topics/i18n/
|
# https://docs.djangoproject.com/en/1.7/topics/i18n/
|
||||||
|
|
||||||
|
@ -196,6 +199,11 @@ LANGUAGES = (
|
||||||
|
|
||||||
LANGUAGE_CODE = 'en-us'
|
LANGUAGE_CODE = 'en-us'
|
||||||
|
|
||||||
|
LOCALE_PATHS = [
|
||||||
|
|
||||||
|
os.path.join(PROJECT_DIR,'digitalglarus/locale'),
|
||||||
|
]
|
||||||
|
|
||||||
CMS_PLACEHOLDER_CONF = {
|
CMS_PLACEHOLDER_CONF = {
|
||||||
'logo_image': {
|
'logo_image': {
|
||||||
'name': 'Logo Image',
|
'name': 'Logo Image',
|
||||||
|
|
Loading…
Reference in a new issue