fefa4ka 11 years ago
parent f6b40c3b16
commit 84e584d797
  1. 6
      app/settings.py
  2. 24
      djangocms_forms/cms_plugins.py
  3. 11
      djangocms_forms/forms.py
  4. 4
      djangocms_forms/templates/djangocms_forms/form_template/results.html
  5. 15
      zsite/static/less/service.less

@ -135,6 +135,7 @@ TEMPLATE_LOADERS = (
'django.template.loaders.app_directories.Loader', 'django.template.loaders.app_directories.Loader',
) )
MIDDLEWARE_CLASSES = ( MIDDLEWARE_CLASSES = (
'django.contrib.sessions.middleware.SessionMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware', 'django.middleware.csrf.CsrfViewMiddleware',
@ -317,6 +318,11 @@ CMS_TEMPLATES = (
('about.html', 'About company section'), ('about.html', 'About company section'),
) )
DJANGOCMS_FORMS_TEMPLATES = (
('djangocms_forms/form_template/default.html', 'Default'),
('form_template/consultation.html', 'Consultation'),
)
CMS_PERMISSION = True CMS_PERMISSION = True

@ -8,7 +8,7 @@ from django.utils.translation import ugettext_lazy as _
from .conf import settings from .conf import settings
from .forms import FormBuilder, FormDefinitionAdminForm, FormFieldInlineForm from .forms import FormBuilder, FormDefinitionAdminForm, FormFieldInlineForm
from .models import FormDefinition, FormField from .models import FormDefinition, FormField, FormSubmission
class FormFieldInline(admin.StackedInline): class FormFieldInline(admin.StackedInline):
@ -115,3 +115,25 @@ class FormPlugin(CMSPluginBase):
plugin_pool.register_plugin(FormPlugin) plugin_pool.register_plugin(FormPlugin)
class FormResultsPlugin(CMSPluginBase):
name = 'Form Results'
module = settings.DJANGOCMS_FORMS_PLUGIN_MODULE
cache = False
render_template = 'djangocms_forms/form_template/results.html'
def render(self, context, instance, placeholder):
context = super(FormResultsPlugin, self).render(context, instance, placeholder)
request = context['request']
if request.session.get('last-completed-form-id', False):
try:
form_instance = FormSubmission.objects.get(id=request.session.get('last-completed-form-id', False))
context['results'] = form_instance
except (FormSubmission.DoesNotExist):
pass
return context
plugin_pool.register_plugin(FormResultsPlugin)

@ -269,6 +269,7 @@ class FormBuilder(forms.Form):
for data in form_data: for data in form_data:
if data['name'] == 'end_session': if data['name'] == 'end_session':
request.session[form_slug] = None request.session[form_slug] = None
request.session['last-completed-form-id'] = form_instance.id
return return
except (FormSubmission.DoesNotExist): except (FormSubmission.DoesNotExist):
pass pass
@ -282,6 +283,16 @@ class FormBuilder(forms.Form):
request.session[form_slug] = form_instance.id request.session[form_slug] = form_instance.id
def email_submission(self, form_data, request, referrer): def email_submission(self, form_data, request, referrer):
# Отправляем, только если конец сессии
send = False
for data in form_data:
if data['name'] == 'end_session':
request.session[form_slug] = None
send = True
if not send:
return
mail_to = re.compile('\s*[,;]+\s*').split(self.form_definition.email_to) mail_to = re.compile('\s*[,;]+\s*').split(self.form_definition.email_to)
mail_from = self.form_definition.email_from or None mail_from = self.form_definition.email_from or None
mail_subject = self.form_definition.email_subject or \ mail_subject = self.form_definition.email_subject or \

@ -0,0 +1,4 @@
{% load cms_tags djangocms_forms_tags i18n sekizai_tags staticfiles %}
<h1>Ваше обращение <strong>№ {{ results.id }}</strong> зарегистрировано</h1>

@ -7,9 +7,14 @@
opacity: .8; opacity: .8;
} }
.service-timeline .arrow { .service-timeline {
font-size: 33px; // li {
vertical-align: text-bottom; // vertical-align: top;
// }
.arrow {
font-size: 33px;
vertical-align: text-bottom;
}
} }
.service-finish p { .service-finish p {
@ -33,6 +38,10 @@
h3 { h3 {
font-weight: 600; font-weight: 600;
} }
.description {
margin-bottom: 5px;
}
} }
.bill { .bill {

Loading…
Cancel
Save