diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-09-05 20:14:01 +0200 |
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-09-05 20:14:01 +0200 |
| commit | 8c33886e7f24deb1623e82e0792af9923899f7ad (patch) | |
| tree | 101144fad0e35a101edac31910ccea67c88a3963 /ishtar_common/models.py | |
| parent | 2ff9087dd0a1c93be556a1267519ce1c9accc732 (diff) | |
| parent | 7f8be42cf5cea041bede638d355a8de0d0f97dbf (diff) | |
| download | Ishtar-8c33886e7f24deb1623e82e0792af9923899f7ad.tar.bz2 Ishtar-8c33886e7f24deb1623e82e0792af9923899f7ad.zip | |
Merge branch 'v0.9' into wheezy
Diffstat (limited to 'ishtar_common/models.py')
| -rw-r--r-- | ishtar_common/models.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index c536b64ae..087e772e7 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 @@ -941,7 +954,8 @@ class IshtarSiteProfile(models.Model, Cached): homepage = models.TextField( _(u"Home page"), null=True, blank=True, help_text=_(u"Homepage of Ishtar - if not defined a default homepage " - u"will appear. Use the markdown syntax.")) + u"will appear. Use the markdown syntax. {random_image} " + u"can be used to display a random image.")) file_external_id = models.TextField( _(u"File external id"), default="{settings__ISHTAR_LOCAL_PREFIX}{year}-{numeric_reference}", @@ -2200,6 +2214,7 @@ pre_delete.connect(pre_delete_import, sender=Import) class Organization(Address, Merge, OwnPerms, ValueGetter): TABLE_COLS = ('name', 'organization_type',) + SHOW_URL = 'show-organization' name = models.CharField(_(u"Name"), max_length=500) organization_type = models.ForeignKey(OrganizationType, verbose_name=_(u"Type")) @@ -2540,7 +2555,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) @@ -2575,6 +2590,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 |
