import logging from django.forms import ModelForm, ValidationError from web.models import Study, StudyNotificationParameters, StudyColumns, StudySubject 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 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__'