Skip to content
Snippets Groups Projects
forms.py 2.6 KiB
Newer Older
from django.forms import ModelForm
Jacek Lebioda's avatar
Jacek Lebioda committed
from datetime import datetime
"""
Jacek Lebioda's avatar
Jacek Lebioda committed
Possible redundancy, but if need arises, contents of forms can be easily customized
Jacek Lebioda's avatar
Jacek Lebioda committed
CURRENT_YEAR = datetime.now().year
YEAR_CHOICES=tuple(range(CURRENT_YEAR,CURRENT_YEAR - 120, -1))


class SubjectAddForm(ModelForm):
Jacek Lebioda's avatar
Jacek Lebioda committed
    date_born = forms.DateField(label='Date of birth',
        widget=forms.SelectDateWidget(years=YEAR_CHOICES)
    )

    class Meta:
        model = Subject
        fields = '__all__'
    def clean(self):
        subject = self.cleaned_data

        subjects_from_db = Subject.objects.filter(screening_number=subject['screening_number'])

        if len(subjects_from_db):
            self.add_error('screening_number', "Screening number already in use")

class SubjectDetailForm(ModelForm):
    class Meta:
        model = Subject
        fields = '__all__'

class SubjectEditForm(ModelForm):
Jacek Lebioda's avatar
Jacek Lebioda committed
    date_born = forms.DateField(label='Date of birth',
        widget=forms.SelectDateWidget(years=YEAR_CHOICES)
    )

    class Meta:
        model = Subject
        fields = '__all__'
class WorkerAddForm(ModelForm):
    class Meta:
        model = Worker
class WorkerDetailForm(ModelForm):
    class Meta:
        model = Worker
        fields = '__all__'

class WorkerEditForm(ModelForm):
    class Meta:
        model = Worker
        fields = '__all__'


class AppointmentDetailForm(ModelForm):
    class Meta:
        model = Appointment
        fields = '__all__'
class AppointmentEditForm(ModelForm):
    class Meta:
        model = Appointment
        fields = '__all__'

Jacek Lebioda's avatar
Jacek Lebioda committed
    datetime_when = forms.DateTimeField(label='Appointment on (YYYY-MM-DD HH:MM:SS)')

class AppointmentAddForm(ModelForm):
    class Meta:
        model = Appointment
        exclude = ['is_finished']

Jacek Lebioda's avatar
Jacek Lebioda committed
    datetime_when = forms.DateTimeField(label='Appointment on (YYYY-MM-DD HH:MM:SS)')

class VisitDetailForm(ModelForm):
Jacek Lebioda's avatar
Jacek Lebioda committed
    datetime_begin = forms.DateField(label="Visit begins on",
        widget=forms.SelectDateWidget(years=YEAR_CHOICES)
    )
    datetime_end = forms.DateField(label="Visit ends on",
        widget=forms.SelectDateWidget(years=YEAR_CHOICES)
    )

        model = Visit
Jacek Lebioda's avatar
Jacek Lebioda committed
        exclude = ['is_finished']
Piotr Matyjaszyk's avatar
Piotr Matyjaszyk committed

class VisitAddForm(ModelForm):
Jacek Lebioda's avatar
Jacek Lebioda committed
    datetime_begin = forms.DateField(label="Visit begins on",
        widget=forms.SelectDateWidget(years=YEAR_CHOICES)
    )
    datetime_end = forms.DateField(label="Visit ends on",
        widget=forms.SelectDateWidget(years=YEAR_CHOICES)
    )
Piotr Matyjaszyk's avatar
Piotr Matyjaszyk committed
    class Meta:
        model = Visit
Piotr Matyjaszyk's avatar
Piotr Matyjaszyk committed
        exclude = ['is_finished']