Selaa lähdekoodia

Merge branch 'master' of https://bitbucket.org/ikflowdat/ftth into FD3-62

Maximiliano Schvindt 7 vuotta sitten
vanhempi
commit
cb115f2582

+ 1 - 1
app/config/parameters.yml.dist

@@ -20,7 +20,7 @@ parameters:
     jms_serializer.camel_case_naming_strategy.class: JMS\Serializer\Naming\IdenticalPropertyNamingStrategy
 
     # Url para logout en repositorio base
-    url_logout: 'http://127.0.0.1/base/app_dev.php/logout'
+    url_logout: 'http://%env(HOST_MAPAS)%/logout'
 
     # RabbitMQ parameters
     rabbit_mq.host:     127.0.0.1

+ 3 - 3
composer.json

@@ -115,7 +115,7 @@
     "config": {
         "secure-http": false,
         "optimize-autoloader": true,
-	"sort-packages": true
+        "sort-packages": true
     },
     "require": {
         "php": ">=5.5.9",
@@ -133,7 +133,7 @@
         "ik/map-bundle": "dev-master",
         "ik/migrations-bundle": "dev-master",
         "ik/oauthclient-bundle": "dev-master",
-        "ik/webservice-bundle": "dev-master",
+        "ik/webservice-bundle": "dev-FD3-257",
         "hwi/oauth-bundle": "^0.5.3",
         "ik/owner-voter-bundle": "dev-master",
         "ik/template-bundle": "dev-master",
@@ -141,7 +141,7 @@
         "incenteev/composer-parameter-handler": "^2.0",
         "jms/serializer": "^1.9.0",
         "jms/serializer-bundle": "^1.5.0",
-	"jdorn/sql-formatter": "^1.2.17",
+        "jdorn/sql-formatter": "^1.2.17",
         "php-amqplib/rabbitmq-bundle": "^1.12",
         "samsonasik/package-versions": "1.1.0",
         "sensio/distribution-bundle": "^5.0.21",

+ 8 - 8
composer.lock

@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
         "This file is @generated automatically"
     ],
-    "content-hash": "49c90dc355b5613a1df168bfdfa84aaa",
+    "content-hash": "8e7f4d9492913bbd4ad16441d8ec4683",
     "packages": [
         {
             "name": "behat/transliterator",
@@ -1507,7 +1507,7 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@gogs.infra.flowdat.com:222/VendorSoftwareFlowdat3/MapBundle.git",
-                "reference": "ae8d73c03abf31412cd890b6c1c4ce7436379ab5"
+                "reference": "003e1010325ac458e9fe59df2e8d27b67a36b423"
             },
             "type": "library",
             "autoload": {
@@ -1522,7 +1522,7 @@
                 "bootstrap",
                 "sonata"
             ],
-            "time": "2017-10-12 13:55:36"
+            "time": "2017-10-24 15:18:07"
         },
         {
             "name": "ik/migrations-bundle",
@@ -1625,11 +1625,11 @@
         },
         {
             "name": "ik/webservice-bundle",
-            "version": "dev-master",
+            "version": "dev-FD3-257",
             "source": {
                 "type": "git",
                 "url": "ssh://git@200.50.168.30:222/VendorSoftwareFlowdat3/Webservice.git",
-                "reference": "05b18020331bf97da5efa3879591ab64a0acb9e9"
+                "reference": "07e10004f1435298222be5519b4933ce783c380f"
             },
             "require": {
                 "ext-curl": "*",
@@ -1642,7 +1642,7 @@
                 }
             },
             "description": "The Flowdat3 Webservice Rest",
-            "time": "2017-10-20 18:30:26"
+            "time": "2017-10-24 15:56:43"
         },
         {
             "name": "ik/workflow-bundle",
@@ -1650,7 +1650,7 @@
             "source": {
                 "type": "git",
                 "url": "ssh://git@200.50.168.30:222/VendorSoftwareFlowdat3/WorkflowBundle.git",
-                "reference": "f858f2e66035253436a15971abe92927ea8e6a6f"
+                "reference": "e1a027927aa7c67bbed5e10d9c594034f368d31f"
             },
             "require": {
                 "php-amqplib/rabbitmq-bundle": "^1.12"
@@ -1680,7 +1680,7 @@
                 "bundle",
                 "workflow"
             ],
-            "time": "2017-10-20 12:56:11"
+            "time": "2017-10-20 18:13:35"
         },
         {
             "name": "incenteev/composer-parameter-handler",

+ 1 - 0
src/FTTHBundle/Admin/ONUAdmin.php

@@ -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

+ 75 - 0
src/FTTHBundle/EventListener/ClientFilterListListener.php

@@ -0,0 +1,75 @@
+<?php
+
+namespace FTTHBundle\EventListener;
+
+use Sonata\AdminBundle\Event\ConfigureEvent;
+use Sonata\DoctrineORMAdminBundle\Filter\CallbackFilter;
+use Symfony\Component\DependencyInjection\ContainerInterface;
+
+class ClientFilterListListener
+{
+    /**
+     * @var ContainerInterface
+     */
+    protected $container;
+
+    /**
+     * ClientFilterListListener constructor.
+     */
+    public function __construct(ContainerInterface $container)
+    {
+        $this->setContainer($container);
+    }
+
+    /**
+     * @return ContainerInterface
+     */
+    public function getContainer(): ContainerInterface
+    {
+        return $this->container;
+    }
+
+    /**
+     * @param ContainerInterface $container
+     */
+    public function setContainer(ContainerInterface $container)
+    {
+        $this->container = $container;
+    }
+
+
+    /**
+     * Funcion que verifica si existe la propiedad clientId y agrega un callback para poder filtrar las listas.
+     * @param ConfigureEvent $event
+     */
+    public function configureDatagridFilters(ConfigureEvent $event)
+    {
+        if ($event->getMapper()->has('clientId')) {
+            $order = $event->getMapper()->keys();
+            $event->getMapper()->remove('clientId');
+            $event->getMapper()
+                ->add('clientId', CallbackFilter::class,
+                    array(
+                        'callback' => array($this, 'getClientFilter'),
+                        'field_type' => 'text'));
+            $event->getMapper()->reorder($order);
+        }
+    }
+
+    /**
+     * 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->getContainer()->get('webservice')->getClientFilter($queryBuilder, $alias, $field, $value);
+        }
+        return $resp;
+    }
+}

+ 6 - 1
src/FTTHBundle/Resources/config/services.yml

@@ -4,7 +4,7 @@ services:
         arguments: [~, FTTHBundle\Entity\ONU, WorkflowBundle:CRUD]
         tags:
             - { name: sonata.admin, manager_type: orm, group: FTTH, label: ONU, label_catalogue: FTTHBundle, label_translator_strategy: sonata.admin.label.strategy.underscore }
-        calls:    
+        calls:
             - [setTranslationDomain, [FTTHBundle]]
 
     ftth.admin.olt:
@@ -60,3 +60,8 @@ services:
         tags:
             - { name: form.type }
 
+    ftth.client.filter.event:
+        class: FTTHBundle\EventListener\ClientFilterListListener
+        tags:
+            - { name: kernel.event_listener, event: sonata.admin.event.configure.datagrid, method: configureDatagridFilters }
+        arguments: ["@service_container"]