| Current Path : /var/www/v3.cesa.co.za/src/SessionsBundle/Controller/ |
| Current File : /var/www/v3.cesa.co.za/src/SessionsBundle/Controller/CRUDController.php |
<?php
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
namespace App\SessionsBundle\Controller;
use Sonata\AdminBundle\Controller\CRUDController as BaseController;
use Sonata\AdminBundle\Datagrid\ProxyQueryInterface;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
/**
* Controller for batch actions
*
* @author otto
*/
class CRUDController extends BaseController {
public function batchActionDeleteMove(ProxyQueryInterface $selectedModelQuery) {
if ($this->admin->isGranted('EDIT') === false || $this->admin->isGranted('DELETE') === false) {
throw new AccessDeniedException();
}
$selectedModels = $selectedModelQuery->execute();
// do the merge work here
try {
$languagePhrasesManager = $this->container->get('language_phrases.manager');
$sitesManager = $this->container->get('sites.manager');
$systemSettingManager = $this->container->get('system_setting.manager');
$bulkMoveToSiteId = $systemSettingManager->getSetting('bulk_move_to_site_id', $systemSettingManager->getSetting('default_site_id'), true);
if (strlen($bulkMoveToSiteId) <= 0) {
$this->get('session')->getFlashBag()->add('error', $languagePhrasesManager->translate('Bulk Move to Site ID not set'));
return new RedirectResponse($this->admin->generateUrl('list', array('filter' => $this->admin->getFilterParameters())));
}
foreach ($selectedModels as $selectedModel) {
$site = $sitesManager->find($selectedModel->getId());
if (is_object($site)) {
$sitesManager->startDeleteMove($site, $bulkMoveToSiteId);
}
}
} catch (\Exception $e) {
$this->get('session')->getFlashBag()->add('error', $languagePhrasesManager->translate('Delete and Move Error'));
echo $e->getMessage() . '<br />';
echo $e->getTraceAsString() . '<br />';
exit;
return new RedirectResponse($this->admin->generateUrl('list', array('filter' => $this->admin->getFilterParameters())));
}
$this->get('session')->getFlashBag()->add('success', $languagePhrasesManager->translate('Delete and Move Success'));
return new RedirectResponse($this->admin->generateUrl('list', array('filter' => $this->admin->getFilterParameters())));
}
}