|
@@ -6,6 +6,7 @@ use Sonata\AdminBundle\Datagrid\DatagridMapper;
|
|
|
use Sonata\AdminBundle\Datagrid\ListMapper;
|
|
|
use Sonata\AdminBundle\Form\FormMapper;
|
|
|
use Sonata\AdminBundle\Show\ShowMapper;
|
|
|
+use Sonata\DoctrineORMAdminBundle\Filter\CallbackFilter;
|
|
|
use WorkflowBundle\Admin\WorkflowBaseAdmin;
|
|
|
|
|
|
class ONUAdmin extends WorkflowBaseAdmin
|
|
@@ -17,7 +18,10 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
|
|
|
{
|
|
|
$datagridMapper
|
|
|
- ->add('clientId')
|
|
|
+ ->add('clientId', CallbackFilter::class,
|
|
|
+ array(
|
|
|
+ 'callback' => array($this, 'getClientFilter'),
|
|
|
+ 'field_type' => 'text'))
|
|
|
->add('ponSerialNumber')
|
|
|
->add('profile')
|
|
|
->add('nap')
|
|
@@ -119,4 +123,21 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
$this->setTemplate('create', 'FTTHBundle:ONU:form.html.twig');
|
|
|
$this->setTemplate('edit', 'FTTHBundle:ONU:form.html.twig');
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * Filtra las ONU por el filtro de clientes.
|
|
|
+ * @param $queryBuilder
|
|
|
+ * @param $alias
|
|
|
+ * @param $field
|
|
|
+ * @param $value
|
|
|
+ * @return bool
|
|
|
+ */
|
|
|
+ public function getClientFilter($queryBuilder, $alias, $field, $value)
|
|
|
+ {
|
|
|
+ $resp = false;
|
|
|
+ if ($value['value']) {
|
|
|
+ $resp = $this->get('webservice')->getClientFilter($queryBuilder, $alias, $field, $value);
|
|
|
+ }
|
|
|
+ return $resp;
|
|
|
+ }
|
|
|
}
|