summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ishtar_common/models.py2
-rw-r--r--ishtar_common/utils.py5
2 files changed, 5 insertions, 2 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index c9be5b086..3453a53c5 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -795,6 +795,8 @@ class BaseHistorizedItem(Imported):
pk=new_item.history_modifier_id)
except User.ObjectDoesNotExist:
pass
+ # force label regeneration
+ self._cached_label_checked = False
self.save()
except:
raise HistoryError(u"The rollback has failed.")
diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py
index d72b8b6ba..44112bca3 100644
--- a/ishtar_common/utils.py
+++ b/ishtar_common/utils.py
@@ -56,12 +56,13 @@ def cached_label_changed(sender, **kwargs):
if not kwargs.get('instance'):
return
instance = kwargs.get('instance')
- if hasattr(instance, '_cached_label_checked'):
+ if hasattr(instance, '_cached_label_checked') \
+ and instance._cached_label_checked:
return
instance._cached_label_checked = True
lbl = instance._generate_cached_label()
if lbl != instance.cached_label:
- if hasattr(instance, '_cascade_change'):
+ if hasattr(instance, '_cascade_change') and instance._cascade_change:
instance.skip_history_when_saving = True
instance.cached_label = lbl
instance.save()