msgstr ""
"Project-Id-Version: django-migdal 0.1\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2012-08-28 15:43+0200\n"
-"PO-Revision-Date: 2012-08-28 16:41+0100\n"
+"POT-Creation-Date: 2012-08-29 12:20+0200\n"
+"PO-Revision-Date: 2012-08-29 12:21+0100\n"
"Last-Translator: Radek Czajka <radoslaw.czajka@nowoczesnapolska.org.pl>\n"
"Language-Team: FNP <fundacja@nowoczesnapolska.org.pl>\n"
"Language: Polish\n"
msgstr "ostatnie"
#: feeds.py:32
-#: models.py:49
+#: models.py:52
msgid "entries"
msgstr "wpisy"
msgid "Content"
msgstr "Treść"
-#: models.py:14
+#: models.py:17
msgid "taxonomy"
msgstr "taksonomia"
-#: models.py:18
+#: models.py:21
msgid "category"
msgstr "kategoria"
-#: models.py:19
-#: models.py:45
+#: models.py:22
+#: models.py:48
#: urls.py:41
#: urls.py:43
msgid "categories"
msgstr "kategorie"
-#: models.py:40
+#: models.py:43
msgid "author"
msgstr "autor"
-#: models.py:41
+#: models.py:44
msgid "author email"
msgstr "e-mail autora"
-#: models.py:42
+#: models.py:45
msgid "Used only to display gravatar and send notifications."
msgstr "Używany tylko do wyświetlenia gravatara i wysyłania powiadomień."
-#: models.py:43
+#: models.py:46
msgid "image"
msgstr "obrazek"
-#: models.py:44
+#: models.py:47
msgid "promoted"
msgstr "promowane"
-#: models.py:48
+#: models.py:51
msgid "entry"
msgstr "wpis"
-#: models.py:71
+#: models.py:93
+#, python-format
+msgid "Your story has been published at %s."
+msgstr "Twój wpis został opublikowany na stronie %s."
+
+#: models.py:101
msgid "needed"
msgstr "potrzebne"
-#: models.py:72
+#: models.py:102
msgid "Unneeded"
msgstr "Niepotrzebne"
-#: models.py:72
+#: models.py:102
msgid "Needed"
msgstr "Potrzebne"
-#: models.py:72
+#: models.py:102
msgid "Done"
msgstr "Ukończone"
-#: models.py:78
+#: models.py:108
msgid "title"
msgstr "tytuł"
-#: models.py:79
+#: models.py:109
msgid "lead"
msgstr "lead"
-#: models.py:80
-#: models.py:82
+#: models.py:110
+#: models.py:112
msgid "Use <a href=\"http://textile.thresholdstate.com/\">Textile</a> syntax."
msgstr "Włączona składnia <a href=\"http://textile.thresholdstate.com/\">Textile</a>."
-#: models.py:81
+#: models.py:111
msgid "body"
msgstr "treść"
-#: models.py:83
+#: models.py:113
msgid "published"
msgstr "opublikowane"
-#: models.py:88
+#: models.py:118
msgid "file"
msgstr "plik"
+#: models.py:136
+#, python-format
+msgid "New comment under your story at %s."
+msgstr "Nowy komentarz pod Twoim wpisem na stronie %s."
+
#: urls.py:38
#: urls.py:39
msgid "submit"
# This file is part of PrawoKultury, licensed under GNU Affero GPLv3 or later.
# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information.
#
+from django.conf import settings
+from django.contrib.sites.models import Site
+from django.core.mail import send_mail
from django.db import models
+from django.template import loader, Context
from django.utils.translation import get_language, ugettext_lazy as _, ugettext
+from django_comments_xtd.models import XtdComment
from markupfield.fields import MarkupField
-from migdal.helpers import add_translatable
from migdal import app_settings
-
-
+from migdal.helpers import add_translatable
class Category(models.Model):
taxonomy = models.CharField(_('taxonomy'), max_length=32,
type = models.CharField(max_length=16,
choices=((t.db, t.slug) for t in app_settings.TYPES),
db_index=True)
- date = models.DateTimeField(auto_now_add=True, db_index=True)
+ date = models.DateTimeField(auto_now_add=True, db_index=True, editable=True)
author = models.CharField(_('author'), max_length=128)
author_email = models.EmailField(_('author email'), max_length=128, null=True, blank=True,
help_text=_('Used only to display gravatar and send notifications.'))
return self.title
def save(self, *args, **kwargs):
+ if self.pk is not None:
+ orig = type(self).objects.get(pk=self.pk)
+ published_now = False
+ for lc, ln in settings.LANGUAGES:
+ if (not getattr(orig, "published_%s" % lc) and
+ getattr(self, "published_%s" % lc)):
+ published_now = True
+ if published_now:
+ self.notify_author_published()
+
# convert blank to null for slug uniqueness check to work
for lc, ln in app_settings.OPTIONAL_LANGUAGES:
slug_name = "slug_%s" % lc
def get_type(self):
return dict(app_settings.TYPES_DICT)[self.type]
+ def notify_author_published(self):
+ if not self.author_email:
+ return
+ site = Site.objects.get_current()
+ mail_text = loader.get_template('migdal/mail/published.txt').render(
+ Context({
+ 'entry': self,
+ 'site': site,
+ }))
+ send_mail(
+ ugettext(u'Your story has been published at %s.') % site.domain,
+ mail_text, settings.SERVER_EMAIL, [self.author_email]
+ )
+
+
+
+
add_translatable(Entry, languages=app_settings.OPTIONAL_LANGUAGES, fields={
'needed': models.CharField(_('needed'), max_length=1, db_index=True, choices=(
('n', _('Unneeded')), ('w', _('Needed')), ('y', _('Done'))),
def url(self):
return self.file.url if self.file else ''
+
+
+
+def notify_new_comment(sender, instance, created, **kwargs):
+ if (created and isinstance(instance.content_object, Entry) and
+ instance.content_object.author_email):
+ site = Site.objects.get_current()
+ mail_text = loader.get_template('migdal/mail/new_comment.txt').render(
+ Context({
+ 'comment': instance,
+ 'site': site,
+ }))
+ send_mail(
+ ugettext(u'New comment under your story at %s.') % site.domain,
+ mail_text, settings.SERVER_EMAIL,
+ [instance.content_object.author_email]
+ )
+models.signals.post_save.connect(notify_new_comment, sender=XtdComment)
\ No newline at end of file