From d19a1106fe4d83f118133c1c949d44db9ff9c743 Mon Sep 17 00:00:00 2001 From: Christian Dresen <c.dresen@fh-muenster.de> Date: Wed, 14 Jun 2017 23:19:31 +0200 Subject: [PATCH] [WarpService] Added WarpService Endpoint with 3d Printer --- www/web/warpauth/models.py | 4 +++- www/web/warpservice/__init__.py | 0 www/web/warpservice/admin.py | 2 ++ www/web/warpservice/apps.py | 5 +++++ www/web/warpservice/migrations/__init__.py | 0 www/web/warpservice/models.py | 1 + www/web/warpservice/tests.py | 3 +++ www/web/warpservice/urls.py | 7 +++++++ www/web/warpservice/views.py | 14 ++++++++++++++ www/web/warpzone/urls.py | 3 +++ 10 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 www/web/warpservice/__init__.py create mode 100644 www/web/warpservice/admin.py create mode 100644 www/web/warpservice/apps.py create mode 100644 www/web/warpservice/migrations/__init__.py create mode 100644 www/web/warpservice/models.py create mode 100644 www/web/warpservice/tests.py create mode 100644 www/web/warpservice/urls.py create mode 100644 www/web/warpservice/views.py diff --git a/www/web/warpauth/models.py b/www/web/warpauth/models.py index e84a6ab..7c4578f 100644 --- a/www/web/warpauth/models.py +++ b/www/web/warpauth/models.py @@ -39,7 +39,9 @@ class LdapUser(ldapdb.models.Model): cn = CharField(db_column='cn', max_length=200) card_id = CharField(db_column='employeeNumber', max_length=200) pinCode = CharField(db_column='carLicense', max_length=100) - + memberof = ListField(db_column='memberOf') + + def __str__(self): return self.uid diff --git a/www/web/warpservice/__init__.py b/www/web/warpservice/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/www/web/warpservice/admin.py b/www/web/warpservice/admin.py new file mode 100644 index 0000000..c6fe108 --- /dev/null +++ b/www/web/warpservice/admin.py @@ -0,0 +1,2 @@ +from django.contrib import admin + diff --git a/www/web/warpservice/apps.py b/www/web/warpservice/apps.py new file mode 100644 index 0000000..ed81e0b --- /dev/null +++ b/www/web/warpservice/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class WarpmainConfig(AppConfig): + name = 'warpservice' diff --git a/www/web/warpservice/migrations/__init__.py b/www/web/warpservice/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/www/web/warpservice/models.py b/www/web/warpservice/models.py new file mode 100644 index 0000000..137941f --- /dev/null +++ b/www/web/warpservice/models.py @@ -0,0 +1 @@ +from django.db import models diff --git a/www/web/warpservice/tests.py b/www/web/warpservice/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/www/web/warpservice/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/www/web/warpservice/urls.py b/www/web/warpservice/urls.py new file mode 100644 index 0000000..2e46877 --- /dev/null +++ b/www/web/warpservice/urls.py @@ -0,0 +1,7 @@ +from django.conf.urls import url, include +from warpservice import views + +urlpatterns = [ + url(r'^api/services/3dprinter$', views.printer_3d), + +] diff --git a/www/web/warpservice/views.py b/www/web/warpservice/views.py new file mode 100644 index 0000000..2e0ad96 --- /dev/null +++ b/www/web/warpservice/views.py @@ -0,0 +1,14 @@ +from rest_framework.decorators import api_view +from rest_framework.response import Response +from rest_framework import status +from warpauth.models import LdapUser + +@api_view(['GET']) +def printer_3d(request): + ret= {"admin":{}, "user":{}} + users = LdapUser.objects.filter(memberof__contains="cn=3dprint-user,ou=infrastructure,dc=warpzone,dc=ms").filter(memberof__contains="cn=active,ou=groups,dc=warpzone,dc=ms") + for user in users: + if user.card_id: + ret["user"][user.card_id] = user.uid + return Response(ret) + diff --git a/www/web/warpzone/urls.py b/www/web/warpzone/urls.py index b8d82b4..b3bd058 100644 --- a/www/web/warpzone/urls.py +++ b/www/web/warpzone/urls.py @@ -23,3 +23,6 @@ if "warpapi" in settings.INSTALLED_APPS: if "warppay" in settings.INSTALLED_APPS: urlpatterns.append(url(r'^', include('warppay.urls'))) + +if "warpservice" in settings.INSTALLED_APPS: + urlpatterns.append(url(r'^', include('warpservice.urls'))) -- GitLab