Your IP : 216.73.217.79


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

<?php

namespace App\CoreBundle\Admin;

use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Route\RouteCollectionInterface;
use Sonata\AdminBundle\Show\ShowMapper;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Datagrid\ProxyQueryInterface;

/**
 * ErrorLog Admin
 *
 * @author Otto Saayman <otto@igotafrica.com>
 * @package CoreBundle
 * @subpackage Admin
 * @version 0.0.1
 */
class ErrorLogAdmin extends AbstractAdmin
{
    protected function generateBaseRouteName(bool $isChildAdmin = false): string
    {
        return 'error_log';
    }

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

    protected function configureListFields(ListMapper $listMapper): void
    {
        $listMapper
            ->add('id', null, ['label' => 'ID'])
            ->add('errmessage', null, [
                'label' => 'Error Message',
                'template' => '@CoreBundle/Admin/truncate_text.html.twig',
                'property' => 'errmessage',
            ])
            ->add('is_info', 'boolean', [
                'label' => 'Info',
            ])
            ->add('created_at', null, [
                'label' => 'Created At',
                'format' => 'Y-m-d H:i:s'
            ])
            ->add('updated_at', null, [
                'label' => 'Updated At',
                'format' => 'Y-m-d H:i:s'
            ])
            ->add('created_by', null, ['label' => 'Created By'])
            ->add('session_id', null, ['label' => 'Session ID'])
            ->add('_action', 'actions', [
                'actions' => [
                    'show' => [],
                    'delete' => []
                ]
            ])
        ;
    }

    protected function configureShowFields(ShowMapper $showMapper): void
    {
        $showMapper
            ->add('id', null, ['label' => 'ID'])
            ->add('errmessage', null, [
                'label' => 'Error Message',
            ])
            ->add('is_info', null, [
                'label' => 'Type',
            ])
            ->add('created_at', null, [
                'label' => 'Created At',
                'format' => 'Y-m-d H:i:s'
            ])
            ->add('updated_at', null, [
                'label' => 'Updated At',
                'format' => 'Y-m-d H:i:s'
            ])
            ->add('created_by', null, ['label' => 'Created By'])
            ->add('session_id', null, ['label' => 'Session ID'])
            ->add('url_id', null, ['label' => 'URL ID'])
        ;
    }

    protected function configureDatagridFilters(DatagridMapper $datagridMapper): void
    {
        $datagridMapper
            ->add('errmessage', null, ['label' => 'Error Message'])
            ->add('is_info', null, ['label' => 'Type'])
            ->add('created_at', null, ['label' => 'Created At'])
            ->add('created_by', null, ['label' => 'Created By'])
            ->add('session_id', null, ['label' => 'Session ID'])
        ;
    }

    protected function configureQuery(ProxyQueryInterface $query): ProxyQueryInterface
    {
        // Order by latest entries first
        $query->orderBy($query->getRootAlias() . '.created_at', 'DESC');

        return parent::configureQuery($query);
    }

    protected function configureRoutes(RouteCollectionInterface $collection): void
    {
        $collection
            ->remove('create')
            ->remove('edit')
        ;
    }
}