# coding=utf-8 from django.shortcuts import redirect, get_object_or_404 from . import wrap_response from ..forms import WorkerAddForm, WorkerEditForm, WorkerDetailForm from ..models import Worker, Availability 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 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) context = { '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)