add method for splitting a book
[redakcja.git] / apps / catalogue / models / chunk.py
index e68b1c1..171ba53 100755 (executable)
@@ -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
     # ============
@@ -61,7 +63,7 @@ class Chunk(dvcs_models.Document):
     # 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)
@@ -70,7 +72,7 @@ class Chunk(dvcs_models.Document):
             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)
+                    slug=new_slug[:50], title=title[:255], **kwargs)
             except IntegrityError:
                 pass
         return new_chunk