diff --git a/extras/website/website/forms.py b/extras/website/website/forms.py index f7c81ca86..7bcf54e9d 100644 --- a/extras/website/website/forms.py +++ b/extras/website/website/forms.py @@ -1,17 +1,29 @@ from django import forms - -TOPIC_CHOICES = ( - ('question', 'General question'), - ('bug', 'Bug report'), - ('reference', 'Add OpenSlides reference'), -) +from django.utils.translation import ugettext as _ class ContactForm(forms.Form): error_css_class = 'error' required_css_class = 'required' - topic = forms.ChoiceField(choices=TOPIC_CHOICES) - subject = forms.CharField(max_length=100) - message = forms.CharField() - sender = forms.EmailField() - cc_myself = forms.BooleanField(required=False) + subject = forms.CharField(label=_("Betreff")) + message = forms.CharField(widget=forms.Textarea(), label=_("Nachricht")) + sender = forms.EmailField(label=_("Absender")) + cc_myself = forms.BooleanField(required=False,label=_("Kopie an meine Adresse")) +class OrderEventForm(forms.Form): + error_css_class = 'error' + required_css_class = 'required' + event_name = forms.CharField(label=_("Veranstaltungsname")) + event_description = forms.CharField(max_length=100, label=_("Kurzbeschreibung der Veranstaltung")) + event_date = forms.CharField(label=_("Veranstaltungszeitraum")) + event_location = forms.CharField(label=_("Veranstaltungsort")) + +class OrderContactForm(forms.Form): + error_css_class = 'error' + required_css_class = 'required' + contact_organisation = forms.CharField(label=_("Organisation")) + contact_street = forms.CharField(label=_("Strasse")) + contact_postcode = forms.CharField(label=_("PLZ")) + contact_location = forms.CharField(label=_("Ort")) + contact_name = forms.CharField(label=_("Ansprechpartner")) + contact_phone = forms.CharField(label=_("Telefon")) + contact_email = forms.EmailField(label=_("E-Mail")) diff --git a/extras/website/website/settings.py b/extras/website/website/settings.py index 78c5f5ee3..c2d38e3d2 100644 --- a/extras/website/website/settings.py +++ b/extras/website/website/settings.py @@ -23,6 +23,8 @@ DATABASES = { SITE_ROOT = os.path.realpath(os.path.dirname(__file__)) +EMAIL_HOST = "localhost" + # Local time zone for this installation. Choices can be found here: # http://en.wikipedia.org/wiki/List_of_tz_zones_by_name # although not all choices may be available on all operating systems. diff --git a/extras/website/website/static/css/style.css b/extras/website/website/static/css/style.css index 788f99774..16e89500e 100755 --- a/extras/website/website/static/css/style.css +++ b/extras/website/website/static/css/style.css @@ -177,3 +177,7 @@ form .error input, form .error textarea { float: left; margin-right: 20px; } + +input, textarea { + width: 380px; +} \ No newline at end of file diff --git a/extras/website/website/templates/home.html b/extras/website/website/templates/home.html index fa12df922..57a2f0abe 100644 --- a/extras/website/website/templates/home.html +++ b/extras/website/website/templates/home.html @@ -13,25 +13,29 @@ {% block container %}
-
- -
- +
+

OpenSlides


-

Mehr Transparenz.
Mehr Offenheit.
Mehr Effizienz.
+

Mehr Transparenz.
Mehr Flexibilität.
Mehr Effizienz.
Die Lösung für Ihre Versammlung!



- - Download » + + Download - + Demo

- +
+
+
+ +
+
+
diff --git a/extras/website/website/templates/order-form.html b/extras/website/website/templates/order-form.html new file mode 100644 index 000000000..34f30c28f --- /dev/null +++ b/extras/website/website/templates/order-form.html @@ -0,0 +1,58 @@ +{% extends "base.html" %} + +{% load i18n %} + +{% block title %}{{ block.super }} - {% trans "Bestellformular" %}{% endblock %} +{% block headline %}{% trans "Bestellformular" %}{% endblock %} + +{% block mainmenu_pricing %}active{% endblock %} + +{% block lead %} +Supportpaket OpenSlides + +{% if package == '1' %}Starter{% endif %} +{% if package == '2' %}Business{% endif %} +{% if package == '3' %}Premium{% endif %} + +{% endblock %} + +{% block content %} + +
+
+
{% csrf_token %} +
+ {% trans "Ihre Veranstaltung" %} + + {{ form_event.as_p }} +
+ +
+ {% trans "Ihre Kontaktdaten" %} + {{ form_contact.as_p }} +
+ +
+
+
+

OpenSlides {% if package == '1' %}Starter{% endif %} + {% if package == '2' %}Business{% endif %} + {% if package == '3' %}Premium{% endif %} +

+

+ {% if package == '1' %}TODO,-{% endif %} + {% if package == '2' %}TODO,-{% endif %} + {% if package == '3' %}TODO,-{% endif %} € + zzgl. 19% MwSt.

+ +
+

Haben Sie noch Fragen?

+

Emanuel Schütze
+ Intevation GmbH
+ Neuer Graben 17
+ D-49074 Osnabrück
+ E-Mail: emanuel.schuetze@intevation.de
+ Tel: ++49-541-335083-746

+
+
+{% endblock %} diff --git a/extras/website/website/templates/pricing.html b/extras/website/website/templates/pricing.html index cc848db02..0dab55cea 100644 --- a/extras/website/website/templates/pricing.html +++ b/extras/website/website/templates/pricing.html @@ -2,7 +2,7 @@ {% load i18n %} -{% block title %}{{ block.super }} - Support{% endblock %} +{% block title %}{{ block.super }} - {% trans "Preise" %}{% endblock %} {% block headline %}Preise{% endblock %} {% block mainmenu_pricing %}active{% endblock %} @@ -31,11 +31,11 @@ Die Intevation GmbH bietet Ihnen professionelle

TODO,- € zzgl. 19% MwSt.

-

Bestellen

+

Bestellen

TODO,- €zzgl. 19% MwSt.

-

Bestellen

+

Bestellen

TODO,- €zzgl. 19% MwSt.

-

Bestellen

+

Bestellen

Lizenzkostenfreie NutzungOpenSlides diff --git a/extras/website/website/templates/thanks-order.html b/extras/website/website/templates/thanks-order.html new file mode 100644 index 000000000..b6e9facb4 --- /dev/null +++ b/extras/website/website/templates/thanks-order.html @@ -0,0 +1,18 @@ +{% extends "base.html" %} + +{% load i18n %} + +{% block title %}{{ block.super }} - Bestellbestätigung{% endblock %} +{% block headline %}Danke für Ihre Bestellung!{% endblock %} + +{% block mainmenu_pricing %}active{% endblock %} + +{% block lead %} +Vielen Dank für die Bestellung Ihres OpenSlides-Supportpakets! +Sie werden in Kürze von uns Antwort erhalten. +{% endblock %} + +{% block content %} +

Ein USB-Stick mit Ihrer individuell vorkonfigurierten OpenSlides-Installation wird erstellt.

+ +{% endblock %} diff --git a/extras/website/website/urls.py b/extras/website/website/urls.py index 919a5ce30..0387dff63 100644 --- a/extras/website/website/urls.py +++ b/extras/website/website/urls.py @@ -18,6 +18,8 @@ urlpatterns = i18n_patterns('', url(r'^about/press$', TemplateView.as_view(template_name="press.html"), name='press',), url(r'^download/$', TemplateView.as_view(template_name="download.html"), name='download',), url(r'^pricing/$', TemplateView.as_view(template_name="pricing.html"), name='pricing',), + url(r'^pricing/order/(?P\d{1})$', 'website.views.orderform', name='orderform',), + url(r'^pricing/thanks$', TemplateView.as_view(template_name="thanks-order.html"), name='thanksorder',), url(r'^manual/$', TemplateView.as_view(template_name="manual.html"), name='manual',), url(r'^faq/$', TemplateView.as_view(template_name="faq.html"), name='faq',), url(r'^development/$', TemplateView.as_view(template_name="development.html"), name='development',), diff --git a/extras/website/website/views.py b/extras/website/website/views.py index d13320781..f7db1edda 100644 --- a/extras/website/website/views.py +++ b/extras/website/website/views.py @@ -2,19 +2,12 @@ from django.shortcuts import render_to_response, render from django.http import HttpResponseRedirect -from website.forms import ContactForm - -#class TemplateView(TemplateView): -# def get_context_data(self, **kwargs): -# context = super(TemplateView, self).get_context_data(**kwargs) -# context[request] = self.request -# return context - +from website.forms import ContactForm, OrderEventForm, OrderContactForm def contactform(request): - if request.method == 'POST': # If the form has been submitted... - form = ContactForm(request.POST) # A form bound to the POST data - if form.is_valid(): # All validation rules pass + if request.method == 'POST': + form = ContactForm(request.POST) + if form.is_valid(): subject = form.cleaned_data['subject'] message = form.cleaned_data['message'] sender = form.cleaned_data['sender'] @@ -22,13 +15,42 @@ def contactform(request): recipients = ['emanuel@intevation.de'] if cc_myself: recipients.append(sender) - from django.core.mail import send_mail send_mail(subject, message, sender, recipients) - return HttpResponseRedirect('/demo/') # Redirect after POST + return HttpResponseRedirect('/contact/') else: - form = ContactForm() # An unbound form - + form = ContactForm() return render(request, 'contact-form.html', { 'form': form, }) + + +def orderform(request, package='2'): + if request.method == 'POST': + form_event = OrderEventForm(request.POST) + form_contact = OrderContactForm(request.POST) + if form_event.is_valid() and form_contact.is_valid(): + # event + event_name = form_event.cleaned_data['event_name'] + event_description = form_event.cleaned_data['event_description'] + event_date = form_event.cleaned_data['event_date'] + event_location = form_event.cleaned_data['event_location'] + # contact + contact_name = form_contact.cleaned_data['contact_name'] + contact_phone = form_contact.cleaned_data['contact_phone'] + contact_email = form_contact.cleaned_data['contact_email'] + # mail + recipients = ['emanuel@intevation.de'] +# recipients.append(contact_email) + message = "%s" % event_name + from django.core.mail import send_mail + send_mail("Bestellung", message, contact_email, recipients) + return HttpResponseRedirect('/pricing/thanks') + else: + form_event = OrderEventForm() + form_contact = OrderContactForm() + return render(request, 'order-form.html', { + 'form_event': form_event, + 'form_contact': form_contact, + 'package': package, + })