From 59422d30f007acdb876b61129acef3ff3f8697e3 Mon Sep 17 00:00:00 2001 From: Piotr Gawron <piotr.gawron@uni.lu> Date: Tue, 5 Jun 2018 14:33:00 +0200 Subject: [PATCH] api for obtaing information about vaoucher partners --- smash/web/api_urls.py | 4 ++++ smash/web/api_views/worker.py | 24 ++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/smash/web/api_urls.py b/smash/web/api_urls.py index 67379b2e..372aa370 100644 --- a/smash/web/api_urls.py +++ b/smash/web/api_urls.py @@ -54,6 +54,10 @@ urlpatterns = [ url(r'^specializations$', worker.specializations, name='web.api.specializations'), url(r'^units$', worker.units, name='web.api.units'), + # workers + url(r'^workers/(?P<worker_role>[A-z]+)/$', worker.get_workers, name='web.api.workers'), + + # daily planning data url(r'^daily_planning/workers/$', worker.workers_for_daily_planning, name='web.api.workers.daily_planning'), url(r'^daily_planning/workers/availabilities$', worker.availabilities, name='web.api.workers.daily_planning.availabilities$'), diff --git a/smash/web/api_views/worker.py b/smash/web/api_views/worker.py index bdf24954..881f1528 100644 --- a/smash/web/api_views/worker.py +++ b/smash/web/api_views/worker.py @@ -61,3 +61,27 @@ def availabilities(request): return JsonResponse({ "availabilities": result, }) + + +def get_workers(request, worker_role): + all_workers = Worker.get_workers_by_worker_type(worker_role).distinct() + count = all_workers.count() + + data = [] + for voucher_type in all_workers: + data.append(serialize_worker(voucher_type)) + + return JsonResponse({ + "recordsTotal": count, + "recordsFiltered": count, + "data": data, + }) + + +def serialize_worker(worker): + result = { + "first_name": worker.first_name, + "last_name": worker.last_name, + "id": worker.id, + } + return result -- GitLab