X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/d5da2664b063711aee28851f41062e3666963fb3..bc0fb62d35eae0850d48e92bece1873664ca2410:/apps/sponsors/models.py?ds=sidebyside diff --git a/apps/sponsors/models.py b/apps/sponsors/models.py index 1df990f68..a2e3e0857 100644 --- a/apps/sponsors/models.py +++ b/apps/sponsors/models.py @@ -1,16 +1,28 @@ +# -*- coding: utf-8 -*- +# This file is part of Wolnelektury, licensed under GNU Affero GPLv3 or later. +# Copyright © Fundacja Nowoczesna Polska. See NOTICE for more information. +# from django.db import models from django.utils.translation import ugettext_lazy as _ from django.template.loader import render_to_string +from sorl.thumbnail.fields import ImageWithThumbnailsField from sponsors.fields import JSONField class Sponsor(models.Model): name = models.CharField(_('name'), max_length=120) _description = models.CharField(_('description'), blank=True, max_length=255) - logo = models.ImageField(_('logo'), upload_to='sponsors/sponsor/logo') + logo = ImageWithThumbnailsField( + _('logo'), + upload_to='sponsorzy/sponsor/logo', + thumbnail={ + 'size': (120, 120), + 'extension': 'png', + 'options': ['pad', 'detail'], + }) url = models.URLField(_('url'), blank=True, verify_exists=False) - + def __unicode__(self): return self.name @@ -23,10 +35,9 @@ class Sponsor(models.Model): class SponsorPage(models.Model): name = models.CharField(_('name'), max_length=120) - column_width = models.PositiveIntegerField(_('column width'), default=200) sponsors = JSONField(_('sponsors'), default={}) _html = models.TextField(blank=True, editable=False) - + def populated_sponsors(self): result = [] for column in self.get_sponsors_value(): @@ -39,18 +50,17 @@ class SponsorPage(models.Model): pass result.append(result_group) return result - + def html(self): return self._html html = property(fget=html) def save(self, *args, **kwargs): self._html = render_to_string('sponsors/page.html', { - 'column_width': self.column_width, 'sponsors': self.populated_sponsors(), }) return super(SponsorPage, self).save(*args, **kwargs) - + def __unicode__(self): return self.name