CORD-1913: Restore execution of custom service save() methods in attics
Change-Id: I9d585d7da886d8a2c87df4687912c62ef71a412f
(cherry picked from commit aa9a696ca571289104fdb9bc4362d5b7f9303051)
diff --git a/lib/xos-genx/xosgenx/targets/service.xtarget b/lib/xos-genx/xosgenx/targets/service.xtarget
index 7b90aea..69aa81c 100644
--- a/lib/xos-genx/xosgenx/targets/service.xtarget
+++ b/lib/xos-genx/xosgenx/targets/service.xtarget
@@ -64,15 +64,17 @@
if not self.leaf_model_name:
self.leaf_model_name = "{{ m.name }}"
- try:
- self.__xos_save_base(*args, **kwds)
- except AttributeError:
- pass
-
{% for policy,error in xproto_validations(m.options) %}
policy_{{policy}}_validator(self, None)
{% endfor %}
- super({{ m.name }}{{ legacy_tag }}, self).save(*args, **kwds)
+
+ try:
+ base_save_in_attic = self.__xos_save_base(*args, **kwds)
+ except AttributeError:
+ base_save_in_attic = False
+
+ if not base_save_in_attic:
+ super({{ m.name }}{{ legacy_tag }}, self).save(*args, **kwds)
def can_access(self, ctx):
{% if m.policy %}