Skip to content
Snippets Groups Projects
study_forms.py 1.33 KiB
Newer Older
Piotr Gawron's avatar
Piotr Gawron committed
import logging

from django.forms import ModelForm, ValidationError
from web.models import Study, StudyNotificationParameters, StudyColumns, StudySubject
Piotr Gawron's avatar
Piotr Gawron committed

logger = logging.getLogger(__name__)


class StudyEditForm(ModelForm):

    def __init__(self, *args, **kwargs):
        super(StudyEditForm, self).__init__(*args, **kwargs)

    def clean_nd_number_study_subject_regex(self):
        nd_number_study_subject_regex = self.cleaned_data.get(
            'nd_number_study_subject_regex')

        if StudySubject.check_nd_number_regex(nd_number_study_subject_regex) == False:
            raise ValidationError(
                'Please enter a valid nd_number_study_subject_regex regex.')

        return nd_number_study_subject_regex

Piotr Gawron's avatar
Piotr Gawron committed
    class Meta:
        model = Study
        fields = '__all__'
        exclude = ['columns', 'notification_parameters']


class StudyNotificationParametersEditForm(ModelForm):

    def __init__(self, *args, **kwargs):
        super(StudyNotificationParametersEditForm,
              self).__init__(*args, **kwargs)

    class Meta:
        model = StudyNotificationParameters
        fields = '__all__'


class StudyColumnsEditForm(ModelForm):

    def __init__(self, *args, **kwargs):
        super(StudyColumnsEditForm, self).__init__(*args, **kwargs)

    class Meta:
        model = StudyColumns
        fields = '__all__'