src/Admin/FornecedorAdmin.php line 15

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Admin;
  4. use Sonata\AdminBundle\Admin\AbstractAdmin;
  5. use Sonata\AdminBundle\Datagrid\DatagridMapper;
  6. use Sonata\AdminBundle\Datagrid\ListMapper;
  7. use Sonata\AdminBundle\Form\FormMapper;
  8. use Sonata\AdminBundle\Show\ShowMapper;
  9. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  10. use App\Enums\CategoriasFornecedoresEnum;
  11. final class FornecedorAdmin extends BaseAdmin
  12. {
  13.     protected function configureDatagridFilters(DatagridMapper $datagridMapper): void
  14.     {
  15.         $datagridMapper
  16.             ->add('id')
  17.             ->add('categoria'null, ['label'=>'Categoria'])
  18.             ->add('nome'null, ['label'=>'Nome'])
  19.             ->add('cnpj'null, ['label'=>'CNPJ'])
  20.             ->add('contatoNome'null, ['label'=>'Nome contato'])
  21.             ->add('contatoEmail'null, ['label'=>'E-mail contato'])
  22.             ->add('contatoWhatsapp'null, ['label'=>'Whatsapp contato'])
  23.             ;
  24.     }
  25.     protected function configureListFields(ListMapper $listMapper): void
  26.     {
  27.         $listMapper
  28.             ->add('id')
  29.             ->add('nome'null, ['label'=>'Nome'])
  30.             ->add('categoria'null, ['label'=>'Categoria'])
  31.             ->add('cnpj'null, ['label'=>'CNPJ'])
  32.             ->add('contatoNome'null, ['label'=>'Nome contato'])
  33.             ->add('contatoEmail'null, ['label'=>'E-mail contato'])
  34.             ->add('contatoWhatsapp'null, ['label'=>'Whatsapp contato'])
  35.             ->add('_action'null, [
  36.                 'actions' => [
  37.                     'show' => [],
  38.                     'edit' => [],
  39.                     'delete' => [],
  40.                 ],
  41.             ]);
  42.     }
  43.     protected function configureFormFields(FormMapper $formMapper): void
  44.     {
  45.         $formMapper
  46.             ->add('categoria'ChoiceType::class, [
  47.                 'label' => 'Categoria',
  48.                 'choices' => CategoriasFornecedoresEnum::getAssociatedValues(),
  49.             ])
  50.             ->add('nome'null, ['label'=>'Nome'])
  51.             ->add('cnpj'null, ['label'=>'CNPJ'])
  52.             ->add('contatoNome'null, ['label'=>'Nome contato'])
  53.             ->add('contatoEmail'null, ['label'=>'E-mail contato'])
  54.             ->add('contatoWhatsapp'null, ['label'=>'Whatsapp contato'])
  55.             ;
  56.     }
  57.     protected function configureShowFields(ShowMapper $showMapper): void
  58.     {
  59.         $showMapper
  60.             ->add('id')
  61.             ->add('nome'null, ['label'=>'Nome'])
  62.             ->add('cnpj'null, ['label'=>'CNPJ'])
  63.             ->add('contatoNome'null, ['label'=>'Nome contato'])
  64.             ->add('contatoEmail'null, ['label'=>'E-mail contato'])
  65.             ->add('contatoWhatsapp'null, ['label'=>'Whatsapp contato'])
  66.             ;
  67.     }
  68.     public function prePersist($object)
  69.     {
  70.         $object->setCadastradoPor($this->getUserLogado());
  71.         parent::prePersist($object); // TODO: Change the autogenerated stub
  72.     }
  73. }