diff --git a/www/web/warpauth/models.py b/www/web/warpauth/models.py index e84a6ab88a1dc590d53b13d23d5a5425cbc59d46..7c4578f3fdfc09ee0446da3cbe934663f13d3e0f 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 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/www/web/warpservice/admin.py b/www/web/warpservice/admin.py new file mode 100644 index 0000000000000000000000000000000000000000..c6fe10879f27142d29808987edb47b7536a04594 --- /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 0000000000000000000000000000000000000000..ed81e0b5fe5ca79442101eb33691862caaf85dba --- /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 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/www/web/warpservice/models.py b/www/web/warpservice/models.py new file mode 100644 index 0000000000000000000000000000000000000000..137941ffaef5f37858adc11dbf608734c570dd38 --- /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 0000000000000000000000000000000000000000..7ce503c2dd97ba78597f6ff6e4393132753573f6 --- /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 0000000000000000000000000000000000000000..2e468770164292e0e5a6ecc8b37f9af124bb41c2 --- /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 0000000000000000000000000000000000000000..2e0ad961940ccc164e0ee5f22a9cccbc6ba24e2b --- /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 b8d82b42f4c834fe4177b090a8b8dbd3bcced2fd..b3bd058090fbd2ddf8cd220685a9d5fba39a2167 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')))