X-Git-Url: https://git.mdrn.pl/prawokultury.git/blobdiff_plain/548d9fe735b1c4f04c296f01a3bf73149f627005..afdd99a2a932f84fb4c64ac456eba7961904fdfb:/questions/models.py diff --git a/questions/models.py b/questions/models.py index 47dc697..b441a00 100644 --- a/questions/models.py +++ b/questions/models.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 from datetime import datetime +from django.conf import settings from django.contrib.sites.models import Site from django.core.mail import EmailMultiAlternatives from django.db import models @@ -11,6 +12,7 @@ class Question(models.Model): email = models.EmailField(_('contact e-mail'), null=True, blank=True) question = models.TextField(_('question'), db_index=True) created_at = models.DateTimeField(_('created at'), auto_now_add=True) + changed_at = models.DateTimeField(_('changed at'), auto_now=True) approved = models.BooleanField(_('approved'), default=False) edited_question = models.TextField(_('edited question'), db_index=True, null=True, blank=True, help_text=_("Leave empty if question doesn't need editing.")) @@ -25,6 +27,8 @@ class Question(models.Model): class Meta: ordering = ['-created_at'] + verbose_name = _('question') + verbose_name_plural = _('questions') def __unicode__(self): return self.edited_question or self.question @@ -51,11 +55,33 @@ 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 if self.answered and not self.answered_at: - self.notify_author() + notify = True self.answered_at = now if self.published and not self.published_at: self.published_at = now - super(Question, self).save(*args, **kwargs) + ret = super(Question, self).save(*args, **kwargs) + if notify: + self.notify_author() + return ret