Commit 4d999f8f by James Cammarata

Fix logic error in parent attribute retrieval for blocks/roles (v2)

parent dcb54d96
...@@ -274,15 +274,20 @@ class Block(Base, Become, Conditional, Taggable): ...@@ -274,15 +274,20 @@ class Block(Base, Become, Conditional, Taggable):
value = parent_value value = parent_value
if self._role and (not value or extend): if self._role and (not value or extend):
parent_value = getattr(self._role, attr) parent_value = getattr(self._role, attr)
if extend:
value = self._extend_value(value, parent_value)
else:
value = parent_value
if len(self._dep_chain) and (not value or extend): if len(self._dep_chain) and (not value or extend):
reverse_dep_chain = self._dep_chain[:] reverse_dep_chain = self._dep_chain[:]
reverse_dep_chain.reverse() reverse_dep_chain.reverse()
for dep in reverse_dep_chain: for dep in reverse_dep_chain:
dep_value = getattr(dep, attr) dep_value = getattr(dep, attr)
if extend: if extend:
value = self._extend_value(value, parent_value) value = self._extend_value(value, dep_value)
else: else:
value = parent_value value = dep_value
if value and not extend: if value and not extend:
break break
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment