summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2023-01-20 11:46:57 +0100
committerÉtienne Loks <etienne.loks@iggdrasil.net>2023-01-20 11:46:57 +0100
commit47f4eaa7509693e0a64ad3ee69b7a312df541127 (patch)
tree5232bf428003effb1dcad3b23c3d49a976c39894 /ishtar_common
parentf5a0acf2638ce5bb31e1e9750f30fbc52cae1577 (diff)
downloadIshtar-47f4eaa7509693e0a64ad3ee69b7a312df541127.tar.bz2
Ishtar-47f4eaa7509693e0a64ad3ee69b7a312df541127.zip
Warehouse: new slug field to prevent ID change when name is changed
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/migrations/0223_auto_20230120_1124.py18
-rw-r--r--ishtar_common/models.py2
-rw-r--r--ishtar_common/models_common.py2
-rw-r--r--ishtar_common/utils.py3
4 files changed, 22 insertions, 3 deletions
diff --git a/ishtar_common/migrations/0223_auto_20230120_1124.py b/ishtar_common/migrations/0223_auto_20230120_1124.py
new file mode 100644
index 000000000..a4fe554de
--- /dev/null
+++ b/ishtar_common/migrations/0223_auto_20230120_1124.py
@@ -0,0 +1,18 @@
+# Generated by Django 2.2.24 on 2023-01-20 11:24
+
+from django.db import migrations, models
+
+
+class Migration(migrations.Migration):
+
+ dependencies = [
+ ('ishtar_common', '0222_auto_20230111_1857'),
+ ]
+
+ operations = [
+ migrations.AlterField(
+ model_name='ishtarsiteprofile',
+ name='warehouse_external_id',
+ field=models.TextField(default='{slug}', help_text='Formula to manage warehouse external ID. Change this with care. With incorrect formula, the application might be unusable and import of external data can be destructive.', verbose_name='Warehouse external id'),
+ ),
+ ]
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index fc2487d7b..5dc325e4e 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -1349,7 +1349,7 @@ class IshtarSiteProfile(models.Model, Cached):
)
warehouse_external_id = models.TextField(
_("Warehouse external id"),
- default="{name|slug}",
+ default="{slug}",
help_text=_(
"Formula to manage warehouse external ID. "
"Change this with care. With incorrect formula, the "
diff --git a/ishtar_common/models_common.py b/ishtar_common/models_common.py
index 586549542..b239813f3 100644
--- a/ishtar_common/models_common.py
+++ b/ishtar_common/models_common.py
@@ -1241,7 +1241,7 @@ class CascasdeUpdate:
continue
for item in getattr(self, down_model).all():
cached_label_changed(item.__class__, instance=item)
- if hasattr(item, "point_2d"):
+ if hasattr(item, "main_geodata"):
post_save_geo(item.__class__, instance=item)
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py
index 1219dd454..750154e0c 100644
--- a/ishtar_common/utils.py
+++ b/ishtar_common/utils.py
@@ -577,7 +577,8 @@ def _cached_label_changed(sender, **kwargs):
if hasattr(instance, "_cascade_change") and instance._cascade_change:
instance.skip_history_when_saving = True
instance.__class__.objects.filter(pk=instance.pk).update(**dict(changed))
- if (changed or not cached_labels) and hasattr(instance, "cascade_update"):
+ if (getattr(instance, "FORCE_CASCADE_UPDATE", False) or changed
+ or not cached_labels) and hasattr(instance, "cascade_update"):
instance.cascade_update()
updated = False
if force_update or hasattr(instance, "update_search_vector"):