|
@@ -2,24 +2,23 @@
|
|
|
|
|
|
namespace FTTHBundle\Admin;
|
|
namespace FTTHBundle\Admin;
|
|
|
|
|
|
|
|
+use Doctrine\ORM\EntityRepository;
|
|
|
|
+use Sonata\DoctrineORMAdminBundle\Datagrid\ProxyQuery;
|
|
use Sonata\AdminBundle\Datagrid\DatagridMapper;
|
|
use Sonata\AdminBundle\Datagrid\DatagridMapper;
|
|
use Sonata\AdminBundle\Datagrid\ListMapper;
|
|
use Sonata\AdminBundle\Datagrid\ListMapper;
|
|
use Sonata\AdminBundle\Form\FormMapper;
|
|
use Sonata\AdminBundle\Form\FormMapper;
|
|
use Sonata\AdminBundle\Show\ShowMapper;
|
|
use Sonata\AdminBundle\Show\ShowMapper;
|
|
|
|
+use Sonata\CoreBundle\Validator\ErrorElement;
|
|
use Sonata\DoctrineORMAdminBundle\Filter\CallbackFilter;
|
|
use Sonata\DoctrineORMAdminBundle\Filter\CallbackFilter;
|
|
-use WorkflowBundle\Admin\WorkflowBaseAdmin;
|
|
|
|
use Symfony\Component\Form\FormEvent;
|
|
use Symfony\Component\Form\FormEvent;
|
|
use Symfony\Component\Form\FormEvents;
|
|
use Symfony\Component\Form\FormEvents;
|
|
-use Doctrine\ORM\EntityRepository;
|
|
|
|
-use Sonata\CoreBundle\Validator\ErrorElement;
|
|
|
|
-
|
|
|
|
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
|
|
use Symfony\Component\Form\Extension\Core\Type\CollectionType;
|
|
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
|
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
|
-use FTTHBundle\Form\ServicePortType;
|
|
|
|
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
|
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
|
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
|
|
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
|
|
|
|
+use FTTHBundle\Form\ServicePortType;
|
|
use FTTHBundle\Utils\OLTModelMark;
|
|
use FTTHBundle\Utils\OLTModelMark;
|
|
-
|
|
|
|
|
|
+use WorkflowBundle\Admin\WorkflowBaseAdmin;
|
|
|
|
|
|
class ONUAdmin extends WorkflowBaseAdmin
|
|
class ONUAdmin extends WorkflowBaseAdmin
|
|
{
|
|
{
|
|
@@ -31,11 +30,24 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
{
|
|
{
|
|
$datagridMapper
|
|
$datagridMapper
|
|
->add('clientId')
|
|
->add('clientId')
|
|
- ->add('ponSerialNumber')
|
|
|
|
|
|
+ ->add('ponSerialNumber', CallbackFilter::class, array(
|
|
|
|
+ 'callback' => function (ProxyQuery $query, $alias, $field, $data) {
|
|
|
|
+ if (!$data || !is_array($data) || !array_key_exists('value', $data) || !isset($data['value'])) {
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ $alias = $query->getRootAlias();
|
|
|
|
+ $query
|
|
|
|
+ ->andWhere("{$alias}.serialNumber LIKE :id OR {$alias}.ponSerialNumber LIKE :id OR {$alias}.ponSerialNumberAux LIKE :id")
|
|
|
|
+ ->setParameter('id', "%{$data['value']}%");
|
|
|
|
+ },), null, [
|
|
|
|
+ 'attr' => [
|
|
|
|
+ 'placeholder' => $this->trans('sonata.filter.onu_id')
|
|
|
|
+ ]
|
|
|
|
+ ])
|
|
->add('profile')
|
|
->add('profile')
|
|
->add('nap')
|
|
->add('nap')
|
|
->add('model')
|
|
->add('model')
|
|
- ->add('serialNumber')
|
|
|
|
->add('mac')
|
|
->add('mac')
|
|
->add('olt');
|
|
->add('olt');
|
|
}
|
|
}
|