trinity-cms-bundles/src/Trinity/Bundle/MediaBundle/Controller/MediaAdminController.php

120 lines
3.6 KiB
PHP

<?php
namespace Trinity\Bundle\MediaBundle\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\ParamConverter;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Trinity\Bundle\MediaBundle\Configuration\MediaCrudConfiguration as CrudConfiguration;
use Symfony\Component\HttpFoundation\Request;
use Trinity\Bundle\AdminBundle\Controller\BaseAdminController;
use Trinity\Bundle\MediaBundle\Model\CategoryQuery;
/**
* @Route("/admin/media/item")
*/
class MediaAdminController extends BaseAdminController
{
public function __construct()
{
$this->categories = CategoryQuery::create()->orderByTreeLeft()->find();
$this->configuration = new CrudConfiguration();
}
protected function getPanelTree()
{
$datas = array();
foreach ($this->categories as $cat) {
$datas[] = $cat;
}
return array('tree' => $datas);
}
public function filtersAction($routePrefix)
{
return $this->render(
'TrinityMediaBundle:MediaAdmin:filters.html.twig',
array_merge(
array(
'form_filter' => $this->getFormFilter()->createView(),
'filter_display_fields' => $this->configuration->getFilterDisplayFields(),
'filters_templates' => $this->configuration->getFiltersTemplates(),
'user_has_filter' => $this->getSessionUser()->getAttribute($this->configuration->getStorageNamespace().'filter'),
'route_prefix' => $routePrefix,
),
$this->getPanelTree()
)
);
}
/**
* @Route("/{page}", name="TrinityMediaBundleMediaAdmin_index", defaults={"page" = "1"}, requirements={"page" = "\d+"})
* @Template()
*/
public function indexAction($page, Request $request)
{
return parent::indexAction($page, $request);
}
/**
* @Route("/new", name="TrinityMediaBundleMediaAdmin_new")
* @Template()
*/
public function newAction(Request $request)
{
return parent::newAction($request);
}
/**
* @Route("/edit/{id}", name="TrinityMediaBundleMediaAdmin_edit")
* @Template()
* @ParamConverter("object", class="Trinity\Bundle\MediaBundle\Model\Media")
*/
public function editAction($object, Request $request)
{
return parent::editAction($object, $request);
}
/**
* @Route("/remove/{id}/{token}", name="TrinityMediaBundleMediaAdmin_remove")
* @Template()
* @ParamConverter("object", class="Trinity\Bundle\MediaBundle\Model\Media")
*/
public function removeAction($object, $token, Request $request)
{
return parent::removeAction($object, $token, $request);
}
/**
* @Route("/batch", name="TrinityMediaBundleMediaAdmin_batch")
* @Template()
* @Method({"POST"})
*/
public function batchAction(Request $request)
{
return parent::batchAction($request);
}
/**
* @Route("/filter/clear", name="TrinityMediaBundleMediaAdmin_filter_clear")
* @Template()
*/
public function clearFilterAction(Request $request)
{
return parent::clearFilterAction($request);
}
/**
* @Route("/rank", name="TrinityMediaBundleMediaAdmin_rank")
* @Template("TrinityAdminBundle:BaseAdmin:rank.html.twig")
* @Method({"POST"})
*/
public function rankAction(Request $request)
{
return parent::rankAction($request);
}
}