fix: MoveTabBefore and MoveTabAfter stored procedures same TabOrder h… #6385
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #6384
Summary
The issue occurs when attempting to reorder tabs (pages) that have identical TabOrder values. The current implementation of
MoveTabBefore
andMoveTabAfter
procedures fails to handle this edge case correctly.Changes made
Fixed issue with tab ordering when multiple tabs share the same TabOrder value. Key changes:
These changes ensure tabs are inserted at the exact specified position regardless of duplicate TabOrder values in the sequence.
Results
The Search Results page was successfully moved between Page 1, Page 2, Page 3 and Page 4 which have the same TabOrder value.
N.B.: My expectation was that the system would use the stored procedures from the most recent versioned SqlDataProvider in which they are available- 07.03.03.SqlDataProvider in this case. However I found that when installing the website, the system used the stored procedures MoveTabBefore and MoveTabAfter defined in DotNetNuke.Data.SqlDataProvider. This is the file that was modified in this PR.