class Meta: model = SeaPhenomenon exclude = [] widgets = { 'date': SuitDateWidget(), 'date_start': SuitDateWidget(), 'date_stop': SuitDateWidget() }
def __init__(self, *args, **kwargs): """ Automaticaly generate form fields with dynamic names based on the filtering field name """ self.field_name = kwargs.pop('field_name', 'date') self.title = kwargs.pop('title', 'Date').title() super(DateRangeForm, self).__init__(*args, **kwargs) self.fields['%s_start' % self.field_name] = forms.DateField( widget=SuitDateWidget(attrs={ 'placeholder': self.title, 'style': 'width=330px;' }), label=pgettext('date', 'From'), required=False) self.fields['%s_end' % self.field_name] = forms.DateField( widget=SuitDateWidget(attrs={'placeholder': self.title}), label=pgettext('date', 'To'), required=False)
def __init__(self, attrs=None, date_attrs=None, date_format=None, time_attrs=None, time_format=None): widgets = [ SuitDateWidget(attrs=date_attrs, format=date_format), SuitTimeWidget(attrs=time_attrs, format=time_format) ] forms.MultiWidget.__init__(self, widgets, attrs)
class Meta: model = Persona fields = ( 'foto', 'letracedulaidentidad', 'cedulaidentidad', 'rif', 'pasaporte', 'nombre', 'otrosnombres', 'apellido', 'otrosapellidos', 'fechanacimiento', 'sexo', 'telefono', 'celular', 'email', 'twitter', 'paisnacimiento', 'etnia', 'padre', 'madre', 'conyuge', 'authuser', 'cne' ) widgets = { 'foto': FileInput(), 'letracedulaidentidad': Select(attrs={'class':'btn btn-default btn-sm input-sm'}), 'cedulaidentidad': TextInput(attrs={'class':'form-control input-sm'}), 'rif': TextInput(attrs={'class':'form-control input-sm'}), 'pasaporte': TextInput(attrs={'class':'form-control input-sm'}), 'nombre': TextInput(attrs={'class':'form-control input-sm'}), 'otrosnombres': TextInput(attrs={'class':'form-control input-sm'}), 'apellido': TextInput(attrs={'class':'form-control input-sm'}), 'otrosapellidos': TextInput(attrs={'class':'form-control input-sm'}), 'fechanacimiento': SuitDateWidget(attrs={'class':'form-control input-sm','readonly':'True'}), 'sexo': Select(attrs={'class':'form-control input-sm'}), 'telefono': TextInput(attrs={'class':'form-control input-sm'}), 'celular': TextInput(attrs={'class':'form-control input-sm'}), 'email': EmailInput(attrs={'class':'form-control input-sm'}), 'twitter': TextInput(attrs={'class':'form-control input-sm'}), 'paisnacimiento': autocomplete.ModelSelect2(url='demografia:paisAutoComplete', attrs={'data-placeholder': '----------', 'data-minimum-input-length': 3, 'class':'form-control input-sm'}), 'etnia': autocomplete.ModelSelect2(url='demografia:etniaAutoComplete', attrs={'data-placeholder': '----------', 'data-minimum-input-length': 3, 'class':'form-control input-sm'}), 'padre': autocomplete.ModelSelect2(url='demografia:hombreAutoComplete', attrs={'data-placeholder': '----------', 'data-minimum-input-length': 3, 'class':'form-control input-sm'}), 'madre': autocomplete.ModelSelect2(url='demografia:mujerAutoComplete', attrs={'data-placeholder': '----------', 'data-minimum-input-length': 3, 'class':'form-control input-sm'}), 'conyuge': autocomplete.ModelSelect2(url='demografia:personaAutoComplete', forward=('sexo',), attrs={'data-placeholder': '----------', 'data-minimum-input-length': 3, 'class':'form-control input-sm'}), 'cne': TextInput(attrs={'class':'form-control input-sm','readonly':'True'}), }
class Meta: model = HistoriaLaboral fields = ( 'persona', 'institucion', 'tipo_personal', 'fecha_ingreso', 'fecha_egreso', 'condicion_egreso', ) widgets = { 'persona': autocomplete.ModelSelect2(url='globales:personaAutoComplete', forward=['sexo'], attrs={ 'data-placeholder': '----------', 'data-minimum-input-length': 3, 'class': 'form-control input-sm' }), 'institucion': autocomplete.ModelSelect2( url='oeu:institucion-ieu', attrs={ 'data-placeholder': 'Institución de Educación Universitaria ...', }, ), 'tipo_personal': Select(attrs={'class': 'form-control input-sm'}), 'fecha_ingreso': SuitDateWidget(), 'fecha_egreso': SuitDateWidget(), 'condicion_egreso': Select(attrs={'class': 'form-control input-sm'}), }
def test_SuitDateWidget_output(self): sdw = SuitDateWidget(attrs={'placeholder': 'Date'}) output = sdw.render('sdw', '') self.assertHTMLEqual( self.get_SuitDateWidget_output(), output)
def test_SuitDateWidget_output(self): sdw = SuitDateWidget(attrs={'placeholder': 'Date'}) output = sdw.render('sdw', '') self.assertHTMLEqual(self.get_SuitDateWidget_output(), output)
def test_SuitDateWidget_with_existing_placeholder_attr(self): sdw = SuitDateWidget(attrs={'class': 'custom-cls', 'placeholder': 'p'}) self.assertTrue('vDateField ' in sdw.attrs['class']) self.assertTrue(' custom-cls' in sdw.attrs['class']) self.assertEqual('p', sdw.attrs['placeholder'])
def test_SuitDateWidget_with_existing_class_attr(self): sdw = SuitDateWidget(attrs={'class': 'custom-class'}) self.assertTrue('vDateField ' in sdw.attrs['class']) self.assertTrue(' custom-class' in sdw.attrs['class']) self.assertEqual(_('Date:')[:-1], sdw.attrs['placeholder'])
def test_SuitDateWidget(self): sdw = SuitDateWidget() self.assertTrue('vDateField' in sdw.attrs['class'])
class CustomerActionForm(ActionFormWithParams): start = forms.DateField(widget=SuitDateWidget(attrs={'class': 'customer-action__date-selector'})) end = forms.DateField(widget=SuitDateWidget(attrs={'class': 'customer-action__date-selector'}))
def __init__(self, attrs=None): subwidgets = (SuitDateWidget(attrs=attrs), HTML5Input(attrs={'class': 'input-small'}, input_type='time')) forms.MultiWidget.__init__(self, subwidgets, attrs)