<?php
declare(strict_types=1);
namespace App\Infraestructure\Admin;
use App\Domain\Entity\EstadoExpediente;
use App\Domain\Repository\EstadoRepositoryInterface;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Show\ShowMapper;
class EstadoAdmin extends FilterAbstractAdmin
{
public function __construct(
$code,
$class,
$baseControllerName,
protected EstadoRepositoryInterface $estadoRepository,
)
{
parent::__construct($code, $class, $baseControllerName, $this->estadoRepository);
}
protected function configureListFields(ListMapper $list): void
{
$this->setTranslationDomain('estadoAdmin');
$list
->add('key', null, [
'label' => 'list.estado.label.key'
])
->add('nombre', null, [
'label' => 'list.estado.label.nombre'
])
->add('color', null, [
'label' => 'list.estado.label.color'
])
->add('icono', null, [
'label' => 'list.estado.label.icono'
])
->add('orden', null, [
'label' => 'list.estado.label.orden'
])
->add(ListMapper::NAME_ACTIONS, null, [
'label' => false,
'actions' => [
'edit' => [],
'delete' => [],
],
'header_style' => 'width: 85px',
])
;
}
protected function configureFormFields(FormMapper $form): void
{
$form
->add('key', null, [
'label' => 'form.estado.label.key'
])
->add('nombre', null, [
'label' => 'form.estado.label.nombre'
])
;
if($this->getSubject() instanceof EstadoExpediente) {
$form
->add('subestado', null, [
'label' => 'form.estado.label.subestado'
]);
}
$form
->add('color', null, [
'label' => 'form.estado.label.color'
])
->add('icono', null, [
'label' => 'form.estado.label.icono'
])
->add('orden', null, [
'label' => 'form.estado.label.orden'
])
->add('descripcion', null, [
'label' => 'form.estado.label.descripcion'
])
;
}
protected function configureShowFields(ShowMapper $show): void
{
}
}