ClientAdmin.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. <?php
  2. namespace WebserviceBundle\Services;
  3. use Sonata\AdminBundle\Event\ConfigureEvent;
  4. use WebserviceBundle\Form\Type\RemoteClientType;
  5. class ClientAdmin
  6. {
  7. /**
  8. * @param ConfigureEvent $event
  9. */
  10. public function addType(ConfigureEvent $event)
  11. {
  12. if ($event->getMapper()->has('clientId')) {
  13. $options = $event->getMapper()->get('clientId')->getOptions();
  14. $event->getMapper()->add('clientId', RemoteClientType::class, [
  15. 'required' => isset($options['required']) ? $options['required'] : false,
  16. ]);
  17. }
  18. }
  19. /**
  20. * @param ConfigureEvent $event
  21. */
  22. public function addClient(ConfigureEvent $event)
  23. {
  24. if ($event->getMapper()->has('clientId')) {
  25. $clientId = $event->getMapper()->get('clientId');
  26. $clientId->setType('text');
  27. $clientId->setTemplate('WebserviceBundle:CRUD:remote_client_field.html.twig');
  28. $clientId->setOption('data', $event->getType());
  29. }
  30. }
  31. }