Jan Dittberner
6cebd80c89
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.
50 lines
1.3 KiB
Python
50 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'
|