add 'public' boolean field to the model and an access to get the list of the public books
authorrougeronj
Wed, 27 May 2015 19:06:00 +0200
changeset 102 622f5d1955b6
parent 101 4dfeab3852da
child 103 b707607e8a38
add 'public' boolean field to the model and an access to get the list of the public books
server/ammico/models.py
server/ammico/serializers.py
server/ammico/urls.py
--- a/server/ammico/models.py	Wed May 27 19:05:20 2015 +0200
+++ b/server/ammico/models.py	Wed May 27 19:06:00 2015 +0200
@@ -13,6 +13,7 @@
     description = models.CharField(max_length=512, blank=True, null=True)
     image = models.URLField(max_length=2048, blank=True)
     date = models.DateTimeField(default=datetime.datetime.now)
+    public = models.BooleanField(default=False, db_index=True)
     parent_visit = models.ForeignKey('Book', related_name = "books_copy", null=True)
     
     def __str__(self):
--- a/server/ammico/serializers.py	Wed May 27 19:05:20 2015 +0200
+++ b/server/ammico/serializers.py	Wed May 27 19:06:00 2015 +0200
@@ -11,10 +11,14 @@
 
 
 class BookSerializer(serializers.ModelSerializer):
+    count = serializers.SerializerMethodField('getCount')
+    
+    def getCount(self, book):
+        return book.slides.all().count()
     
     class Meta:
         model = Book
-        fields = ('id', 'user', 'idArticle', 'parent_visit', 'title', 'description', 'image', 'date')
+        fields = ('id', 'user', 'idArticle', 'parent_visit', 'title', 'description', 'image', 'date', 'count', 'public')
         
 class SlideSerializer(serializers.ModelSerializer):
     details = serializers.SerializerMethodField('getStopInfo')
--- a/server/ammico/urls.py	Wed May 27 19:05:20 2015 +0200
+++ b/server/ammico/urls.py	Wed May 27 19:06:00 2015 +0200
@@ -1,7 +1,7 @@
 from django.conf.urls import patterns, url, include
 from django.views.generic.base import TemplateView
 
-from ammico.views import ListBooks, InfoBook, ListSlides, InfoSlide, BookSlides, SlidesOrder
+from ammico.views import ListBooks, InfoBook, ListSlides, InfoSlide, SlidesOrder, PublicBooks
 
 
 urlpatterns = patterns('',
@@ -9,7 +9,7 @@
     url(r'^books$', ListBooks.as_view()),
     url(r'^books/(?P<idBook>[0-9]+)$', InfoBook.as_view()),
     url(r'^books/(?P<idBook>[0-9]+)/order$', SlidesOrder.as_view()),
-    url(r'^books/(?P<idBook>[0-9]+)/slides$', BookSlides.as_view()),
+    url(r'^public', PublicBooks.as_view()),
     url(r'^slides$', ListSlides.as_view()),
     url(r'^slides/(?P<idSlide>[0-9]+)$', InfoSlide.as_view()),
     url(r'^auth/', include('authentication.urls')),