Example #1
0
def generate_publish_signals(now=None):
    if now is None:
        now = timezone.now()

    # content that went live and isn't announced yet
    qset = Publishable.objects.filter(announced=False, publish_from__lt=now, published=True).exclude(publish_to__lt=now)
    for p in qset:
        content_published.send(sender=p.content_type.model_class(), publishable=p)
    qset.update(announced=True)

    # content that went down but was announced as live
    qset = Publishable.objects.filter(announced=True, publish_to__lt=now, published=True)
    for p in qset:
        content_unpublished.send(sender=p.content_type.model_class(), publishable=p)
    qset.update(announced=False)
Example #2
0
def generate_publish_signals(now=None):
    if now is None:
        now = timezone.now()

    # content that went live and isn't announced yet
    qset = Publishable.objects.filter(
        announced=False, publish_from__lt=now,
        published=True).exclude(publish_to__lt=now)
    for p in qset:
        content_published.send(sender=p.content_type.model_class(),
                               publishable=p)
    qset.update(announced=True)

    # content that went down but was announced as live
    qset = Publishable.objects.filter(announced=True,
                                      publish_to__lt=now,
                                      published=True)
    for p in qset:
        content_unpublished.send(sender=p.content_type.model_class(),
                                 publishable=p)
    qset.update(announced=False)
Example #3
0
 def delete(self):
     url = self.get_absolute_url()
     Redirect.objects.filter(new_path=url).delete()
     if self.announced:
         content_unpublished.send(sender=self.__class__, publishable=self)
     return super(Publishable, self).delete()
Example #4
0
 def delete(self):
     url = self.get_absolute_url()
     Redirect.objects.filter(new_path=url).delete()
     if self.announced:
         content_unpublished.send(sender=self.__class__, publishable=self)
     return super(Publishable, self).delete()