Source code for erecord_cmn.forms
# -*- coding: utf-8 -*-
"""erecord_cmn.forms
Forms common to erecord applications
"""
from django import forms
# Some forms common to erecord applications
[docs]class ReadonlyForm(forms.ModelForm):
"""Form with all fields readonly and in textarea"""
def __init__(self, *args, **kwargs):
super(ReadonlyForm, self).__init__(*args, **kwargs)
# read-only fields, text-area fields
for (n,f) in self.fields.iteritems() :
f.widget=forms.Textarea(attrs={'rows':1, 'cols':60})
f.widget.attrs['readonly'] = True
[docs]class TextAreasForm(forms.ModelForm):
"""Form with all fields in textarea"""
def __init__(self, *args, **kwargs):
super(TextAreasForm, self).__init__(*args, **kwargs)
# text-area fields
for (n,f) in self.fields.iteritems() :
f.widget=forms.Textarea(attrs={'rows':1, 'cols':100})
[docs] def make_readonly(self, name_field):
f = self.fields[name_field]
f.widget.attrs['readonly'] = True
[docs]class ErrorForm(forms.Form):
"""Form dedicated to an error"""
status = forms.IntegerField(label="status" )
detail = forms.CharField(label="detail", max_length=100000)
def __init__(self, *args, **kwargs):
super(ErrorForm, self).__init__(*args, **kwargs)
f = self.fields['detail']
f.widget=forms.Textarea(attrs={'rows':2, 'cols':140})
for (n,f) in self.fields.iteritems() :
f.widget.attrs['readonly'] = True