Tag description update API
[wolnelektury.git] / src / catalogue / models / tag.py
index db7267e..acf0252 100644 (file)
@@ -43,9 +43,9 @@ class TagRelation(models.Model):
 
     def __str__(self):
         try:
-            return u'%s [%s]' % (self.content_type.get_object_for_this_type(pk=self.object_id), self.tag)
+            return '%s [%s]' % (self.content_type.get_object_for_this_type(pk=self.object_id), self.tag)
         except ObjectDoesNotExist:
-            return u'<deleted> [%s]' % self.tag
+            return '<deleted> [%s]' % self.tag
 
 
 class Tag(models.Model):
@@ -67,6 +67,8 @@ class Tag(models.Model):
     gazeta_link = models.CharField(blank=True, max_length=240)
     culturepl_link = models.CharField(blank=True, max_length=240)
     wiki_link = models.CharField(blank=True, max_length=240)
+    photo = models.FileField(blank=True, null=True, upload_to='catalogue/tag/')
+    photo_attribution = models.CharField(max_length=255, blank=True)
 
     created_at = models.DateTimeField(_('creation date'), auto_now_add=True, db_index=True)
     changed_at = models.DateTimeField(_('creation date'), auto_now=True, db_index=True)
@@ -99,10 +101,10 @@ class Tag(models.Model):
         unique_together = (("slug", "category"),)
         app_label = 'catalogue'
 
-    def save(self, *args, **kwargs):
+    def save(self, *args, quick=False, **kwargs):
         existing = self.pk and self.category != 'set'
         ret = super(Tag, self).save(*args, **kwargs)
-        if existing:
+        if existing and not quick:
             self.after_change.send(sender=type(self), instance=self)
         return ret
 
@@ -190,7 +192,7 @@ class Tag(models.Model):
                     # For instance, Pictures do not have 'genre' field.
                     continue
             for tag_name in tag_names:
-                lang = getattr(tag_name, 'lang', settings.LANGUAGE_CODE)
+                lang = getattr(tag_name, 'lang', None) or settings.LANGUAGE_CODE
                 tag_sort_key = tag_name
                 if category == 'author':
                     tag_sort_key = ' '.join((tag_name.last_name,) + tag_name.first_names)