--- a/server/ammico/urls.py Fri Apr 03 15:01:41 2015 +0200
+++ b/server/ammico/urls.py Fri Apr 03 15:02:19 2015 +0200
@@ -1,10 +1,9 @@
from django.conf.urls import patterns, url, include
-from ammico.views import populateUser, ListBooks, InfoBook, ListSlides, InfoSlide, BookSlides, SlidesOrder
+from ammico.views import ListBooks, InfoBook, ListSlides, InfoSlide, BookSlides, SlidesOrder
urlpatterns = patterns('',
- url(r'^populateUser$', populateUser, name='populateUser'),
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()),
--- a/server/ammico/views.py Fri Apr 03 15:01:41 2015 +0200
+++ b/server/ammico/views.py Fri Apr 03 15:02:19 2015 +0200
@@ -6,7 +6,7 @@
from django.http import HttpResponse
from django.utils.dateparse import parse_datetime
import requests
-from rest_framework import permissions, status
+from rest_framework import status
from rest_framework.authentication import TokenAuthentication
from rest_framework.permissions import IsAuthenticated
from rest_framework.response import Response
@@ -20,13 +20,6 @@
#from django.contrib.auth import login, logout
User = get_user_model()
-def populateUser(request):
- usermail = request.GET["email"]
- user = User.objects.get(email=usermail)
- data = {"user": usermail, "idUser": user.idUser}
- populateVisite(user)
- return HttpResponse(content=json.dumps(data), content_type='application/json')
-
def populateVisite(user):
# send request with usermail to get the visites of this user and add it to the database
#r = requests.get('http://fui-ammico.jamespot.pro/api/api.php?&k=6c8bfcea247e8a5841288269887d88f0&d=2016-01-31&m=EXT-IRI&v=2.0&f=get&o=article&idArticle=169')
@@ -85,16 +78,34 @@
books = Book.objects.all()
serializer = BookSerializer(books, many=True)
return Response(serializer.data)
+
+ def post(self, request):
+ """
+ Add a Book
+ """
+ print (request.user)
+ DEFAULTS = {
+ "user":request.user.id,
+ }
+ request.data.update(DEFAULTS)
+ serializer = BookSerializer(data=request.data)
+ if serializer.is_valid():
+ serializer.save()
+ return Response(serializer.data, status=status.HTTP_201_CREATED)
+ return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
class InfoBook(APIView):
"""
- View to get book informations.
+ View relative to a book
"""
authentication_classes = (TokenAuthentication,)
permission_classes = (IsAuthenticated,)
def get(self, request, idBook):
+ """
+ Get information from a book
+ """
try:
book = Book.objects.get(id=idBook)
except Book.DoesNotExist:
@@ -104,15 +115,17 @@
return Response(serializer.data)
def delete(self, request, idBook):
+ """
+ delete a book
+ """
book = Book.objects.get(id = idBook)
book.delete()
return Response(status=status.HTTP_204_NO_CONTENT)
class BookSlides(APIView):
"""
- View to get book informations.
+ Get the slides from a book
"""
-
authentication_classes = (TokenAuthentication,)
permission_classes = (IsAuthenticated,)
@@ -128,13 +141,16 @@
class SlidesOrder(APIView):
"""
- Get/Set Slides order
+ Manage Slides order
"""
authentication_classes = (TokenAuthentication,)
permission_classes = (IsAuthenticated,)
def get(self, request, idBook):
+ """
+ Get slides order
+ """
try:
book = Book.objects.get(id=idBook)
except Book.DoesNotExist:
@@ -144,6 +160,9 @@
return Response(response)
def post(self, request, idBook):
+ """
+ Set Slides order
+ """
try:
book = Book.objects.get(id=idBook)
except Book.DoesNotExist:
@@ -154,7 +173,7 @@
class ListSlides(APIView):
"""
- Views to list all books.
+ Views to list all slides.
"""
authentication_classes = (TokenAuthentication,)
@@ -169,6 +188,9 @@
return Response(serializer.data)
def post(self, request):
+ """
+ Add a slide
+ """
serializer = SlideSerializer(data=request.data)
if serializer.is_valid():
serializer.save()
@@ -177,13 +199,16 @@
class InfoSlide(APIView):
"""
- View to get book informations.
+ View to get slide detailed informations.
"""
authentication_classes = (TokenAuthentication,)
permission_classes = (IsAuthenticated,)
def get(self, request, idSlide):
+ """
+ Get information from a slide
+ """
try:
slide = Slide.objects.get(id=idSlide)
except Slide.DoesNotExist:
@@ -193,9 +218,12 @@
return Response(serializer.data)
def post(self, request, idSlide):
+ """
+ Update slide information
+ """
try:
slide = Slide.objects.get(id=idSlide)
- except Book.DoesNotExist:
+ except Slide.DoesNotExist:
return HttpResponse(status=404)
serializer = SlideSerializer(slide, data=request.data)
if serializer.is_valid():
@@ -204,9 +232,12 @@
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
def delete(self, request, idSlide):
+ """
+ Delete a slide
+ """
try:
slide = Slide.objects.get(id = idSlide)
- except Book.DoesNotExist:
+ except Slide.DoesNotExist:
return HttpResponse(status=404)
slide.delete()