summaryrefslogtreecommitdiff
path: root/ishtar/furnitures/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/furnitures/views.py')
-rw-r--r--ishtar/furnitures/views.py17
1 files changed, 13 insertions, 4 deletions
diff --git a/ishtar/furnitures/views.py b/ishtar/furnitures/views.py
index 4ef1f81ea..0320ce5c9 100644
--- a/ishtar/furnitures/views.py
+++ b/ishtar/furnitures/views.py
@@ -174,13 +174,18 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
field.name + (hasattr(field, 'rel') and field.rel and '__pk' or ''))
for field in fields])
request_keys.update(extra_request_keys)
+ request_items = request.method == 'POST' and request.POST or request.GET
dct = {}
+ try:
+ old = 'old' in request_items and int(request_items['old'])
+ except ValueError:
+ return HttpResponse(None, mimetype='text/plain')
for k in request_keys:
- q = request.GET.get(k)
+ q = request_items.get(k)
if not q:
continue
dct[request_keys[k]] = q
- if not dct and 'submited' not in request.GET:
+ if not dct and 'submited' not in request_items:
if default_name in request.session and \
request.session[default_name]:
dct = {"pk":request.session[default_name]}
@@ -196,16 +201,20 @@ def get_item(model, func_name, default_name, extra_request_keys=[],
dct[k] = dct[k] == u"2" and True or False
query = Q(**dct)
items = model.objects.filter(query)
- q = request.GET.get('sidx')
+ q = request_items.get('sidx')
# manage tables
if q and q in request_keys:
k = request_keys[q]
if k.endswith("__pk"):
k = k[:-len("__pk")] + "__label"
- q = request.GET.get('sord')
+ q = request_items.get('sord')
sign = q and q == u'desc' and "-" or ''
items = items.order_by(sign + k)
datas = []
+ if old:
+ print [item.pk for item in items]
+ items = [item.get_previous(old) for item in items]
+ print [item.pk for item in items]
for item in items:
data = [item.pk]
for k in model.TABLE_COLS: