<?php
namespace AdminBundle\Admin;
use BmpGatewayBundle\Model\Lead;
use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Route\RouteCollectionInterface;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
class TxnAdmin extends AbstractAdmin
{
protected $datagridValues = [
'_page' => 1,
'_sort_order' => 'DESC', // sort direction
'_sort_by' => 'id' // field name
];
protected function configureRoutes(RouteCollectionInterface $collection): void
{
$collection->remove('create');
$collection->remove('view');
$collection->remove('edit');
}
protected function configureDatagridFilters(DatagridMapper $datagridMapper): void
{
$datagridMapper->add('id')
->add('task', null, ['label' => 'Задача'])
->add('date_create', null, ['label' => 'Дата создания'], null, ['attr' => ['class' => 'js-date-picker']])
->add('state',null, ['label' => 'Статус'], ChoiceType::class, [ 'choices' => [
'Новая' => Lead::TXN_STATE_NEW,
'Успешная' => Lead::TXN_STATE_SUCCESS,
'Не успешная' => Lead::TXN_STATE_FAIL,
]])
;
}
protected function configureListFields(ListMapper $listMapper): void
{
$listMapper->addIdentifier('id')
->add('state', ChoiceType::class, ['label' => 'Состояние', 'choices' => [
Lead::TXN_STATE_NEW => 'Новая',
Lead::TXN_STATE_SUCCESS => 'Успешная',
Lead::TXN_STATE_FAIL => 'Не успешнаяа',
]])
->add('params',null, ['label' => 'Данные'])
->add('response',null, ['label' => 'Ответ'])
->add('date_create',null, ['label' => 'Дата создания', 'format' => 'Y-m-d H:i:s'])
->add('task',null, ['label' => 'Задача'])
;
}
}