X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/5f176bb52a7a59bf88f5728e60a3a62e12fb3d54..bf3f18ce9313f4929ff327fbf12803157de171cb:/apps/sponsors/models.py?ds=sidebyside diff --git a/apps/sponsors/models.py b/apps/sponsors/models.py index 2d18d1664..0565b9744 100644 --- a/apps/sponsors/models.py +++ b/apps/sponsors/models.py @@ -12,6 +12,7 @@ from PIL import Image from jsonfield import JSONField from django.core.files.base import ContentFile +from ssify import flush_ssi_includes THUMB_WIDTH = 120 THUMB_HEIGHT = 120 @@ -35,7 +36,7 @@ class Sponsor(models.Model): class SponsorPage(models.Model): name = models.CharField(_('name'), max_length=120) - sponsors = JSONField(_('sponsors'), default='{}') + sponsors = JSONField(_('sponsors'), default={}) _html = models.TextField(blank=True, editable=False) sprite = models.ImageField(upload_to='sponsorzy/sprite', blank=True) @@ -64,7 +65,7 @@ class SponsorPage(models.Model): simg = Image.open(sponsors[sponsor_id].logo.path) if simg.size[0] > THUMB_WIDTH or simg.size[1] > THUMB_HEIGHT: size = ( - min(THUMB_WIDTH, + min(THUMB_WIDTH, simg.size[0] * THUMB_HEIGHT / simg.size[1]), min(THUMB_HEIGHT, simg.size[1] * THUMB_WIDTH / simg.size[0]) @@ -94,7 +95,12 @@ class SponsorPage(models.Model): 'sponsors': self.populated_sponsors(), 'page': self }) - return super(SponsorPage, self).save(*args, **kwargs) + ret = super(SponsorPage, self).save(*args, **kwargs) + self.flush_includes() + return ret + + def flush_includes(self): + flush_ssi_includes(['/sponsors/page/%s.html' % self.name]) def __unicode__(self): return self.name