X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/e180be7cce99d59054b206a061386188c5652f02..eaf0711613bea8181528d8911b30ef7976b7bb42:/src/social/models.py diff --git a/src/social/models.py b/src/social/models.py index 6f1f697fa..b8f50abba 100644 --- a/src/social/models.py +++ b/src/social/models.py @@ -5,10 +5,10 @@ from random import randint from django.db import models from django.conf import settings from django.core.exceptions import ValidationError -from django.core.urlresolvers import reverse +from django.urls import reverse from django.utils.translation import ugettext_lazy as _, string_concat -from ssify import flush_ssi_includes from catalogue.models import Book +from wolnelektury.utils import cached_render, clear_cached_renders class BannerGroup(models.Model): @@ -36,7 +36,7 @@ class BannerGroup(models.Model): class Cite(models.Model): - book = models.ForeignKey(Book, verbose_name=_('book'), null=True, blank=True) + book = models.ForeignKey(Book, models.CASCADE, verbose_name=_('book'), null=True, blank=True) text = models.TextField(_('text'), blank=True) small = models.BooleanField(_('small'), default=False, help_text=_('Make this cite display smaller.')) vip = models.CharField(_('VIP'), max_length=128, null=True, blank=True) @@ -116,18 +116,18 @@ class Cite(models.Model): def save(self, *args, **kwargs): ret = super(Cite, self).save(*args, **kwargs) - self.flush_includes() + self.clear_cache() return ret - def flush_includes(self): - flush_ssi_includes([ - template % (self.pk, lang) - for template in [ - '/ludzie/cite/%s.%s.html', - '/ludzie/cite_main/%s.%s.html', - ] - for lang in [lc for (lc, _ln) in settings.LANGUAGES]] + - ['/ludzie/cite_info/%s.html' % self.pk]) + @cached_render('social/cite_promo.html') + def main_box(self): + return { + 'cite': self, + 'main': True, + } + + def clear_cache(self): + clear_cached_renders(self.main_box) class Carousel(models.Model):