X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/46607e78e344a6c5695c383265fd441b87dbe40c..b79a206b79a5e805ad06f9103977e19589b66758:/src/catalogue/models/book.py diff --git a/src/catalogue/models/book.py b/src/catalogue/models/book.py index c537e5d62..6527d11d6 100644 --- a/src/catalogue/models/book.py +++ b/src/catalogue/models/book.py @@ -13,7 +13,7 @@ from django.db.models import permalink import django.dispatch from django.contrib.contenttypes.fields import GenericRelation from django.core.urlresolvers import reverse -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import ugettext_lazy as _, get_language import jsonfield from fnpdjango.storage import BofhFileSystemStorage from ssify import flush_ssi_includes @@ -60,6 +60,7 @@ class Book(models.Model): extra_info = jsonfield.JSONField(_('extra information'), default={}) gazeta_link = models.CharField(blank=True, max_length=240) wiki_link = models.CharField(blank=True, max_length=240) + print_on_demand = models.BooleanField(_('print on demand'), default=False) # files generated during publication cover = EbookField( @@ -120,6 +121,17 @@ class Book(models.Model): def author_unicode(self): return self.tag_unicode('author') + def translator(self): + translators = self.extra_info.get('translators') + if not translators: + return None + if len(translators) > 3: + translators = translators[:2] + others = ' i inni' + else: + others = '' + return ', '.join(u'\xa0'.join(reversed(translator.split(', ', 1))) for translator in translators) + others + def save(self, force_insert=False, force_update=False, **kwargs): from sortify import sortify @@ -601,6 +613,9 @@ class Book(models.Model): except BookPopularity.DoesNotExist: BookPopularity.objects.create(book=self, count=count) + def ridero_link(self): + return 'https://ridero.eu/%s/books/wl_%s/' % (get_language(), self.slug.replace('-', '_')) + def add_file_fields(): for format_ in Book.formats: