Oznaczenie linków przekazywanych do book_short.html i fragment_short.html jako safe_s...
[wolnelektury.git] / apps / catalogue / models.py
index 5bfe6cb..58025fa 100644 (file)
@@ -48,6 +48,7 @@ class Tag(TagBase):
     user = models.ForeignKey(User, blank=True, null=True)
     book_count = models.IntegerField(_('book count'), default=0, blank=False, null=False)
     gazeta_link = models.CharField(blank=True,  max_length=240)
     user = models.ForeignKey(User, blank=True, null=True)
     book_count = models.IntegerField(_('book count'), default=0, blank=False, null=False)
     gazeta_link = models.CharField(blank=True,  max_length=240)
+    wiki_link = models.CharField(blank=True,  max_length=240)
     
     def has_description(self):
         return len(self.description) > 0
     
     def has_description(self):
         return len(self.description) > 0
@@ -90,6 +91,8 @@ class Book(models.Model):
     parent_number = models.IntegerField(_('parent number'), default=0)
     extra_info = JSONField(_('extra information'))
     gazeta_link = models.CharField(blank=True,  max_length=240)
     parent_number = models.IntegerField(_('parent number'), default=0)
     extra_info = JSONField(_('extra information'))
     gazeta_link = models.CharField(blank=True,  max_length=240)
+    wiki_link = models.CharField(blank=True,  max_length=240)
+
     
     # Formats
     xml_file = models.FileField(_('XML file'), upload_to=book_upload_path('xml'), blank=True)
     
     # Formats
     xml_file = models.FileField(_('XML file'), upload_to=book_upload_path('xml'), blank=True)
@@ -116,7 +119,7 @@ class Book(models.Model):
             return mark_safe(self._short_html)
         else:
             tags = self.tags.filter(~Q(category__in=('set', 'theme', 'book')))
             return mark_safe(self._short_html)
         else:
             tags = self.tags.filter(~Q(category__in=('set', 'theme', 'book')))
-            tags = [u'<a href="%s">%s</a>' % (tag.get_absolute_url(), tag.name) for tag in tags]
+            tags = [mark_safe(u'<a href="%s">%s</a>' % (tag.get_absolute_url(), tag.name)) for tag in tags]
 
             formats = []
             if self.html_file:
 
             formats = []
             if self.html_file:
@@ -132,6 +135,8 @@ class Book(models.Model):
             if self.ogg_file:
                 formats.append(u'<a href="%s">OGG</a>' % self.ogg_file.url)
             
             if self.ogg_file:
                 formats.append(u'<a href="%s">OGG</a>' % self.ogg_file.url)
             
+            formats = [mark_safe(format) for format in formats]
+            
             self._short_html = unicode(render_to_string('catalogue/book_short.html',
                 {'book': self, 'tags': tags, 'formats': formats}))
             self.save()
             self._short_html = unicode(render_to_string('catalogue/book_short.html',
                 {'book': self, 'tags': tags, 'formats': formats}))
             self.save()
@@ -309,7 +314,7 @@ class Fragment(models.Model):
         if len(self._short_html):
             return mark_safe(self._short_html)
         else:
         if len(self._short_html):
             return mark_safe(self._short_html)
         else:
-            book_authors = [u'<a href="%s">%s</a>' % (tag.get_absolute_url(), tag.name
+            book_authors = [mark_safe(u'<a href="%s">%s</a>' % (tag.get_absolute_url(), tag.name)
                 for tag in self.book.tags if tag.category == 'author']
             
             self._short_html = unicode(render_to_string('catalogue/fragment_short.html',
                 for tag in self.book.tags if tag.category == 'author']
             
             self._short_html = unicode(render_to_string('catalogue/fragment_short.html',