From f67f8a0ba21728212f2abb8a1ba85c05211583a4 Mon Sep 17 00:00:00 2001
From: Christian Dresen <c.dresen@fh-muenster.de>
Date: Wed, 22 Mar 2017 00:36:10 +0100
Subject: [PATCH] [WarpPay] Added API Path for Categories

---
 www/web/warppay/models.py |  4 ++++
 www/web/warppay/urls.py   |  1 +
 www/web/warppay/views.py  | 14 +++++++++++++-
 3 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/www/web/warppay/models.py b/www/web/warppay/models.py
index 4f75293..17ad85c 100644
--- a/www/web/warppay/models.py
+++ b/www/web/warppay/models.py
@@ -9,6 +9,10 @@ class ProductCategory(models.Model):
     def __str__(self):
         return self.name
 
+class ProductCategorySerializer(serializers.ModelSerializer):
+    class Meta:
+        model = ProductCategory
+        fields = ['id', 'name']
 
 class Product(models.Model):
     name = models.CharField(max_length=100, null=True)
diff --git a/www/web/warppay/urls.py b/www/web/warppay/urls.py
index f576626..626d238 100644
--- a/www/web/warppay/urls.py
+++ b/www/web/warppay/urls.py
@@ -6,6 +6,7 @@ urlpatterns = [
     url(r'^api/users/$', views.user_list),
     url(r'^api/users/(?P<user_id>\w+)/$', views.user_list),
     url(r'^api/products/$', views.product_list),
+    url(r'^api/categories/$', views.category_list),
     url(r'^api/gen_token/$', views.gen_token),
     url(r'^api/transaction/(?P<user_id>\w+)/$', views.transaction),
 
diff --git a/www/web/warppay/views.py b/www/web/warppay/views.py
index e3365b2..b7a1da5 100644
--- a/www/web/warppay/views.py
+++ b/www/web/warppay/views.py
@@ -1,7 +1,7 @@
 from django.db import IntegrityError
 from django.core.exceptions import ObjectDoesNotExist
 from warpauth.models import LdapUser
-from warppay.models import UserCredit, UserCreditSerializer, Product, ProductSerializer, Transaction
+from warppay.models import UserCredit, UserCreditSerializer, Product, ProductSerializer, ProductCategory, ProductCategorySerializer, Transaction
 from rest_framework.decorators import api_view
 from rest_framework.response import Response
 from rest_framework.authentication import TokenAuthentication
@@ -13,6 +13,18 @@ from rest_framework import status
 
 # logging.getLogger('main').info(token.key)
 
+@api_view(['GET', 'PUT'])
+#@authentication_classes((TokenAuthentication,))
+#@permission_classes((IsAuthenticated,))
+def category_list(request):
+    if request.method == 'GET':
+        products = ProductCategory.objects.all()
+        serializer = ProductCategorySerializer(products,context={'request': request}, many=True)
+        return Response(serializer.data)
+
+    return Response()
+
+
 @api_view(['GET', 'PUT'])
 #@authentication_classes((TokenAuthentication,))
 #@permission_classes((IsAuthenticated,))
-- 
GitLab