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;
|