diff options
Diffstat (limited to 'ishtar_common/forms.py')
-rw-r--r-- | ishtar_common/forms.py | 37 |
1 files changed, 31 insertions, 6 deletions
diff --git a/ishtar_common/forms.py b/ishtar_common/forms.py index eebd912ea..5b8b43bf4 100644 --- a/ishtar_common/forms.py +++ b/ishtar_common/forms.py @@ -28,10 +28,11 @@ from django import forms from django.core.urlresolvers import reverse from django.core import validators from django.forms.formsets import BaseFormSet, DELETION_FIELD_NAME -from django.utils import formats +from django.utils import formats, translation from django.utils.functional import lazy from django.utils.translation import ugettext_lazy as _ +from bootstrap_datepicker.widgets import DatePicker, DATE_FORMAT import models import widgets from ishtar_common.utils import MultiValueDict @@ -241,12 +242,36 @@ class FormSet(CustomForm, BaseFormSet): form.fields[DELETION_FIELD_NAME].widget = widgets.DeleteWidget() -class TableSelect(forms.Form): +class IshtarForm(forms.Form): + def __init__(self, *args, **kwargs): + super(IshtarForm, self).__init__(*args, **kwargs) + for k in self.fields: + cls = 'form-control' + if 'class' in self.fields[k].widget.attrs: + cls = self.fields[k].widget.attrs['class'] + " " + cls + self.fields[k].widget.attrs['class'] = cls + widget = self.fields[k].widget + if not isinstance(widget, DatePicker): + continue + lang = translation.get_language() + widget.options['language'] = lang + if lang in DATE_FORMAT: + widget.options['format'] = DATE_FORMAT[lang] + if 'autoclose' not in widget.options: + widget.options['autoclose'] = 'true' + widget.options['todayHighlight'] = 'true' + + +class TableSelect(IshtarForm): def __init__(self, *args, **kwargs): super(TableSelect, self).__init__(*args, **kwargs) # no field is required for search for k in self.fields: self.fields[k].required = False + cls = 'form-control' + if k == 'search_vector': + cls += " search-vector" + self.fields[k].widget.attrs['class'] = cls key = self.fields.keys()[0] self.fields[key].widget.attrs['autofocus'] = 'autofocus' @@ -263,7 +288,7 @@ def get_now(): class ClosingDateFormSelection(forms.Form): form_label = _("Closing date") end_date = forms.DateField(label=_(u"Closing date"), - widget=widgets.JQueryDate) + widget=DatePicker) def __init__(self, *args, **kwargs): if 'initial' not in kwargs: @@ -299,8 +324,8 @@ def get_form_selection( attrs[key] = forms.IntegerField( label="", required=False, validators=[models.valid_id(model)], - widget=widgets.JQueryJqGrid(reverse_lazy(get_url), base_form, model, - **widget_kwargs)) + widget=widgets.DataTable(reverse_lazy(get_url), base_form, model, + **widget_kwargs)) def clean(self): cleaned_data = self.cleaned_data @@ -358,7 +383,7 @@ class FieldType(object): return self.model.get_help(**args) -class ManageOldType(object): +class ManageOldType(IshtarForm): TYPES = [] # FieldType list def __init__(self, *args, **kwargs): |