From 8ddc65285539840176f75b27fc496d6810d05026 Mon Sep 17 00:00:00 2001
From: Dominik George <dominik.george@teckids.org>
Date: Sun, 1 Sep 2019 22:14:16 +0200
Subject: [PATCH] Add django-contact-form, view and url routes for support
 form. Advances #44.

---
 biscuit/core/forms.py    | 8 ++++++++
 biscuit/core/settings.py | 1 +
 biscuit/core/urls.py     | 8 ++++++++
 pyproject.toml           | 1 +
 4 files changed, 18 insertions(+)

diff --git a/biscuit/core/forms.py b/biscuit/core/forms.py
index f6334c279..4605dd42c 100644
--- a/biscuit/core/forms.py
+++ b/biscuit/core/forms.py
@@ -2,6 +2,8 @@ from django import forms
 from django.contrib.auth import get_user_model
 from django.utils.translation import ugettext_lazy as _
 
+from contact_form.forms import ContactForm
+
 from .models import Person, Group
 
 
@@ -73,3 +75,9 @@ class EditGroupForm(forms.ModelForm):
         super().__init__(*args, **kwargs)
         self.fields['members'].queryset = Person.objects.all()
         self.fields['owners'].queryset = Person.objects.all()
+
+
+class SupportContactForm(ContactForm):
+    subject_template_name = 'contact_form/support/subject.txt'
+    template_name = 'contact_form/support/body.txt'
+    
\ No newline at end of file
diff --git a/biscuit/core/settings.py b/biscuit/core/settings.py
index c8fb0c97a..07667f7bf 100644
--- a/biscuit/core/settings.py
+++ b/biscuit/core/settings.py
@@ -61,6 +61,7 @@ INSTALLED_APPS = [
     'menu_generator',
     'phonenumber_field',
     'debug_toolbar',
+    'contact_form',
     'biscuit.core'
 ]
 
diff --git a/biscuit/core/urls.py b/biscuit/core/urls.py
index 529becd8a..ebd83ba70 100644
--- a/biscuit/core/urls.py
+++ b/biscuit/core/urls.py
@@ -3,10 +3,14 @@ from django.conf import settings
 from django.conf.urls.static import static
 from django.contrib import admin
 from django.urls import include, path
+from django.views.generic import TemplateView
+
+from contact_form.views import ContactFormView
 
 import debug_toolbar
 
 from . import views
+from .forms import SupportContactForm
 
 urlpatterns = [
     path('admin/', admin.site.urls),
@@ -26,6 +30,10 @@ urlpatterns = [
     path('group/<int:id_>/edit', views.edit_group, name='edit_group_by_id'),
     path('', views.index, name='index'),
     path('maintenance-mode/', include('maintenance_mode.urls')),
+    path('contact/support/', ContactFormView.as_view(form_class=SupportContactForm),
+        name='support_contact_form'))
+    path('contact/support/sent/', TemplateView.as_view(template_name='contact_form/support/sent.html'),
+        name='support_contact_form_sent'),
     path('__i18n__/', include('django.conf.urls.i18n'))
 ]
 
diff --git a/pyproject.toml b/pyproject.toml
index 8768e6df1..768f1ac01 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -42,6 +42,7 @@ django-maintenance-mode = "^0.13.3"
 django-ipware = "^2.1"
 easy-thumbnails = "^2.6"
 django-image-cropping = "^1.2"
+django-contact-form = "^1.7"
 
 [tool.poetry.extras]
 ldap = ["django-auth-ldap"]
-- 
GitLab