X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/ce8d791a5298e0cb2569034aec4c8b57afac97b2..886286a97f29204af33d0061ae51eb1b19ec0441:/apps/catalogue/models/chunk.py diff --git a/apps/catalogue/models/chunk.py b/apps/catalogue/models/chunk.py index e68b1c17..fc3a9eae 100755 --- a/apps/catalogue/models/chunk.py +++ b/apps/catalogue/models/chunk.py @@ -20,8 +20,9 @@ class Chunk(dvcs_models.Document): book = models.ForeignKey('Book', editable=False, verbose_name=_('book')) number = models.IntegerField(_('number')) - slug = models.SlugField(_('slug')) title = models.CharField(_('title'), max_length=255, blank=True) + slug = models.SlugField(_('slug')) + gallery_start = models.IntegerField(_('gallery start'), null=True, blank=True, default=1) # cache _short_html = models.TextField(null=True, blank=True, editable=False) @@ -38,6 +39,7 @@ class Chunk(dvcs_models.Document): ordering = ['number'] verbose_name = _('chunk') verbose_name_plural = _('chunks') + permissions = [('can_pubmark', 'Can mark for publishing')] # Representing # ============ @@ -47,7 +49,7 @@ class Chunk(dvcs_models.Document): @models.permalink def get_absolute_url(self): - return ("wiki_editor", [self.book.slug, self.slug]) + return "wiki_editor", [self.book.slug, self.slug] def pretty_name(self, book_length=None): title = self.book.title @@ -57,11 +59,10 @@ class Chunk(dvcs_models.Document): title += " (%d/%d)" % (self.number, book_length) return title - # Creating and manipulation # ========================= - def split(self, slug, title='', adjust_slug=False, **kwargs): + def split(self, slug, title='', **kwargs): """ Create an empty chunk after this one """ self.book.chunk_set.filter(number__gt=self.number).update( number=models.F('number')+1) @@ -69,8 +70,9 @@ class Chunk(dvcs_models.Document): while not new_chunk: new_slug = self.book.make_chunk_slug(slug) try: - new_chunk = self.book.chunk_set.create(number=self.number+1, - slug=new_slug, title=title, **kwargs) + new_chunk = self.book.chunk_set.create( + number=self.number+1, + slug=new_slug[:50], title=title[:255], **kwargs) except IntegrityError: pass return new_chunk @@ -82,7 +84,6 @@ class Chunk(dvcs_models.Document): else: return cls.objects.get(book__slug=book_slug, slug=chunk_slug) - # State & cache # ============= @@ -90,7 +91,7 @@ class Chunk(dvcs_models.Document): change = self.publishable() if not change: return False - return change.publish_log.exists() + return not change.publish_log.exists() def is_changed(self): if self.head is None: