diff options
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 |
commit | 47f4eaa7509693e0a64ad3ee69b7a312df541127 (patch) | |
tree | 5232bf428003effb1dcad3b23c3d49a976c39894 /ishtar_common | |
parent | f5a0acf2638ce5bb31e1e9750f30fbc52cae1577 (diff) | |
download | Ishtar-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.py | 18 | ||||
-rw-r--r-- | ishtar_common/models.py | 2 | ||||
-rw-r--r-- | ishtar_common/models_common.py | 2 | ||||
-rw-r--r-- | ishtar_common/utils.py | 3 |
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"): |