Edit Option 'ReadOnly' does not propogate to child sections
Consider three sections - section A includes section B, section B includes section C.
When section B is included within a dynamic layout in section A, the option in the Presentation tab to make the included section appears as read-only.
This makes the controls of the included section (section B) render in read-only mode.
As section B includes section C, user expects that the read-only mode gets propagated, and controls in section C are also read-only.
This works, except when there is a read-only condition on the controls in section C. If there is a read-only condition in the presentation tab for the control, and it is not satisfied, the control appears in edit mode.
Steps to Reproduce
1. Create a section C with a control that is rendered as read-only.
2. Create a section B and add a control with a read-only condition as step 1.
3. Embed a section C in section B and make it read-only.
4. Create section A and include section B in it and make it read-only.
5. On running the flow, observe that the control in section B is editable and the control in section C is read-only.
The pzsectionBodyIncludeInCell function removes the "SectionReadOnly" parameter after it has included the section. This causes a problem in any trailing controls of the parent section because the "isControlEditable" API incorrectly depends only on "SectionReadOnly" and the read-only when/expression. The "isControlEditable" API needs to additionally call the "hasInputEnabled" API to check the edit mode of the control.
This issue is resolved by HFix-22982.
Published July 27, 2015 - Updated October 8, 2020