summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2023-08-07 12:46:54 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2024-04-16 16:38:32 +0200
commit6e5740c977ea4eb425b68b5cacb982916a43ba73 (patch)
tree63c2980f1634368ba1dcc4b2394fa998f498af46
parent0ee16724a2c9bb9dc331f6bffdcca0669d139b4c (diff)
downloadIshtar-6e5740c977ea4eb425b68b5cacb982916a43ba73.tar.bz2
Ishtar-6e5740c977ea4eb425b68b5cacb982916a43ba73.zip
✨ Imports - model: link import -> import group
-rw-r--r--ishtar_common/migrations/0230_auto_20230807_1105.py (renamed from ishtar_common/migrations/0230_auto_20230803_1648.py)14
-rw-r--r--ishtar_common/models_imports.py27
2 files changed, 39 insertions, 2 deletions
diff --git a/ishtar_common/migrations/0230_auto_20230803_1648.py b/ishtar_common/migrations/0230_auto_20230807_1105.py
index 19402b5f6..9d462f393 100644
--- a/ishtar_common/migrations/0230_auto_20230803_1648.py
+++ b/ishtar_common/migrations/0230_auto_20230807_1105.py
@@ -1,4 +1,4 @@
-# Generated by Django 2.2.24 on 2023-08-03 16:48
+# Generated by Django 2.2.24 on 2023-08-07 11:05
import django.core.validators
from django.db import migrations, models
@@ -27,6 +27,10 @@ class Migration(migrations.Migration):
'ordering': ('name',),
},
),
+ migrations.AlterModelOptions(
+ name='import',
+ options={'verbose_name': 'Import - Import', 'verbose_name_plural': 'Import - Imports'},
+ ),
migrations.AddField(
model_name='importertype',
name='is_import',
@@ -60,7 +64,8 @@ class Migration(migrations.Migration):
('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.SET_NULL, to='ishtar_common.IshtarUser')),
],
options={
- 'abstract': False,
+ 'verbose_name': 'Import - Group',
+ 'verbose_name_plural': 'Import - Groups',
},
),
migrations.CreateModel(
@@ -75,4 +80,9 @@ class Migration(migrations.Migration):
'ordering': ('group', 'order'),
},
),
+ migrations.AddField(
+ model_name='import',
+ name='group',
+ field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to='ishtar_common.ImportGroup', verbose_name='Group'),
+ ),
]
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py
index e9a7cf6df..76148a1a6 100644
--- a/ishtar_common/models_imports.py
+++ b/ishtar_common/models_imports.py
@@ -1311,6 +1311,31 @@ class ImportGroup(BaseImport):
return ""
return IMPORT_GROUP_STATE_DCT[self.state]
+ def get_actions(self):
+ """
+ Get available action relevant with the current status
+ """
+ actions = []
+ if self.state == "C":
+ actions.append(("A", _("Analyse")))
+ if self.state == "A":
+ actions.append(("A", _("Re-analyse")))
+ actions.append(("I", _("Launch import")))
+ if self.state in ("F", "FE"):
+ actions.append(("A", _("Re-analyse")))
+ actions.append(("I", _("Re-import")))
+ actions.append(("AC", _("Archive")))
+ if self.state == "AC":
+ state = "FE" if self.error_file else "F"
+ actions.append((state, _("Unarchive")))
+ if self.state in ("C", "A"):
+ actions.append(("ED", _("Edit")))
+ actions.append(("D", _("Delete")))
+ return actions
+
+ def save(self, *args, **kwargs):
+ super().save(*args, **kwargs)
+
class Import(BaseImport):
importer_type = models.ForeignKey(ImporterType, on_delete=models.CASCADE,
@@ -1383,6 +1408,8 @@ class Import(BaseImport):
null=True,
validators=[validate_comma_separated_integer_list],
)
+ group = models.ForeignKey(ImportGroup, blank=True, null=True, on_delete=models.CASCADE,
+ verbose_name=_("Group"), related_name="imports")
class Meta:
verbose_name = _("Import - Import")