src/Admin/ColaboradorAdmin.php line 17

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace App\Admin;
  4. use App\Enums\TipoContaBancariaEnum;
  5. use Sonata\AdminBundle\Admin\AbstractAdmin;
  6. use Sonata\AdminBundle\Datagrid\DatagridMapper;
  7. use Sonata\AdminBundle\Datagrid\ListMapper;
  8. use Sonata\AdminBundle\Form\FormMapper;
  9. use Sonata\AdminBundle\Show\ShowMapper;
  10. use Symfony\Component\Form\Extension\Core\Type\MoneyType;
  11. use Sonata\Form\Type\DatePickerType;
  12. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  13. final class ColaboradorAdmin extends BaseAdmin
  14. {
  15.     protected function configureDatagridFilters(DatagridMapper $datagridMapper): void
  16.     {
  17.         $datagridMapper
  18.             ->add('id')
  19.             ->add('nome')
  20.             ->add('email')
  21.             ;
  22.     }
  23.     protected function configureListFields(ListMapper $listMapper): void
  24.     {
  25.         $listMapper
  26.             ->add('id')
  27.             ->add('nome')
  28.             ->add('email')
  29.             ->add('franquia'null, ['label'=>'Franquia'])
  30.             ->add('_action'null, [
  31.                 'actions' => [
  32.                     'show' => [],
  33.                     'edit' => [],
  34.                     'delete' => [],
  35.                 ],
  36.             ]);
  37.     }
  38.     protected function configureFormFields(FormMapper $formMapper): void
  39.     {
  40.         $formMapper
  41.             ->add('nome')
  42.             ->add('email')
  43.             ->add('enderecoCompleto',null, ['label'=>'Endereço Residencial Completo'])
  44.             ->add('enderecoCep',null, ['label'=>'CEP Residencial'])
  45.             ->add('funcao',null, ['label'=>'Função'])
  46.             ->add('lotacao',null, ['label'=>'Local de Lotação'])
  47.             ->add('telefone')
  48.             ->add('salario'MoneyType::class, [
  49.                 'label' => 'Salário',
  50.                 'currency' => 'BRL',
  51.                 'grouping' => true,
  52.                 'required' => false,
  53.                 'attr' => ['class' => 'maskMoney'],
  54.             ])
  55.             ->add('dataAdmissao'DatePickerType::class,['label'=>'Data de admissão''required'=>false])
  56.             ->add('contratoExperiencia',null, ['label'=>'Contrato de Experiência''help'=>'Use uma destas opções: 30+30, 30+60, 44+46 ou 90'])
  57.             ->add('dataRescisao'DatePickerType::class,['label'=>'Data de recisão''required'=>false])
  58.             ->add('bancoAgencia',null, ['label'=>'Agência bancária'])
  59.             ->add('bancoConta',null, ['label'=>'Nº Conta bancária'])
  60.             ->add('tipoConta'ChoiceType::class, [
  61.                 'choices' => TipoContaBancariaEnum::getAssociatedValues(),
  62.             ])
  63.             ;
  64.     }
  65.     protected function configureShowFields(ShowMapper $showMapper): void
  66.     {
  67.         $showMapper
  68.             ->add('id')
  69.             ->add('nome')
  70.             ->add('email')
  71.             ->add('telefone')
  72.             ;
  73.     }
  74.     public function prePersist($object)
  75.     {
  76.         $object->setCadastradoPor($this->getUserLogado());
  77.         parent::prePersist($object); // TODO: Change the autogenerated stub
  78.     }
  79. }