diff --git a/publichealth/home/models/__init__.py b/publichealth/home/models/__init__.py index c28543d..472bee0 100644 --- a/publichealth/home/models/__init__.py +++ b/publichealth/home/models/__init__.py @@ -1,3 +1,4 @@ from .forms import * from .models import * from .snippets import * +from .settings import * diff --git a/publichealth/home/models/settings.py b/publichealth/home/models/settings.py new file mode 100644 index 0000000..64b2703 --- /dev/null +++ b/publichealth/home/models/settings.py @@ -0,0 +1,36 @@ +# -*- coding: utf-8 -*- + +from django.db import models +from django.db.models.signals import pre_save +from django.dispatch import receiver +from django.core.mail import send_mail + +from wagtail.contrib.settings.models import BaseSetting, register_setting + +@register_setting +class DataletsSettings(BaseSetting): + feedback_question = models.TextBlock( + help_text='Send us a question') + feedback_status = models.IntegerField( + choices=( + (1, _':-('), + (2, _':-|'), + (3, _':-)'), + (4, _':-D'), + ), help_text='How are you enjoying Wagtail?' + ) + feedback_comment = models.TextBlock( + help_text='Any general feedback') + class Meta: + verbose_name = 'Datalets' + +@receiver(pre_save, sender=DataletsSettings) +def handle_save_settings(sender, **kwargs): + send_mail("Response from Wagtail", + "%d\n--\n%s\n--\n%s" % ( + sender.feedback_status, + sender.feedback_question, + sender.feedback_comment, + ), "wagtail@datalets.ch", + [ "support@datalets.ch" ] + ) diff --git a/publichealth/settings/base.py b/publichealth/settings/base.py index 44c15b3..01f7441 100644 --- a/publichealth/settings/base.py +++ b/publichealth/settings/base.py @@ -28,6 +28,7 @@ INSTALLED_APPS = [ 'wagtail.contrib.wagtailsearchpromotions', 'wagtail.contrib.wagtailroutablepage', 'wagtail.contrib.wagtailsitemaps', + 'wagtail.contrib.settings', 'wagtail.wagtailforms', 'wagtail.wagtailredirects', 'wagtail.wagtailembeds',