fnp
/
redakcja.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
publish plan fix
[redakcja.git]
/
apps
/
catalogue
/
models
/
book.py
diff --git
a/apps/catalogue/models/book.py
b/apps/catalogue/models/book.py
index
46d11e8
..
7154775
100755
(executable)
--- a/
apps/catalogue/models/book.py
+++ b/
apps/catalogue/models/book.py
@@
-34,6
+34,7
@@
class Book(models.Model):
_single = models.NullBooleanField(editable=False, db_index=True)
_new_publishable = models.NullBooleanField(editable=False)
_published = models.NullBooleanField(editable=False)
_single = models.NullBooleanField(editable=False, db_index=True)
_new_publishable = models.NullBooleanField(editable=False)
_published = models.NullBooleanField(editable=False)
+ _on_track = models.IntegerField(null=True, blank=True, db_index=True, editable=False)
dc_slug = models.CharField(max_length=128, null=True, blank=True,
editable=False, db_index=True)
dc_slug = models.CharField(max_length=128, null=True, blank=True,
editable=False, db_index=True)
@@
-267,6
+268,15
@@
class Book(models.Model):
return self.publish_log.exists()
published = cached_in_field('_published')(is_published)
return self.publish_log.exists()
published = cached_in_field('_published')(is_published)
+ def get_on_track(self):
+ if self.published:
+ return -1
+ stages = [ch.stage.ordering for ch in self if ch.stage is not None]
+ if not len(stages):
+ return 0
+ return min(stages)
+ on_track = cached_in_field('_on_track')(get_on_track)
+
def is_single(self):
return len(self) == 1
single = cached_in_field('_single')(is_single)
def is_single(self):
return len(self) == 1
single = cached_in_field('_single')(is_single)
@@
-306,6
+316,7
@@
class Book(models.Model):
"_new_publishable": self.is_new_publishable(),
"_published": self.is_published(),
"_single": self.is_single(),
"_new_publishable": self.is_new_publishable(),
"_published": self.is_published(),
"_single": self.is_single(),
+ "_on_track": self.get_on_track(),
"_short_html": None,
}
Book.objects.filter(pk=self.pk).update(**update)
"_short_html": None,
}
Book.objects.filter(pk=self.pk).update(**update)