summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ishtar/furnitures/views.py24
-rw-r--r--ishtar/furnitures/widgets.py2
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;