diff --git a/src/Finite/Loader/ArrayLoader.php b/src/Finite/Loader/ArrayLoader.php index 12755b6..b06f2e8 100644 --- a/src/Finite/Loader/ArrayLoader.php +++ b/src/Finite/Loader/ArrayLoader.php @@ -69,7 +69,7 @@ public function load(StateMachineInterface $stateMachine) $this->callbackBuilderFactory = new CallbackBuilderFactory(); } - if (!$stateMachine->hasStateAccessor()) { + if (!$stateMachine->hasStateAccessor() || $this->config['property_path'] != 'finiteState') { $stateMachine->setStateAccessor(new PropertyPathStateAccessor($this->config['property_path'])); } diff --git a/src/Finite/StateMachine/StateMachine.php b/src/Finite/StateMachine/StateMachine.php index 47caad8..159189b 100644 --- a/src/Finite/StateMachine/StateMachine.php +++ b/src/Finite/StateMachine/StateMachine.php @@ -147,7 +147,7 @@ public function can($transition, array $parameters = array()) { $transition = $transition instanceof TransitionInterface ? $transition : $this->getTransition($transition); - if (null !== $transition->getGuard() && !call_user_func($transition->getGuard(), $this)) { + if (null !== $transition->getGuard() && !call_user_func($transition->getGuard(), $this, $transition, $parameters)) { return false; }