public static function postSetDataCallback() { return function (FormEvent $event) { /** @var Issue $issue */ $issue = $event->getData(); $form = $event->getForm(); if ($issue instanceof Issue) { $visibility = IssueVisibilityStatuses::NOT_PUBLISHED; if ($issue->getInPress() && $issue->isPublished()) { $visibility = IssueVisibilityStatuses::IN_PRESS; } else { if ($issue->isPublished()) { $visibility = IssueVisibilityStatuses::PUBLISHED; } } $form->get('visibility')->setData($visibility); } }; }