summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ishtar_common/forms_common.py2
-rw-r--r--ishtar_common/models_imports.py15
-rw-r--r--ishtar_common/templates/ishtar/import_table.html2
-rw-r--r--ishtar_common/views.py16
4 files changed, 23 insertions, 12 deletions
diff --git a/ishtar_common/forms_common.py b/ishtar_common/forms_common.py
index e5ff21cd8..6a351ab3c 100644
--- a/ishtar_common/forms_common.py
+++ b/ishtar_common/forms_common.py
@@ -374,7 +374,7 @@ class NewImportForm(BaseImportForm):
if "imported_images_link" in self.cleaned_data
else None
)
- item = super(BaseImportForm, self).save(commit)
+ item = super().save(commit)
if not imported_images_link:
return item
request = requests.get(imported_images_link, stream=True)
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py
index d0aa6f4d6..e9a7cf6df 100644
--- a/ishtar_common/models_imports.py
+++ b/ishtar_common/models_imports.py
@@ -1293,10 +1293,6 @@ class BaseImport(models.Model):
class ImportGroup(BaseImport):
- class Meta:
- verbose_name = _("Import - Group")
- verbose_name_plural = _("Import - Groups")
- ADMIN_SECTION = _("Imports")
importer_type = models.ForeignKey(ImporterGroup, on_delete=models.CASCADE,
verbose_name=_("Importer group type"))
current_import = models.PositiveIntegerField(_("Current import"), blank=True, null=True)
@@ -1304,6 +1300,17 @@ class ImportGroup(BaseImport):
_("State"), max_length=2, choices=IMPORT_GROUP_STATE, default="C"
)
+ class Meta:
+ verbose_name = _("Import - Group")
+ verbose_name_plural = _("Import - Groups")
+ ADMIN_SECTION = _("Imports")
+
+ @property
+ def status(self):
+ if self.state not in IMPORT_GROUP_STATE_DCT:
+ return ""
+ return IMPORT_GROUP_STATE_DCT[self.state]
+
class Import(BaseImport):
importer_type = models.ForeignKey(ImporterType, on_delete=models.CASCADE,
diff --git a/ishtar_common/templates/ishtar/import_table.html b/ishtar_common/templates/ishtar/import_table.html
index df58cb6e2..aec59babc 100644
--- a/ishtar_common/templates/ishtar/import_table.html
+++ b/ishtar_common/templates/ishtar/import_table.html
@@ -42,7 +42,7 @@ $("#import-list").find('input').prop('disabled', true);
{{import.name|default:"-"}}
</td>
<td>
- {{import.importer_type}} ({% trans import.importer_type.type_label %})
+ {{import.importer_type}} ({% if import.importer_type.type_label %}{% trans import.importer_type.type_label %}{% else %}{% trans "Group" %}{% endif %})
</td>
<td>
{% if import.imported_file %}
diff --git a/ishtar_common/views.py b/ishtar_common/views.py
index 31d3d9516..2beade02d 100644
--- a/ishtar_common/views.py
+++ b/ishtar_common/views.py
@@ -1527,11 +1527,15 @@ 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("-pk")
- user = models.IshtarUser.objects.get(pk=self.request.user.pk)
- return q.filter(user=user).order_by("-pk")
+ q1 = self.model.objects.exclude(state="AC")
+ q2 = models.ImportGroup.objects.exclude(state="AC")
+ if not self.request.user.is_superuser:
+ user = models.IshtarUser.objects.get(pk=self.request.user.pk)
+ q1 = q1.filter(user=user)
+ q2 = q2.filter(user=user)
+ q1 = q1.order_by("-creation_date", "-pk")
+ q2 = q2.order_by("-creation_date", "-pk")
+ return reversed(sorted(list(q1) + list(q2), key=lambda x: x.creation_date))
def post(self, request, *args, **kwargs):
for field in request.POST:
@@ -1597,7 +1601,7 @@ class ImportListView(IshtarMixin, LoginRequiredMixin, ListView):
return HttpResponseRedirect(reverse(self.current_url))
def get_context_data(self, **kwargs):
- dct = super(ImportListView, self).get_context_data(**kwargs)
+ dct = super().get_context_data(**kwargs)
dct.update({
"autorefresh_available": settings.USE_BACKGROUND_TASK,
"has_import_table": models.ImporterType.objects.filter(available=True, is_import=True, type='tab').count(),