diff options
Diffstat (limited to 'ishtar_common')
| -rw-r--r-- | ishtar_common/utils.py | 11 | 
1 files changed, 10 insertions, 1 deletions
| diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index e16d1abb6..f1236a5ac 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -66,6 +66,10 @@ def cached_label_changed(sender, **kwargs):      if not kwargs.get('instance'):          return      instance = kwargs.get('instance') + +    if hasattr(instance, 'test_obj'): +        instance.test_obj.reached(sender, **kwargs) +      if hasattr(instance, '_cached_label_checked') \              and instance._cached_label_checked:          return @@ -83,9 +87,14 @@ def cached_label_changed(sender, **kwargs):          if hasattr(instance, '_cascade_change') and instance._cascade_change:              instance.skip_history_when_saving = True          instance.save() -    if hasattr(instance, '_get_associated_cached_labels'): +    updated = False +    if hasattr(instance, '_cached_labels_bulk_update'): +        updated = instance._cached_labels_bulk_update() +    if not updated and hasattr(instance, '_get_associated_cached_labels'):          for item in instance._get_associated_cached_labels():              item._cascade_change = True +            if hasattr(instance, 'test_obj'): +                item.test_obj = instance.test_obj              cached_label_changed(item.__class__, instance=item)  SHORTIFY_STR = ugettext(" (...)") | 
