From afdd99a2a932f84fb4c64ac456eba7961904fdfb Mon Sep 17 00:00:00 2001 From: Radek Czajka Date: Tue, 15 Jan 2013 15:23:54 +0100 Subject: [PATCH] acknowledge question asked --- questions/forms.py | 6 +++++- questions/models.py | 18 ++++++++++++++++++ questions/templates/questions/ack_mail.html | 16 ++++++++++++++++ questions/templates/questions/ack_mail.txt | 15 +++++++++++++++ 4 files changed, 54 insertions(+), 1 deletion(-) create mode 100755 questions/templates/questions/ack_mail.html create mode 100755 questions/templates/questions/ack_mail.txt diff --git a/questions/forms.py b/questions/forms.py index 02c37c5..77ea6e7 100755 --- a/questions/forms.py +++ b/questions/forms.py @@ -7,4 +7,8 @@ class QuestionForm(ModelForm): class Meta: model = Question fields = ['email', 'question'] - # TODO: honeypot! + + def save(self, *args, **kwargs): + instance = super(QuestionForm, self).save(*args, **kwargs) + instance.ack_author() + return instance diff --git a/questions/models.py b/questions/models.py index 06addd3..b441a00 100644 --- a/questions/models.py +++ b/questions/models.py @@ -55,6 +55,24 @@ class Question(models.Model): msg.attach_alternative(html_content, "text/html") msg.send() + def ack_author(self): + if not self.email: + return + site = Site.objects.get_current() + context = Context({ + 'question': self, + 'site': site, + }) + text_content = loader.get_template('questions/ack_mail.txt' + ).render(context) + html_content = loader.get_template('questions/ack_mail.html' + ).render(context) + msg = EmailMultiAlternatives( + u'Twoje pytanie zostało zarejestrowane w serwisie %s.' % site.domain, + text_content, settings.SERVER_EMAIL, [self.email]) + msg.attach_alternative(html_content, "text/html") + msg.send() + def save(self, *args, **kwargs): now = datetime.now() notify = False diff --git a/questions/templates/questions/ack_mail.html b/questions/templates/questions/ack_mail.html new file mode 100755 index 0000000..cfd33f8 --- /dev/null +++ b/questions/templates/questions/ack_mail.html @@ -0,0 +1,16 @@ +{% load i18n %}{% language 'pl' %} +

{{ question.created_at }} zarejestrowaliśmy w serwisie PrawoKultury.pl Twoje pytanie:

+ +
{{ question.question }}
+ +

Dyżur prawnika w serwisie Prawo Kultury odbywa się we wtorki, prosimy więc +o odrobinę cierpliwości. Możemy nie być w stanie odpowiedzieć na wszystkie +pytania. Odpowiedzi są wysyłane e-mailem, ale zachęcamy też do śledzenia strony +http://PrawoKultury.pl.

+ +

Dziękujemy za skontaktowanie się z nami!

+ +

-- +
{{ site }} +
{% endlanguage %} +

\ No newline at end of file diff --git a/questions/templates/questions/ack_mail.txt b/questions/templates/questions/ack_mail.txt new file mode 100755 index 0000000..58edece --- /dev/null +++ b/questions/templates/questions/ack_mail.txt @@ -0,0 +1,15 @@ +{% load i18n %}{% language 'pl' %}{{ question.created_at }} zarejestrowaliśmy w serwisie PrawoKultury.pl Twoje pytanie: + +{{ question.question|safe }} + + +Dyżur prawnika w serwisie Prawo Kultury odbywa się we wtorki, prosimy więc +o odrobinę cierpliwości. Możemy nie być w stanie odpowiedzieć na wszystkie +pytania. Odpowiedzi są wysyłane e-mailem, ale zachęcamy też do śledzenia +strony http://PrawoKultury.pl + +Dziękujemy za skontaktowanie się z nami! + +-- +{{ site }} +{% endlanguage %} \ No newline at end of file -- 2.20.1