X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/2dd9e6498b5e0bd5c0bd882db02be9768c34c019..6b6ff36189e97efb3b463643018806e9ff8e14a8:/src/sources/models.py?ds=sidebyside diff --git a/src/sources/models.py b/src/sources/models.py index efa086a5..dd521da0 100644 --- a/src/sources/models.py +++ b/src/sources/models.py @@ -119,11 +119,12 @@ class Source(models.Model): class BookSource(models.Model): book = models.ForeignKey('catalogue.Book', models.CASCADE) source = models.ForeignKey(Source, models.CASCADE) + ordering = models.IntegerField(default=1) page_start = models.IntegerField(null=True, blank=True) page_end = models.IntegerField(null=True, blank=True) class Meta: - ordering = ('page_start',) + ordering = ('ordering', 'page_start',) def __str__(self): return f'{self.source} -> {self.book}' @@ -151,16 +152,17 @@ class BookSource(models.Model): def get_document(self): return self.book.document_books.first() - - def prepare_document(self, user=None): + + @classmethod + def prepare_document(cls, book, user=None): DBook = apps.get_model('documents', 'Book') - texts = document.build_document_texts(self) + texts = document.build_document_texts(book) - dbook = self.get_document() + dbook = book.document_books.first() if dbook is None: dbook = DBook.create( user, texts[0], - title=self.book.title, + title=book.title, slug=str(uuid.uuid4()), ) else: