Networking\InitCmsBundle\Controller\PageAdminController::batchActionPublish PHP Method

batchActionPublish() public method

public batchActionPublish ( Sonata\AdminBundle\Datagrid\ProxyQueryInterface $selectedModelQuery ) : RedirectResponse
$selectedModelQuery Sonata\AdminBundle\Datagrid\ProxyQueryInterface
return Symfony\Component\HttpFoundation\RedirectResponse
    public function batchActionPublish(ProxyQueryInterface $selectedModelQuery)
    {
        if ($this->admin->isGranted('PUBLISH') === false) {
            throw new AccessDeniedException();
        }
        $modelManager = $this->admin->getModelManager();
        $selectedModels = $selectedModelQuery->execute();
        // do the merge work here
        try {
            foreach ($selectedModels as $selectedModel) {
                /** @var PageInterface $selectedModel */
                $selectedModel->setStatus(PageInterface::STATUS_PUBLISHED);
                $modelManager->update($selectedModel);
                $this->makeSnapshot($selectedModel);
            }
        } catch (\Exception $e) {
            $this->get('session')->getFlashBag()->add('sonata_flash_error', 'flash_batch_publish_error');
            return new RedirectResponse($this->admin->generateUrl('list', $this->admin->getFilterParameters()));
        }
        $this->get('session')->getFlashBag()->add('sonata_flash_success', 'flash_batch_publish_success');
        return new RedirectResponse($this->admin->generateUrl('list', $this->admin->getFilterParameters()));
    }