diff options
| author | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-07-10 18:13:41 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@peacefrogs.net> | 2011-07-10 18:13:41 +0200 | 
| commit | 2d307fd28838a7298d2a552f056d10f548f16df7 (patch) | |
| tree | e72a63cac8e6ed0292332b43dee80bb3aa23cc6e /ishtar/ishtar_base | |
| parent | b579fefbfe9151b562bd2788395ddde4f83da6f0 (diff) | |
| download | Ishtar-2d307fd28838a7298d2a552f056d10f548f16df7.tar.bz2 Ishtar-2d307fd28838a7298d2a552f056d10f548f16df7.zip | |
Correct multiple jquery date-picker behaviour on a single page (closes #527)
Diffstat (limited to 'ishtar/ishtar_base')
| -rw-r--r-- | ishtar/ishtar_base/widgets.py | 26 | 
1 files changed, 6 insertions, 20 deletions
| diff --git a/ishtar/ishtar_base/widgets.py b/ishtar/ishtar_base/widgets.py index 5d46cb625..acd7dc427 100644 --- a/ishtar/ishtar_base/widgets.py +++ b/ishtar/ishtar_base/widgets.py @@ -71,26 +71,12 @@ if settings.SURFACE_UNIT == 'square-metre':      AreaWidget = SquareMeterWidget
  class JQueryDate(forms.TextInput):
 -    def render(self, name, value=None, attrs=None):
 -        rendered = super(JQueryDate, self).render(name, value, attrs)
 -        rendered += """
 -<script type="text/javascript"><!--//
 -    $(function() {
 -        $("#id_%(name)s").datepicker($.datepicker.regional["%(country)s"]);
 -        var val = $("#id_%(name)s").val();
 -        if(val){
 -            var dtp = $.datepicker.parseDate('yy-mm-dd', val);
 -            val = $.datepicker.formatDate(
 -                    $.datepicker.regional["%(country)s"]['dateFormat'],
 -                    dtp);
 -            $("#id_%(name)s").val(val);
 -        }
 -    });
 -//--></script>
 -""" % {"name":name, "country":settings.COUNTRY}
 -        return rendered
 +    def __init__(self, *args, **kwargs):
 +        super(JQueryDate, self).__init__(*args, **kwargs)
 +        if 'class' not in self.attrs:
 +            self.attrs['class'] = ''
 +        self.attrs['class'] = 'date-pickup'
 -class JQueryDate(forms.TextInput):
      def render(self, name, value=None, attrs=None):
          rendered = super(JQueryDate, self).render(name, value, attrs)
          # use window.onload to be sure that datepicker don't interfere
 @@ -98,7 +84,7 @@ class JQueryDate(forms.TextInput):          rendered += """
  <script type="text/javascript"><!--//
      $(window).load(function() {
 -        $("#id_%(name)s").datepicker($.datepicker.regional["%(country)s"]);
 +        $(".date-pickup").datepicker($.datepicker.regional["%(country)s"]);
          var val = $("#id_%(name)s").val();
          if(val){
              var dt = $.datepicker.parseDate('yy-mm-dd', val);
 | 
