diff options
Diffstat (limited to 'ishtar/furnitures/views.py')
| -rw-r--r-- | ishtar/furnitures/views.py | 19 | 
1 files changed, 18 insertions, 1 deletions
| 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)\ | 
