If a transition method is decorated multiple times with a different permission or condition per source state, the wrong one could be checked.
Root cause: _get_fsm_transition_by_name returns an arbitrary Transition entry (transitions[0]) rather than the one matching the object's current state.
NB: Thanks @aripollak-groma for the report
If a transition method is decorated multiple times with a different
permissionor condition per source state, the wrong one could be checked.Root cause:
_get_fsm_transition_by_namereturns an arbitraryTransitionentry (transitions[0]) rather than the one matching the object's current state.NB: Thanks @aripollak-groma for the report