summaryrefslogtreecommitdiff
path: root/ishtar/furnitures
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar/furnitures')
-rw-r--r--ishtar/furnitures/urls.py2
-rw-r--r--ishtar/furnitures/views.py19
-rw-r--r--ishtar/furnitures/widgets.py3
3 files changed, 22 insertions, 2 deletions
diff --git a/ishtar/furnitures/urls.py b/ishtar/furnitures/urls.py
index 7d223df58..deaea4248 100644
--- a/ishtar/furnitures/urls.py
+++ b/ishtar/furnitures/urls.py
@@ -87,6 +87,8 @@ urlpatterns += patterns('ishtar.furnitures.views',
name='autocomplete-file'),
url(BASE_URL + r'get-file/(?P<type>.+)?$', 'get_file',
name='get-file'),
+ url(BASE_URL + r'show-file/(?P<pk>.+)?$', 'show_file',
+ name='show-file'),
url(BASE_URL + r'autocomplete-operation/$', 'autocomplete_operation',
name='autocomplete-operation'),
url(BASE_URL + r'get-operation/(?P<type>.+)?$', 'get_operation',
diff --git a/ishtar/furnitures/views.py b/ishtar/furnitures/views.py
index c4dd517fb..4e0001287 100644
--- a/ishtar/furnitures/views.py
+++ b/ishtar/furnitures/views.py
@@ -30,6 +30,7 @@ from django.template import RequestContext
from django.shortcuts import render_to_response, redirect
from django.utils.translation import ugettext, ugettext_lazy as _
from django.core.exceptions import ObjectDoesNotExist
+from django.core.urlresolvers import reverse
from django.db.models import Q
from django.core import serializers
@@ -182,10 +183,14 @@ def get_item(model, func_name, default_name, extra_request_keys=[]):
else:
data.append(val and unicode(val) or u"")
datas.append(data)
+ link_template = "<a href='#' onclick='load_window(\"%%s\")'>%s</a>" % \
+ (unicode(_("Details")))
if data_type == "json":
rows = []
for data in datas:
- res = {'id':data[0]}
+ res = {'id':data[0],
+ 'link':link_template % reverse('show-'+default_name,
+ args=[data[0]])}
for idx, value in enumerate(data[1:]):
if value:
res[model.TABLE_COLS[idx].split('.')[-1]] = value
@@ -218,7 +223,19 @@ def get_item(model, func_name, default_name, extra_request_keys=[]):
return func
+def show_item(model, name):
+ def func(request, pk, **dct):
+ try:
+ item = model.objects.get(pk=pk)
+ except ObjectDoesNotExist:
+ return HttpResponse(None)
+ dct['item'] = item
+ return render_to_response('sheet_%s.html' % name, dct,
+ context_instance=RequestContext(request))
+ return func
+
get_file = get_item(models.File, 'get_file', 'file')
+show_file = show_item(models.File, 'file')
def autocomplete_operation(request, non_closed=True):
if not request.user.has_perm('furnitures.view_operation', models.Operation)\
diff --git a/ishtar/furnitures/widgets.py b/ishtar/furnitures/widgets.py
index 34fa24357..5d184f123 100644
--- a/ishtar/furnitures/widgets.py
+++ b/ishtar/furnitures/widgets.py
@@ -204,9 +204,10 @@ jQuery("#grid_%(name)s").jqGrid({
url:'%(source)s',
datatype: "json",
mtype: 'GET',
- colNames:['id', %(col_names)s],
+ colNames:['id', '', %(col_names)s],
colModel:[
{name:'id', index:'id', hidden:true},
+{name:'link', index:'link', width:80},
%(extra_cols)s
],
sortname: 'value',