Fix: A parent state's "except" permission that is met will override the child "except" permission that is not met #441
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.
This means a user can access a State he shouldn't have permission to. Vice versa also applies.
I believe this fixes intended functionality (See last paragraph of https://github.com/Narzerus/angular-permission/wiki/Usage-in-ui-router-states#state-permission-inheritance)
See this Codepen showing the bug in action. Clicking "Weasels BB" should redirect to "Weasels AA", because of the except definition, but doesn't. If you comment out the 'weasels' parent state (rootState), then the redirect works.
I added unit tests that fail without my change to "resolveExceptStatePermissionMap()". See the test in StateAuthorization.test.js: "should return rejected promise when a parent state's "except" permissions are met and child state's "except" permissions are not met".