|
@@ -8,6 +8,9 @@ use Sonata\AdminBundle\Form\FormMapper;
|
|
|
use Sonata\AdminBundle\Show\ShowMapper;
|
|
|
use Sonata\DoctrineORMAdminBundle\Filter\CallbackFilter;
|
|
|
use WorkflowBundle\Admin\WorkflowBaseAdmin;
|
|
|
+use Symfony\Component\Form\FormEvent;
|
|
|
+use Symfony\Component\Form\FormEvents;
|
|
|
+use Doctrine\ORM\EntityRepository;
|
|
|
|
|
|
class ONUAdmin extends WorkflowBaseAdmin
|
|
|
{
|
|
@@ -79,6 +82,31 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
->end()
|
|
|
->setHelps(array(
|
|
|
'nap' => $this->trans("helps.check_address")));
|
|
|
+
|
|
|
+
|
|
|
+ /*
|
|
|
+ * Si vienen parámetros por GET de olt=id o psn=string seteamos los campos
|
|
|
+ */
|
|
|
+ $formMapper->getFormBuilder()->addEventListener(FormEvents::PRE_SET_DATA,
|
|
|
+ function (FormEvent $event) use ($formMapper) {
|
|
|
+ $form = $event->getForm();
|
|
|
+
|
|
|
+ $olt = $this->getRequest()->query->get('olt');
|
|
|
+ if(!is_null($olt)) {
|
|
|
+ $em = $this->get("doctrine.orm.entity_manager");
|
|
|
+ $query_olt = $em->createQueryBuilder('o')
|
|
|
+ ->select('o')
|
|
|
+ ->from('FTTHBundle:OLT', 'o')
|
|
|
+ ->where('o.id = :id')
|
|
|
+ ->setParameter('id', $olt);
|
|
|
+
|
|
|
+ $form->add('olt', 'entity', array('class' => 'FTTHBundle:OLT', 'query_builder' => $query_olt));
|
|
|
+ }
|
|
|
+
|
|
|
+ $ponSerialNumber = $this->getRequest()->query->get('psn');
|
|
|
+ $form->add('ponSerialNumber', null, array('data' => $ponSerialNumber));
|
|
|
+ }
|
|
|
+ );
|
|
|
}
|
|
|
|
|
|
/**
|