diff options
| -rw-r--r-- | ishtar/furnitures/views.py | 24 | ||||
| -rw-r--r-- | ishtar/furnitures/widgets.py | 2 | 
2 files changed, 13 insertions, 13 deletions
| diff --git a/ishtar/furnitures/views.py b/ishtar/furnitures/views.py index 11563823a..c4dd517fb 100644 --- a/ishtar/furnitures/views.py +++ b/ishtar/furnitures/views.py @@ -25,7 +25,7 @@ import csv  import json  import datetime -from django.http import HttpResponse +from django.http import HttpResponse, Http404  from django.template import RequestContext  from django.shortcuts import render_to_response, redirect  from django.utils.translation import ugettext, ugettext_lazy as _ @@ -51,7 +51,7 @@ def index(request):  def update_current_item(request):      if not request.is_ajax() and not request.method == 'POST': -        return Http404() +        raise Http404      if 'value' in request.POST and 'item' in request.POST:          request.session[request.POST['item']] = request.POST['value']      return HttpResponse('ok') @@ -134,13 +134,13 @@ def get_item(model, func_name, default_name, extra_request_keys=[]):      """      Generic treatment of tables      """ -    def func(request, type='json', **dct): -        if not type: -            type = 'json' +    def func(request, data_type='json', **dct): +        if not data_type: +            data_type = 'json'          fields = [model._meta.get_field_by_name(k)[0]                    for k in model._meta.get_all_field_names()]          request_keys = dict([(field.name, -                          field.name + (hasattr(field, 'rel') and '__pk' or '')) +            field.name + (hasattr(field, 'rel') and field.rel and '__pk' or ''))                                  for field in fields])          request_keys.update(extra_request_keys)          dct = {} @@ -149,11 +149,11 @@ def get_item(model, func_name, default_name, extra_request_keys=[]):              if not q:                  continue              dct[request_keys[k]] = q -        if not dct: -            if func_name in request.session: -                dct = request.session[func_name] -            elif default_name in request.session: +        if not dct and 'submited' not in request.GET: +            if default_name in request.session:                  dct = {"pk":request.session[default_name]} +            elif func_name in request.session: +                dct = request.session[func_name]              if not dct:                  return HttpResponse(mimetype='text/plain')          else: @@ -182,7 +182,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[]):                  else:                      data.append(val and unicode(val) or u"")              datas.append(data) -        if type == "json": +        if data_type == "json":              rows = []              for data in datas:                  res = {'id':data[0]} @@ -195,7 +195,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[]):                  "rows":rows              })              return HttpResponse(data, mimetype='text/plain') -        elif type == "csv": +        elif data_type == "csv":              response = HttpResponse(mimetype='text/csv')              n = datetime.datetime.now()              filename = u'%s_%s.csv' % (default_name, diff --git a/ishtar/furnitures/widgets.py b/ishtar/furnitures/widgets.py index 69591a9ce..34fa24357 100644 --- a/ishtar/furnitures/widgets.py +++ b/ishtar/furnitures/widgets.py @@ -194,7 +194,7 @@ jQuery("#search_%(name)s").click(function (){          }
      }
      var mygrid = jQuery("#grid_%(name)s");
 -    var url = "%(source)s?" + data;
 +    var url = "%(source)s?submited=1&" + data;
      mygrid.setGridParam({url:url});
      mygrid.trigger("reloadGrid");
      return false;
 | 
