<?php
declare(strict_types=1);
namespace App\Admin;
use Sonata\AdminBundle\Admin\AbstractAdmin;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Form\FormMapper;
use Sonata\AdminBundle\Show\ShowMapper;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use App\Enums\CategoriasFornecedoresEnum;
final class FornecedorAdmin extends BaseAdmin
{
protected function configureDatagridFilters(DatagridMapper $datagridMapper): void
{
$datagridMapper
->add('id')
->add('categoria', null, ['label'=>'Categoria'])
->add('nome', null, ['label'=>'Nome'])
->add('cnpj', null, ['label'=>'CNPJ'])
->add('contatoNome', null, ['label'=>'Nome contato'])
->add('contatoEmail', null, ['label'=>'E-mail contato'])
->add('contatoWhatsapp', null, ['label'=>'Whatsapp contato'])
;
}
protected function configureListFields(ListMapper $listMapper): void
{
$listMapper
->add('id')
->add('nome', null, ['label'=>'Nome'])
->add('categoria', null, ['label'=>'Categoria'])
->add('cnpj', null, ['label'=>'CNPJ'])
->add('contatoNome', null, ['label'=>'Nome contato'])
->add('contatoEmail', null, ['label'=>'E-mail contato'])
->add('contatoWhatsapp', null, ['label'=>'Whatsapp contato'])
->add('_action', null, [
'actions' => [
'show' => [],
'edit' => [],
'delete' => [],
],
]);
}
protected function configureFormFields(FormMapper $formMapper): void
{
$formMapper
->add('categoria', ChoiceType::class, [
'label' => 'Categoria',
'choices' => CategoriasFornecedoresEnum::getAssociatedValues(),
])
->add('nome', null, ['label'=>'Nome'])
->add('cnpj', null, ['label'=>'CNPJ'])
->add('contatoNome', null, ['label'=>'Nome contato'])
->add('contatoEmail', null, ['label'=>'E-mail contato'])
->add('contatoWhatsapp', null, ['label'=>'Whatsapp contato'])
;
}
protected function configureShowFields(ShowMapper $showMapper): void
{
$showMapper
->add('id')
->add('nome', null, ['label'=>'Nome'])
->add('cnpj', null, ['label'=>'CNPJ'])
->add('contatoNome', null, ['label'=>'Nome contato'])
->add('contatoEmail', null, ['label'=>'E-mail contato'])
->add('contatoWhatsapp', null, ['label'=>'Whatsapp contato'])
;
}
public function prePersist($object)
{
$object->setCadastradoPor($this->getUserLogado());
parent::prePersist($object); // TODO: Change the autogenerated stub
}
}