Skip to content
Snippets Groups Projects

Resolve "extend worker class"

Merged Piotr Gawron requested to merge 183-extend-worker-class into master
1 file
+ 10
5
Compare changes
  • Side-by-side
  • Inline
import logging
from collections import OrderedDict
from django import forms
from django.forms import ModelForm
from web.models.worker_study_role import WORKER_STAFF
from web.forms.forms import DATETIMEPICKER_DATE_ATTRS, APPOINTMENT_TYPES_FIELD_POSITION
from web.models import Appointment, Worker, AppointmentTypeLink, AppointmentType
from web.views.notifications import get_filter_locations
logger = logging.getLogger(__name__)
class AppointmentForm(ModelForm):
datetime_when = forms.DateTimeField(label='Appointment on',
widget=forms.DateTimeInput(DATETIMEPICKER_DATE_ATTRS)
)
def __init__(self, *args, **kwargs):
super(AppointmentForm, self).__init__(*args, **kwargs)
self.fields['worker_assigned'].queryset = Worker.get_workers_by_worker_type(WORKER_STAFF).filter(
locations__in=get_filter_locations(self.user)).distinct().order_by('first_name', 'last_name')
class AppointmentDetailForm(AppointmentForm):
class Meta:
@@ -49,8 +58,6 @@ class AppointmentEditForm(AppointmentForm):
queryset=AppointmentType.objects.all(),
initial=initial_appointment_types)
self.fields = fields
self.fields['worker_assigned'].queryset = Worker.objects.filter(
locations__in=get_filter_locations(self.user)).distinct().order_by('first_name', 'last_name')
self.fields['location'].queryset = get_filter_locations(self.user)
def clean_location(self):
@@ -98,7 +105,7 @@ class AppointmentAddForm(AppointmentForm):
if self.user is None:
raise TypeError("Worker not defined for: " + user.username)
super(ModelForm, self).__init__(*args, **kwargs)
super(AppointmentAddForm, self).__init__(*args, **kwargs)
fields = OrderedDict()
for i, tuple in enumerate(self.fields.items()):
key, value = tuple
@@ -109,8 +116,6 @@ class AppointmentAddForm(AppointmentForm):
queryset=AppointmentType.objects.all(),
)
self.fields = fields
self.fields['worker_assigned'].queryset = Worker.objects.filter(
locations__in=get_filter_locations(self.user)).distinct().order_by('first_name', 'last_name')
self.fields['location'].queryset = get_filter_locations(self.user)
def clean_location(self):
Loading