Преглед изворни кода

Se agrega el nombre de OLT en los filtros(listado onus/ponPorts) y el
nombre en el el perfil de ONU y PonPort. Se agrega el parámetro
device_server_base para definir el deviceServer de del usuario(hasta que
se definan otras estructuras de datos)

Maximiliano Schvindt пре 7 година
родитељ
комит
281415d182

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

@@ -35,3 +35,4 @@ parameters:
     geoserver_user: admin
     geoserver_pass: geoserver
     geoserver_path_shapes: '/var/flowdat/geoserver-shapes'
+    device_server_base: 1

+ 2 - 0
app/config/parameters.yml.docker

@@ -44,3 +44,5 @@ parameters:
     geoserver_user: admin
     geoserver_pass: geoserver
     geoserver_path_shapes: '/var/flowdat/geoserver-shapes'
+
+    device_server_base: 1

+ 25 - 5
src/StatsBundle/Admin/OnuAdmin.php

@@ -19,10 +19,20 @@ class OnuAdmin extends BaseAdmin
      */
     protected function configureDatagridFilters(DatagridMapper $datagridMapper)
     {
+        $em = $this->get("doctrine.orm.entity_manager");
+        $deviceServer = $this->getParameter("device_server_base");
+        $olts = $em->getRepository("StatsBundle:device")->findBy(array('deviceServer' => $deviceServer, 'deviceType' => 'FTTHBundle\Entity\OLT'));
+
+        $choices = array();
+        foreach($olts as $olt) {
+            $data = $olt->jsonExtraData();
+            $name = null;
+            (isset($data['name']))? $name = $data['name'] : $name = $olt->getIp();
+            $choices[$name] = $olt->getDeviceId();
+        }
+
         $datagridMapper
-            ->add('oltDeviceId')
-            ->add('deviceServer')
-            ->add('tenancyId')
+            ->add('oltDeviceId', 'doctrine_orm_string', array(), 'choice', array('choices' => $choices))
             ->add('ponSerialNumber')
             ->add('ponPort')
             ->add('status')
@@ -57,7 +67,7 @@ class OnuAdmin extends BaseAdmin
         $listMapper
             ->add('deviceServer')
             ->add('oltDeviceId', 'string', array('template' => 'StatsBundle:Onu:base_list_field_olt.html.twig'))
-            ->add('tenancyId')
+            //->add('tenancyId')
             ->add('ponSerialNumber', 'string', array('template' => 'StatsBundle:Onu:show_link.html.twig'))
             ->add('ponPort')
             ->add('status')
@@ -82,8 +92,18 @@ class OnuAdmin extends BaseAdmin
      */
     protected function configureShowFields(ShowMapper $showMapper)
     {
+        $object = $this->getSubject();
+        
+        $em = $this->get("doctrine.orm.entity_manager");
+        $olt = $em->getRepository("StatsBundle:device")->findOneBy(array('deviceId' => $object->getOltDeviceId(), 'deviceServer'=>$object->getDeviceServer(), 'deviceType' => 'FTTHBundle\Entity\OLT'));
+        if($olt) {
+            $data = $olt->jsonExtraData();
+            $oltName = null;
+            if(isset($data['name'])) $oltName = $data['name'];
+        }
+
         $showMapper
-            ->add('oltDeviceId')
+            ->add('oltDeviceId', 'string', array('template' => 'StatsBundle:Onu:base_show_field_olt.html.twig','oltName' => $oltName))
             ->add('ponSerialNumber')
             ->add('ponPort')
             ->add('status')

+ 23 - 4
src/StatsBundle/Admin/PonPortAdmin.php

@@ -19,8 +19,20 @@ class PonPortAdmin extends BaseAdmin
      */
     protected function configureDatagridFilters(DatagridMapper $datagridMapper)
     {
+        $em = $this->get("doctrine.orm.entity_manager");
+        $deviceServer = $this->getParameter("device_server_base");
+        $olts = $em->getRepository("StatsBundle:device")->findBy(array('deviceServer' => $deviceServer, 'deviceType' => 'FTTHBundle\Entity\OLT'));
+
+        $choices = array();
+        foreach($olts as $olt) {
+            $data = $olt->jsonExtraData();
+            $name = null;
+            (isset($data['name']))? $name = $data['name'] : $name = $olt->getIp();
+            $choices[$name] = $olt->getDeviceId();
+        }
+
         $datagridMapper
-            ->add('oltDeviceId')
+            ->add('oltDeviceId', 'doctrine_orm_string', array(), 'choice', array('choices' => $choices))
             ->add('deviceServer')
             ->add('tenancyId')
             ->add('ponPort')
@@ -57,7 +69,7 @@ class PonPortAdmin extends BaseAdmin
         $listMapper
             ->add('deviceServer')
             ->add('oltDeviceId', 'string', array('template' => 'StatsBundle:Onu:base_list_field_olt.html.twig'))
-            ->add('tenancyId')
+            //->add('tenancyId')
             ->addIdentifier('ponPort')
             ->add('txPower', 'string', array('template' => 'StatsBundle:Onu:base_list_field_tx.html.twig'))
             ->add('arrayRxPower', 'ponport-rx-power', array('template' => 'StatsBundle:PonPort:base_list_field_rx.html.twig'))
@@ -117,9 +129,16 @@ class PonPortAdmin extends BaseAdmin
 
         $this->parameters = array('onus' => $_onus);
 
+        $olt = $em->getRepository("StatsBundle:device")->findOneBy(array('deviceId' => $oltDeviceId, 'deviceServer'=>$deviceServer, 'deviceType' => 'FTTHBundle\Entity\OLT'));
+        if($olt) {
+            $data = $olt->jsonExtraData();
+            $oltName = null;
+            if(isset($data['name'])) $oltName = $data['name'];
+        }
+
         $showMapper
-            /* ->add('oltDeviceId')
-            ->add('ponSerialNumber') */
+            ->add('oltDeviceId', 'string', array('template' => 'StatsBundle:Onu:base_show_field_olt.html.twig','oltName' => $oltName))
+            /* ->add('ponSerialNumber') */
             ->add('ponPort')
             ->add('txPower', 'string', array('template' => 'StatsBundle:Onu:base_show_field_tx.html.twig'))
             /* ->add('rxPower', 'string', array('template' => 'StatsBundle:Onu:base_show_field_rx.html.twig')) */

+ 1 - 1
src/StatsBundle/Resources/translations/StatsBundle.es.yml

@@ -53,7 +53,7 @@ show:
     label_device_server: Servidor
     label_short_type: Tipo
     label_tenancy_id: Tenencia
-    label_olt_device_id: Id
+    label_olt_device_id: OLT
     label_pon_serial_number: Pon Serial Number
     label_pon_port: PonPort
     label_status: Online

+ 5 - 0
src/StatsBundle/Resources/views/Onu/base_show_field_olt.html.twig

@@ -0,0 +1,5 @@
+{% extends 'SonataAdminBundle:CRUD:base_show_field.html.twig' %}
+
+{% block field %}
+    {{field_description.options.oltName}}
+{% endblock %}