Skip to content
Snippets Groups Projects
Commit 05c96282 authored by Piotr Gawron's avatar Piotr Gawron
Browse files

WorkerForm extracted to separate file

parent b22c9015
No related branches found
No related tags found
1 merge request!117Resolve "extend worker class"
from forms import WorkerForm, AppointmentDetailForm, AppointmentEditForm, AppointmentAddForm, VisitDetailForm, \
from worker_form import WorkerForm
from forms import AppointmentDetailForm, AppointmentEditForm, AppointmentAddForm, VisitDetailForm, \
VisitAddForm, ContactAttemptForm, ContactAttemptEditForm, KitRequestForm, StatisticsForm, AvailabilityAddForm, \
AvailabilityEditForm, HolidayAddForm
from study_subject_forms import StudySubjectAddForm, StudySubjectDetailForm, StudySubjectEditForm
......
......@@ -6,11 +6,9 @@ from django import forms
from django.forms import ModelForm, Form
from django.utils.dates import MONTHS
from web.models.constants import GLOBAL_STUDY_ID
from web.models import StudySubject, Worker, Appointment, Visit, AppointmentType, ContactAttempt, AppointmentTypeLink, \
Availability, Holiday
from web.models.constants import SUBJECT_TYPE_CHOICES
from web.models.worker_study_role import STUDY_ROLE_CHOICES, WorkerStudyRole
from web.views.notifications import get_filter_locations
"""
......@@ -51,25 +49,6 @@ def get_worker_from_args(kwargs):
return result
class WorkerForm(ModelForm):
class Meta:
model = Worker
exclude = ['appointments']
def __init__(self, *args, **kwargs):
choices = kwargs.pop('role_choices', STUDY_ROLE_CHOICES)
super(WorkerForm, self).__init__(*args, **kwargs)
self.fields['role'] = forms.ChoiceField(label='Role', choices=choices)
def save(self, commit=True):
instance = super(WorkerForm, self).save(commit)
roles = WorkerStudyRole.objects.filter(worker=instance, study_id=GLOBAL_STUDY_ID)
if roles.count() > 0:
roles.update(role=self.cleaned_data['role'])
else:
WorkerStudyRole.objects.create(worker=instance, study_id=GLOBAL_STUDY_ID, role=self.cleaned_data['role'])
class AppointmentDetailForm(ModelForm):
class Meta:
model = Appointment
......
from django import forms
from django.forms import ModelForm
from web.models import Worker, WorkerStudyRole
from web.models.constants import GLOBAL_STUDY_ID
from web.models.worker_study_role import STUDY_ROLE_CHOICES
class WorkerForm(ModelForm):
class Meta:
model = Worker
exclude = ['appointments']
def __init__(self, *args, **kwargs):
choices = kwargs.pop('role_choices', STUDY_ROLE_CHOICES)
super(WorkerForm, self).__init__(*args, **kwargs)
self.fields['role'] = forms.ChoiceField(label='Role', choices=choices)
def save(self, commit=True):
instance = super(WorkerForm, self).save(commit)
roles = WorkerStudyRole.objects.filter(worker=instance, study_id=GLOBAL_STUDY_ID)
if roles.count() > 0:
roles.update(role=self.cleaned_data['role'])
else:
WorkerStudyRole.objects.create(worker=instance, study_id=GLOBAL_STUDY_ID, role=self.cleaned_data['role'])
\ No newline at end of file
......@@ -5,7 +5,7 @@ from django.db import models
from django.db.models.signals import post_save
from django.dispatch import receiver
from constants import BOOL_CHOICES, SUBJECT_TYPE_CHOICES_CONTROL
from web.models.constants import BOOL_CHOICES, SUBJECT_TYPE_CHOICES_CONTROL
class Visit(models.Model):
......
......@@ -4,10 +4,11 @@ import logging
from django.contrib.auth.decorators import login_required
from django.shortcuts import redirect, get_object_or_404
from web.forms import WorkerForm
from web.forms import AvailabilityAddForm, AvailabilityEditForm, HolidayAddForm
from web.models.worker_study_role import STUDY_ROLE_CHOICES, HEALTH_PARTNER_ROLE_CHOICES, VOUCHER_PARTNER_ROLE_CHOICES, \
WORKER_STAFF, WORKER_HEALTH_PARTNER, WORKER_VOUCHER_PARTNER
from . import wrap_response
from ..forms import WorkerForm, AvailabilityAddForm, AvailabilityEditForm, HolidayAddForm
from ..models import Worker, Availability, Holiday
from ..models.constants import WEEKDAY_CHOICES, GLOBAL_STUDY_ID
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment