| Current Path : /var/www/v3.cesa.co.za/src/UserBundle/Controller/ |
| Current File : /var/www/v3.cesa.co.za/src/UserBundle/Controller/CRUDController.php |
<?php
namespace App\UserBundle\Controller;
use Sonata\AdminBundle\Controller\CRUDController as Controller;
use Sonata\DoctrineORMAdminBundle\Datagrid\ProxyQuery as ProxyQueryInterface;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
/**
* CRUD Controller
*
* @author Otto Saayman <otto@igotafrica.com>
* @package UserBundle
* @subpackage Controller
* @version 0.0.1
*/
class CRUDController extends Controller {
public function batchActionDisable(ProxyQueryInterface $selectedModelQuery, Request $request) {
if ($this->admin->isGranted('EDIT') === false || $this->admin->isGranted('DELETE') === false) {
throw new AccessDeniedException();
}
$modelManager = $this->admin->getModelManager();
$selectedModels = $selectedModelQuery->execute();
try {
foreach ($selectedModels as $selectedModel) {
$selectedModel->setUserLive(false);
$modelManager->update($selectedModel);
}
} catch (\Exception $e) {
$this->get('session')->setFlash('sonata_flash_error', $e->getMessage());
return new RedirectResponse($this->admin->generateUrl('list', $this->admin->getFilterParameters()));
}
$this->get('session')->setFlash('sonata_flash_success', 'The selected users have been disabled');
return new RedirectResponse($this->admin->generateUrl('list', $this->admin->getFilterParameters()));
}
public function batchActionEnable(ProxyQueryInterface $selectedModelQuery, Request $request) {
if ($this->admin->isGranted('EDIT') === false || $this->admin->isGranted('DELETE') === false) {
throw new AccessDeniedException();
}
$modelManager = $this->admin->getModelManager();
$selectedModels = $selectedModelQuery->execute();
try {
foreach ($selectedModels as $selectedModel) {
$selectedModel->setUserLive(true);
$modelManager->update($selectedModel);
}
} catch (\Exception $e) {
$this->get('session')->setFlash('sonata_flash_error', $e->getMessage());
return new RedirectResponse($this->admin->generateUrl('list', $this->admin->getFilterParameters()));
}
$this->get('session')->setFlash('sonata_flash_success', 'The selected users have been disabled');
return new RedirectResponse($this->admin->generateUrl('list', $this->admin->getFilterParameters()));
}
}