diff options
Diffstat (limited to 'ishtar_common/models.py')
| -rw-r--r-- | ishtar_common/models.py | 16 | 
1 files changed, 15 insertions, 1 deletions
| diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 186d88f1a..4e46693de 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -331,6 +331,8 @@ class GeneralType(Cached, models.Model):      @classmethod      def _get_initial_types(cls, initial, type_pks):          new_vals = [] +        if not initial: +            return []          for value in initial:              try:                  pk = int(value) @@ -580,10 +582,21 @@ class ImageModel(models.Model):                                    null=True)      IMAGE_MAX_SIZE = settings.IMAGE_MAX_SIZE      THUMB_MAX_SIZE = settings.THUMB_MAX_SIZE +    IMAGE_PREFIX = '/'      class Meta:          abstract = True +    def __init__(self, *args, **kwargs): +        super(ImageModel, self).__init__(*args, **kwargs) +        image = self._meta.get_field_by_name("image")[0] +        IMAGE_PREFIX = self.IMAGE_PREFIX +        if not IMAGE_PREFIX.endswith('/'): +            IMAGE_PREFIX += u'/' +        image.upload_to = IMAGE_PREFIX +        thumbnail = self._meta.get_field_by_name("thumbnail")[0] +        thumbnail.upload_to = IMAGE_PREFIX + "thumbs/" +      def has_changed(self, field):          if not self.pk:              return True @@ -2541,7 +2554,7 @@ class Format(GeneralType):          verbose_name_plural = _(u"Formats") -class Source(models.Model): +class Source(ImageModel, models.Model):      title = models.CharField(_(u"Title"), max_length=300)      external_id = models.CharField(_(u"External ID"), max_length=12, null=True,                                     blank=True) @@ -2576,6 +2589,7 @@ class Source(models.Model):      duplicate = models.BooleanField(_(u"Has a duplicate"), default=False)      TABLE_COLS = ['title', 'source_type', 'authors', 'associated_url']      COL_LINK = ['associated_url'] +    IMAGE_PREFIX = 'sources'      class Meta:          abstract = True | 
