| Current Path : /var/www/v3.cesa.co.za/src/CoreBundle/Admin/ |
| 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')
;
}
}