Newer
Older
# coding=utf-8
from django.shortcuts import redirect, get_object_or_404
from . import wrap_response
from ..forms import WorkerAddForm, WorkerEditForm, WorkerDetailForm
from ..models.constants import MONDAY_AS_DAY_OF_WEEK, TUESDAY_AS_DAY_OF_WEEK, WEDNESDAY_AS_DAY_OF_WEEK, \
THURSDAY_AS_DAY_OF_WEEK, FRIDAY_AS_DAY_OF_WEEK, SATURDAY_AS_DAY_OF_WEEK, SUNDAY_AS_DAY_OF_WEEK
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
def doctors(request):
doctors_list = Worker.objects.order_by('-last_name')
context = {
'doctors_list': doctors_list
}
return wrap_response(request, "doctors/index.html", context)
def doctor_add(request):
if request.method == 'POST':
form = WorkerAddForm(request.POST, request.FILES)
if form.is_valid():
form.save()
return redirect('web.views.doctors')
else:
form = WorkerAddForm()
return wrap_response(request, 'doctors/add.html', {'form': form})
def doctor_edit(request, doctor_id):
the_doctor = get_object_or_404(Worker, id=doctor_id)
if request.method == 'POST':
form = WorkerEditForm(request.POST, request.FILES, instance=the_doctor)
if form.is_valid():
form.save()
return redirect('web.views.doctors')
else:
form = WorkerEditForm(instance=the_doctor)
return wrap_response(request, 'doctors/edit.html', {'form': form})
def doctor_details(request, doctor_id):
the_doctor = get_object_or_404(Worker, id=doctor_id)
form = WorkerDetailForm(instance=the_doctor)
return wrap_response(request, 'doctors/details.html', {'form': form})
def doctor_availability(request, doctor_id):
availabilities = Availability.objects.filter(person=doctor_id)
availability_on_monday = availabilities.filter(day_number=MONDAY_AS_DAY_OF_WEEK)
availability_on_tuesday = availabilities.filter(day_number=TUESDAY_AS_DAY_OF_WEEK)
availability_on_wednesday = availabilities.filter(day_number=WEDNESDAY_AS_DAY_OF_WEEK)
availability_on_thursday = availabilities.filter(day_number=THURSDAY_AS_DAY_OF_WEEK)
availability_on_friday = availabilities.filter(day_number=FRIDAY_AS_DAY_OF_WEEK)
availability_on_saturday = availabilities.filter(day_number=SATURDAY_AS_DAY_OF_WEEK)
availability_on_sunday = availabilities.filter(day_number=SUNDAY_AS_DAY_OF_WEEK)
'avmon': availability_on_monday,
'avtue': availability_on_tuesday,
'avwed': availability_on_wednesday,
'avthu': availability_on_thursday,
'avfri': availability_on_friday,
'avsat': availability_on_saturday,
'avsun': availability_on_sunday,
'id': doctor_id
}
return wrap_response(request, "doctors/availability_index.html", context)
def doctor_availability_delete(request, doctor_id, availability_id):
availability = Availability.objects.filter(id=availability_id)
if len(availability) > 0:
availability.delete()
return redirect(doctor_availability, id=doctor_id)