Symfony 4. Рабочий процесс initial_place не работает - PullRequest
0 голосов
/ 11 февраля 2019

В workflow.yml я определяю initial_place.

framework:
    workflows:
        case_workflow:
            type: 'workflow' # or 'state_machine'
            audit_trail:
                enabled: true
            marking_store:
                type: 'multiple_state' # or 'single_state'
                arguments:
                    - 'currentPlace'
            supports:
                - App\Entity\Cases\CoreCase

            initial_place: initial

            places:
                - initial
                - review
                - rejected
                - published

            transitions:
                to_review:
                    from: initial
                    to:   review
                publish:
                    from: review
                    to:   published
                reject:
                    from: review
                    to:   rejected

В сущности я определил свойство

/**
 * @ORM\Column(type="string", length=50)
 */
private $currentPlace;

В контроллере я создаю сущность и сохраняю ее

$dieselCase = new DieselCase();
$dieselCase->setUser($account);
$dieselCase->setCustomer($account);
$em->persist($dieselCase);
$em->flush();

Но currentPlace не установленк начальному.Это ошибка в комплекте рабочего процесса?Как я могу решить эту проблему?

1 Ответ

0 голосов
/ 06 июня 2019

Очень поздний ответ, но, Так работает Symfony .null == initial_place

Если вы используете WorkflowInterface и getMarking($dieselCase), когда БД равно null, он сообщит, что место равно ['initial'], как вы настроили.Или, если вы используете marking_store: type: 'single_state', он сообщит 'initial'.

Хранилище маркировки 'currentPlace' будет заполнено только после выполнения $workflow->apply($dieselCase, 'to_review')

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...