class CuratorWholeSetAlbumsSelectionForm(forms.Form): albums = autocomplete_light.ModelMultipleChoiceField('PublicAlbumAutocomplete', label=_('Albums'), required=True) def __init__(self, *args, **kwargs): super(CuratorWholeSetAlbumsSelectionForm, self).__init__(*args, **kwargs) self.fields['albums'].help_text = None
class UserPhotoUploadForm(autocomplete_light.ModelForm): albums = autocomplete_light.ModelMultipleChoiceField( 'PublicAlbumAutocomplete', label=_('Albums'), required=True) licence = forms.ModelChoiceField( label=_('Licence'), queryset=Licence.objects.filter(is_public=True), required=False) uploader_is_author = forms.BooleanField(label=_('I am the author'), required=False) class Meta: model = Photo fields = ('image', 'description', 'author', 'uploader_is_author', 'licence', 'albums') widgets = { 'description': forms.Textarea(attrs={ 'rows': 1, 'cols': 40 }) } def clean(self): super(UserPhotoUploadForm, self).clean() if not self.cleaned_data.get('image'): self.errors['image'] = [_('Missing image')] if not self.cleaned_data.get('description'): self.errors['description'] = [_('Missing description')] if not self.cleaned_data.get( 'uploader_is_author') and not self.cleaned_data.get('licence'): self.errors['licence'] = [_('Missing licence')]
class SiteFilterForm(autocomplete_light.ModelForm): name = autocomplete_light.ModelMultipleChoiceField( Site.objects.all(), required=False, widget=autocomplete_light.MultipleChoiceWidget('SiteAutocomplete')) class Meta: model = Site fields = ['name']
class StudentMultpleAttendanceForm(autocomplete_light.ModelForm): """ Form accepts multiple students """ class Meta: model = StudentAttendance widgets = { 'date': adminwidgets.AdminDateWidget(), 'time': adminwidgets.AdminTimeWidget(), } fields = ('date', 'status', 'time', 'notes', 'private_notes') student = autocomplete_light.ModelMultipleChoiceField('StudentUserAutocomplete')
class AreaForm(autocomplete_light.ModelForm): period_reference = autocomplete_light.ModelMultipleChoiceField(Book.objects.all(), required = False, widget =autocomplete_light.MultipleChoiceWidget('BookAutocomplete') ) reference = autocomplete_light.ModelMultipleChoiceField(Book.objects.all(), required = False, widget =autocomplete_light.MultipleChoiceWidget('BookAutocomplete') ) class Meta: model = Area #exclude =['reference', 'period_reference'] fields="__all__" def __init__(self, *args, **kwargs): super(AreaForm, self).__init__(*args, **kwargs) self.helper = FormHelper() self.helper.add_input(Submit('submit','Create')) instance = getattr(self, 'instance', None) if instance and instance.pk: self.fields['site'].widget.attrs['readonly'] = True #lock some fields in editing mode from editing self.fields['site'].widget.attrs['disabled'] = True self.fields['area_type'].widget.attrs['readonly'] = True self.fields['area_type'].widget.attrs['disabled'] = True def clean_site(self): instance = getattr(self, 'instance', None) if instance and instance.pk: return instance.site else: return self.cleaned_data['site'] def clean_area_type(self): instance = getattr(self, 'instance', None) if instance and instance.pk: return instance.area_type else: return self.cleaned_data['area_type']
class InterpretationForm(autocomplete_light.ModelForm): reference = autocomplete_light.ModelMultipleChoiceField(Book.objects.all(), required = False, widget =autocomplete_light.MultipleChoiceWidget('BookAutocomplete')) class Meta: model = Interpretation fields = '__all__' def __init__(self, *args, **kwargs): super(InterpretationForm, self).__init__(*args, **kwargs) self.helper = FormHelper() self.helper.add_input(Submit('submit','Create'))
class SiteForm(autocomplete_light.ModelForm): reference = autocomplete_light.ModelMultipleChoiceField(Book.objects.all(), required = False, widget =autocomplete_light.MultipleChoiceWidget('BookAutocomplete'), help_text="Bibliographic and web-based references to publications and other relevant information on the site.") class Meta: model = Site #exclude=["alternative_name"] fields = '__all__' def __init__(self, *args, **kwargs): super(SiteForm, self).__init__(*args, **kwargs) self.helper = FormHelper() self.helper.add_input(Submit('submit','Create'))
class AddTextForm(TextFormBase): class Meta(TextFormBase.Meta): fields = ['title', 'uri', 'dateCreated', 'dateDigitized', 'upload'] exclude = ['length', 'content', 'filename', 'creator'] upload = forms.FileField() creator = autocomplete_light.ModelMultipleChoiceField( 'ConceptAutocomplete') def __init__(self, *args, **kwargs): super(AddTextForm, self).__init__(*args, **kwargs) # Upload self.fields['upload'].help_text = HELP_TEXT['upload'] # Creator self.fields['creator'].help_text = HELP_TEXT['creator']
class ReferralHistoryForm(forms.Form): """ record a new referral autocomplete Physician Don't need blank for Org Assume today's date """ physician = autocomplete_light.ModelMultipleChoiceField( 'PhysicianAutocomplete', required=False) from_date = forms.DateField(widget=forms.TextInput(attrs={ 'class': 'datepicker', 'readonly': 'readonly' })) to_date = forms.DateField(widget=forms.TextInput(attrs={ 'class': 'datepicker', 'readonly': 'readonly' }))
class FindsForm(autocomplete_light.ModelForm, forms.ModelForm): reference = autocomplete_light.ModelMultipleChoiceField(Book.objects.all(), required = False, widget =autocomplete_light.MultipleChoiceWidget('BookAutocomplete'), help_text="Bibliographic and web-based reference(s) to publications and other relevant resources on the selected small finds.") research_event = forms.ModelChoiceField(queryset=ResearchEvent.objects.all(), help_text="Project/ Research the finds are related to.", required=False) class Meta: model = Finds fields = '__all__' def __init__(self, *args, **kwargs): super(FindsForm, self).__init__(*args, **kwargs) self.helper = FormHelper() self.helper.add_input(Submit('submit','Create')) instance = getattr(self, 'instance', None) if instance and instance.pk: self.fields['area'].widget.attrs['readonly'] = True self.fields['area'].widget.attrs['disabled'] = True self.fields['finds_type'].widget.attrs['readonly'] = True self.fields['finds_type'].widget.attrs['disabled'] = True def clean_area(self): instance = getattr(self, 'instance', None) if instance and instance.pk: return instance.area else: return self.cleaned_data['area'] def clean_finds_type(self): instance = getattr(self, 'instance', None) if instance and instance.pk: return instance.finds_type else: return self.cleaned_data['finds_type']