Your IP : 216.73.217.79


Current Path : /var/www/v3.cesa.co.za/src/ContentBundle/Admin/
Upload File :
Current File : /var/www/v3.cesa.co.za/src/ContentBundle/Admin/FormItemTypeAdmin.php

<?php

namespace App\ContentBundle\Admin;

use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Admin\AdminInterface;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridInterface;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Route\RouteCollectionInterface;
use Sonata\AdminBundle\Show\ShowMapper;
use Symfony\Component\Security\Core\Authentication\Token\Storage\UsageTrackingTokenStorage;
use Knp\Menu\ItemInterface;

/**
 * Form Item Type Admin
 *
 * @author Otto Saayman <otto@igotafrica.com>
 * @package ContentBundle
 * @subpackage Admin
 * @version 0.0.1
 */
class FormItemTypeAdmin extends AbstractAdmin {

    /**
     * Security Context
     * @var \Symfony\Component\Security\Core\SecurityContextInterface
     */
    protected $securityContext;

    /**
     * Entity manager
     * @var \Doctrine\ORM\EntityManager
     */
    protected $em;

    /**
     * Container
     * @var $container
     */
    protected $container;
    protected function generateBaseRouteName(bool $isChildAdmin = false): string
    {
        return 'form_item_type';
    }

    protected function generateBaseRoutePattern(bool $isChildAdmin = false): string
    {
        return 'form_item_type';
    }

    public function setSecurityContext(UsageTrackingTokenStorage $securityContext) {
        $this->securityContext = $securityContext;
    }

    /**
     * @param \Doctrine\ORM\EntityManager $em
     */
    public function setEntityManager($em) {
        $this->em = $em;
    }

    /**
     * @return null
     */
    public function setContainer($container) {
        $this->container = $container;
    }

    protected function configureDefaultSortValues(array &$sortValues): void {
        // display the first page (default = 1)
        $sortValues[DatagridInterface::PAGE] = 1;

        // reverse order (default = 'ASC')
        $sortValues[DatagridInterface::SORT_ORDER] = 'ASC';

        // name of the ordered field (default = the model's id field, if any)
        $sortValues[DatagridInterface::SORT_BY] = 'type_name';
    }

    protected function configureFormFields(FormMapper $formMapper): void {
        $formMapper
                ->add('type_name')
                ->add('widget_name')
        ;
    }

    protected function configureDatagridFilters(DatagridMapper $datagridMapper): void {
        $datagridMapper
                ->add('type_name')
                ->add('widget_name')
        ;
    }

    protected function configureListFields(ListMapper $listMapper): void {
        $listMapper
                ->addIdentifier('type_name')
                ->add('widget_name')
                ->add('_action', 'actions', array(
                    'actions' => array(
                        'show' => array(),
                        'edit' => array(),
                        'delete' => array(),
                    )
                ))
        ;
    }

    protected function configureShowFields(ShowMapper $showMapper): void {
        $showMapper
                ->add('type_name')
                ->add('widget_name')
        ;
    }
}