X-Git-Url: https://git.mdrn.pl/django-migdal.git/blobdiff_plain/3d174fac85fa8b2659c198fbec43f90104baf341..a3983327291548497d9bdd3db5976b895675b25e:/migdal/models.py diff --git a/migdal/models.py b/migdal/models.py index c98b74f..4977562 100644 --- a/migdal/models.py +++ b/migdal/models.py @@ -51,7 +51,9 @@ class Entry(models.Model): help_text=_('Used only to display gravatar and send notifications.')) image = models.ImageField(_('image'), upload_to='entry/image/', null=True, blank=True) promo = models.BooleanField(_('promoted'), default=False) + in_stream = models.BooleanField(_('in stream'), default=True) categories = models.ManyToManyField(Category, null=True, blank=True, verbose_name=_('categories')) + first_published_at = models.DateTimeField(_('published at'), null=True, blank=True) class Meta: verbose_name = _('entry') @@ -62,17 +64,18 @@ class Entry(models.Model): 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 (getattr(self, "published_%s" % lc) - and getattr(self, "published_at_%s" % lc) is None): - setattr(self, "published_at_%s" % lc, datetime.now()) + published_now = False + for lc, ln in settings.LANGUAGES: + if (getattr(self, "published_%s" % lc) + and getattr(self, "published_at_%s" % lc) is None): + now = datetime.now() + setattr(self, "published_at_%s" % lc, now) + if self.first_published_at is None: + self.first_published_at = now published_now = True - if published_now: - self.notify_author_published() super(Entry, self).save(*args, **kwargs) + if published_now and self.pk is not None: + self.notify_author_published() def clean(self): for lc, ln in settings.LANGUAGES: