gva/gnuviechadmin/contact_form/views.py
Jan Dittberner 6cebd80c89 Started port to Django 2.1, Python 3, Docker
This commit is a rough port to Django 2.1, Python 3 and a Docker based local
development setup. Tests fail/error but migrations and the web frontend are
already runnable. Task queue functionality is untested and translations seem to
have trouble.
2018-11-19 23:28:40 +01:00

51 lines
1.3 KiB
Python

"""
This module defines the views of the contact_form app.
"""
from __future__ import absolute_import, unicode_literals
from django.shortcuts import redirect
from django.urls import reverse_lazy
from django.views.generic import (
FormView,
TemplateView,
)
from .forms import ContactForm
class ContactFormView(FormView):
"""
This is the contact form view.
"""
form_class = ContactForm
template_name = 'contact_form/contact_form.html'
success_url = reverse_lazy('contact_success')
def get_form_kwargs(self, **kwargs):
kwargs = super(ContactFormView, self).get_form_kwargs(**kwargs)
kwargs['request'] = self.request
return kwargs
def get_initial(self):
initial = super(ContactFormView, self).get_initial()
currentuser = self.request.user
if currentuser.is_authenticated:
initial['name'] = (
currentuser.get_full_name() or currentuser.username)
initial['email'] = currentuser.email
return initial
def form_valid(self, form):
form.save(False)
return redirect(self.get_success_url())
class ContactSuccessView(TemplateView):
"""
This view is shown after successful contact form sending.
"""
template_name = 'contact_form/contact_success.html'