Skip to content
Snippets Groups Projects
api_views.py 1.58 KiB
Newer Older
from .models import *
from .forms import *

from django.contrib.auth.decorators import login_required
from django.http import JsonResponse

@login_required
def cities(request):
    X = Subject.objects.filter(city__isnull=False).values_list('city').distinct()
    return JsonResponse({
        "cities" : [x[0] for x in X]
@login_required
def countries(request):
    X = Subject.objects.filter(country__isnull=False).values_list('country').distinct()
    return JsonResponse({
        "countries" : [x[0] for x in X]
Jacek Lebioda's avatar
Jacek Lebioda committed
    })


@login_required
Jacek Lebioda's avatar
Jacek Lebioda committed
def referrals(request):
    X = Subject.objects.filter(referral__isnull=False).values_list('referral').distinct()
Jacek Lebioda's avatar
Jacek Lebioda committed
    return JsonResponse({
        "referrals" : [x[0] for x in X]
@login_required
def specializations(request):
    X = Worker.objects.filter(specialization__isnull=False).values_list('specialization').distinct()
    return JsonResponse({
        "specializations" : [x[0] for x in X]
@login_required
def units(request):
    X = Worker.objects.filter(unit__isnull=False).values_list('unit').distinct()
    return JsonResponse({
        "units" : [x[0] for x in X]

@login_required
def appointment_types(request):
    appointments = AppointmentType.objects.filter().all()
    result = []
    for appointment in appointments:
        result.append({
Piotr Gawron's avatar
Piotr Gawron committed
            "id": appointment.id,
            "type": appointment.code,
            "default_duration": appointment.default_duration,
Piotr Gawron's avatar
Piotr Gawron committed
            "can_be_parallelized": appointment.can_be_parallelized,
Piotr Gawron's avatar
Piotr Gawron committed
        })
    return JsonResponse({
Piotr Gawron's avatar
Piotr Gawron committed
        "appointment_types" : result