User list sorted by last activity.
[redakcja.git] / src / documents / models / book.py
index 42ea33a..4255530 100644 (file)
@@ -60,6 +60,12 @@ class Book(models.Model):
         verbose_name = _('book')
         verbose_name_plural = _('books')
 
         verbose_name = _('book')
         verbose_name_plural = _('books')
 
+    @classmethod
+    def get_visible_for(cls, user):
+        qs = cls.objects.all()
+        if not user.is_authenticated:
+            qs = qs.filter(public=True)
+        return qs
 
     # Representing
     # ============
 
     # Representing
     # ============
@@ -411,7 +417,7 @@ class Book(models.Model):
                 parse_dublincore=parse_dublincore,
                 strict=strict)
 
                 parse_dublincore=parse_dublincore,
                 strict=strict)
 
-    def publish(self, user, fake=False, host=None, days=0, beta=False):
+    def publish(self, user, fake=False, host=None, days=0, beta=False, hidden=False):
         """
             Publishes a book on behalf of a (local) user.
         """
         """
             Publishes a book on behalf of a (local) user.
         """
@@ -419,7 +425,7 @@ class Book(models.Model):
         changes = self.get_current_changes(publishable=True)
         if not fake:
             book_xml = self.materialize(changes=changes)
         changes = self.get_current_changes(publishable=True)
         if not fake:
             book_xml = self.materialize(changes=changes)
-            data = {"book_xml": book_xml, "days": days}
+            data = {"book_xml": book_xml, "days": days, "hidden": hidden}
             if host:
                 data['gallery_url'] = host + self.gallery_url()
             apiclient.api_call(user, "books/", data, beta=beta)
             if host:
                 data['gallery_url'] = host + self.gallery_url()
             apiclient.api_call(user, "books/", data, beta=beta)