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): | 
