diff options
Diffstat (limited to 'ishtar_common/views.py')
-rw-r--r-- | ishtar_common/views.py | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/ishtar_common/views.py b/ishtar_common/views.py index 18bdc6e36..22591164f 100644 --- a/ishtar_common/views.py +++ b/ishtar_common/views.py @@ -1115,9 +1115,9 @@ def get_item(model, func_name, default_name, extra_request_keys=[], for field_name in table_cols: if type(field_name) in (list, tuple): field_name = u" & ".join(field_name) - if hasattr(model, 'EXTRA_FULL_FIELDS_LABELS') and\ - field_name in model.EXTRA_FULL_FIELDS_LABELS: - field = model.EXTRA_FULL_FIELDS_LABELS[field_name] + if hasattr(model, 'COL_LABELS') and\ + field_name in model.COL_LABELS: + field = model.COL_LABELS[field_name] col_names.append(unicode(field).encode(ENCODING)) continue else: @@ -1128,7 +1128,7 @@ def get_item(model, func_name, default_name, extra_request_keys=[], logger.warning( "**WARN get_item - csv export**: no col name " "for {}\nadd explicit label to " - "EXTRA_FULL_FIELDS_LABELS attribute of " + "COL_LABELS attribute of " "{}".format(field_name, model)) continue col_names.append( @@ -1174,10 +1174,12 @@ def get_by_importer(request, slug, data_type='json', full=False, )(request, data_type, full, force_own, col_names=col_names, **dct) -def display_item(model, name, extra_dct=None): +def display_item(model, extra_dct=None, show_url=None): def func(request, pk, **dct): - dct['item_type'] = name - dct['pk'] = pk + if show_url: + dct['show_url'] = "/{}{}/".format(show_url, pk) + else: + dct['show_url'] = "/show-{}/{}/".format(model.SLUG, pk) return render_to_response('ishtar/display_item.html', dct, context_instance=RequestContext(request)) return func @@ -1629,9 +1631,11 @@ class ImportListView(IshtarMixin, LoginRequiredMixin, ListView): current_url = 'current_imports' def get_queryset(self): + q = self.model.objects.exclude(state='AC') + if self.request.user.is_superuser: + return q.order_by('-creation_date') user = models.IshtarUser.objects.get(pk=self.request.user.pk) - return self.model.objects.filter(user=user).exclude( - state='AC').order_by('-creation_date') + return q.filter(user=user).order_by('-creation_date') def post(self, request, *args, **kwargs): for field in request.POST: @@ -1643,10 +1647,11 @@ class ImportListView(IshtarMixin, LoginRequiredMixin, ListView): imprt = models.Import.objects.get(pk=int(field.split('-')[-1])) except (models.Import.DoesNotExist, ValueError): continue - # user can only edit his own imports - user = models.IshtarUser.objects.get(pk=self.request.user.pk) - if imprt.user != user: - continue + if not self.request.user.is_superuser: + # user can only edit his own imports + user = models.IshtarUser.objects.get(pk=self.request.user.pk) + if imprt.user != user: + continue action = request.POST[field] if action == 'D': return HttpResponseRedirect(reverse('import_delete', @@ -1665,9 +1670,11 @@ class ImportOldListView(ImportListView): current_url = 'old_imports' def get_queryset(self): + q = self.model.objects.filter(state='AC') + if self.request.user.is_superuser: + return q.order_by('-creation_date') user = models.IshtarUser.objects.get(pk=self.request.user.pk) - return self.model.objects.filter( - user=user, state='AC').order_by('-creation_date') + return q.filter(user=user).order_by('-creation_date') class ImportLinkView(IshtarMixin, LoginRequiredMixin, ModelFormSetView): |