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): | 
