diff options
-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.py | 27 |
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") |