src/AdminBundle/Admin/TxnAdmin.php line 12

Open in your IDE?
  1. <?php
  2. namespace AdminBundle\Admin;
  3. use BmpGatewayBundle\Model\Lead;
  4. use Sonata\AdminBundle\Admin\AbstractAdmin;
  5. use Sonata\AdminBundle\Datagrid\DatagridMapper;
  6. use Sonata\AdminBundle\Datagrid\ListMapper;
  7. use Sonata\AdminBundle\Route\RouteCollectionInterface;
  8. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  9. class TxnAdmin extends AbstractAdmin
  10. {
  11.     protected $datagridValues = [
  12.         '_page'       => 1,
  13.         '_sort_order' => 'DESC'// sort direction
  14.         '_sort_by' => 'id' // field name
  15.     ];
  16.     protected function configureRoutes(RouteCollectionInterface $collection): void
  17.     {
  18.         $collection->remove('create');
  19.         $collection->remove('view');
  20.         $collection->remove('edit');
  21.     }
  22.     protected function configureDatagridFilters(DatagridMapper $datagridMapper): void
  23.     {
  24.         $datagridMapper->add('id')
  25.             ->add('task'null, ['label' => 'Задача'])
  26.             ->add('date_create'null, ['label' => 'Дата создания'], null, ['attr' => ['class' => 'js-date-picker']])
  27.             ->add('state',null, ['label' => 'Статус'], ChoiceType::class, [ 'choices' => [
  28.                 'Новая' => Lead::TXN_STATE_NEW,
  29.                 'Успешная' => Lead::TXN_STATE_SUCCESS,
  30.                 'Не успешная' => Lead::TXN_STATE_FAIL,
  31.             ]])
  32.         ;
  33.     }
  34.     protected function configureListFields(ListMapper $listMapper): void
  35.     {
  36.         $listMapper->addIdentifier('id')
  37.             ->add('state'ChoiceType::class, ['label' => 'Состояние''choices' => [
  38.                 Lead::TXN_STATE_NEW => 'Новая',
  39.                 Lead::TXN_STATE_SUCCESS => 'Успешная',
  40.                 Lead::TXN_STATE_FAIL => 'Не успешнаяа',
  41.             ]])
  42.             ->add('params',null, ['label' => 'Данные'])
  43.             ->add('response',null, ['label' => 'Ответ'])
  44.             ->add('date_create',null, ['label' => 'Дата создания''format' => 'Y-m-d H:i:s'])
  45.             ->add('task',null, ['label' => 'Задача'])
  46.         ;
  47.     }
  48. }