Przeglądaj źródła

Merged in tr069_v1 (pull request #71)

Alternativa TR069 para Econocable FD3-497

Approved-by: Guillermo Espinoza <guillermo@interlink.com.ar>
Maximiliano Schvindt 7 lat temu
rodzic
commit
a16a265694

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

@@ -51,7 +51,10 @@ parameters:
     env(HOST_DUMMY): http://www.flowdat.com/
 
     tr069_service: false
+    tr069_api: tr069.api
     tr069_user: admin
     tr069_pass: admin
     tr069_host: genieacs-nbi
     tr069_port: 7557
+
+    tr069_selenium_host: selenium

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

@@ -46,7 +46,10 @@ parameters:
     onu.distance.nap: 0.2
 
     tr069_service: false
+    tr069_api: tr069.api
     tr069_user: admin
     tr069_pass: admin
     tr069_host: genieacs-nbi
     tr069_port: 7557
+
+    tr069_selenium_host: selenium

+ 3 - 2
composer.json

@@ -130,6 +130,7 @@
     },
     "require": {
         "php": ">=5.5.9",
+        "codeception/codeception": "^2.4",
         "doctrine/doctrine-bundle": "^1.6",
         "doctrine/doctrine-cache-bundle": "^1.2",
         "doctrine/doctrine-migrations-bundle": "^1.2",
@@ -151,6 +152,7 @@
         "ik/oauthclient-bundle": "dev-master",
         "ik/owner-voter-bundle": "dev-master",
         "ik/template-bundle": "dev-master",
+        "ik/tr069-bundle": "dev-master",
         "ik/webservice-bundle": "dev-master",
         "ik/workflow-bundle": "dev-master",
         "incenteev/composer-parameter-handler": "^2.0",
@@ -171,8 +173,7 @@
         "symfony/web-server-bundle": "^3.3",
         "twig/extensions": "^1.5",
         "twig/twig": "^2.0",
-        "voryx/restgeneratorbundle": "dev-master",
-        "ik/tr069-bundle": "dev-master"
+        "voryx/restgeneratorbundle": "dev-master"
     },
     "require-dev": {
         "phpunit/phpunit": "^6.4",

Plik diff jest za duży
+ 2570 - 2055
composer.lock


+ 16 - 34
src/FTTHBundle/Admin/ONUAdmin.php

@@ -112,6 +112,8 @@ class ONUAdmin extends WorkflowBaseAdmin
         if($this->isCurrentRoute('edit')) {
 
             if($this->getParameter('tr069_service')) {
+                $serviceName = $this->getParameter('tr069_api');
+                $tr069 = $this->get($serviceName);
                 $object = $this->getSubject();
                 
                 $query = array('$or' => array());
@@ -131,11 +133,11 @@ class ONUAdmin extends WorkflowBaseAdmin
                 }
 
 
-                $devices = $this->get('tr069.api')->getDevices($query);
+                $devices = $tr069->getDevices($query);
 
                 if(is_array($devices) && isset($devices[0]) && isset($devices[0]['_id'])) {
 
-                    $tr069Data = $this->getTR069Data($devices[0]);
+                    $tr069Data = $tr069->getTR069Data($devices[0]);
 
                     $id = $tr069Data['_id'] ?? null;
                     $manufacturer = $tr069Data['_deviceId']['_Manufacturer'] ?? null;
@@ -258,6 +260,8 @@ class ONUAdmin extends WorkflowBaseAdmin
             ->end();
 
         if($this->getParameter('tr069_service')) {
+            $serviceName = $this->getParameter('tr069_api');
+            $tr069 = $this->get($serviceName);
             $object = $this->getSubject();
                 
             $query = array('$or' => array());
@@ -276,11 +280,11 @@ class ONUAdmin extends WorkflowBaseAdmin
                 $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($object->getPonSerialNumberAux()));
             }
             
-            $devices = $this->get('tr069.api')->getDevices($query);
+            $devices = $tr069->getDevices($query);
 
             if(is_array($devices) && isset($devices[0]) && isset($devices[0]['_id'])) {
 
-                $tr069Data = $this->getTR069Data($devices[0]);
+                $tr069Data = $tr069->getTR069Data($devices[0]);
 
                 $id = $tr069Data['_id'] ?? null;
                 $manufacturer = $tr069Data['_deviceId']['_Manufacturer'] ?? null;
@@ -371,13 +375,16 @@ class ONUAdmin extends WorkflowBaseAdmin
             $broadcast = ($this->getForm()->get('tr069_broadcast')->getData()) ?? null;
             $status = ($this->getForm()->get('tr069_status')->getData()) ?? null;
 
-            if($ssid) $aux = $this->get('tr069.api')->setWlan($id, $ssid, $pass);
-            
-            if(!is_null($catv)) $aux = $this->get('tr069.api')->setCATV($id, $catv);
+            $serviceName = $this->getParameter('tr069_api');
+            $tr069 = $this->get($serviceName);
+
+            if(!is_null($catv)) $aux = $tr069->setCATV($id, $catv);
+
+            if($ssid) $aux = $tr069->setWlan($id, $ssid, $pass);
             
-            if(!is_null($broadcast)) $aux = $this->get('tr069.api')->setWbroadcast($id, $broadcast);
+            if(!is_null($broadcast)) $aux = $tr069->setWbroadcast($id, $broadcast);
             
-            if(!is_null($status)) $aux = $this->get('tr069.api')->setWstatus($id, $status);
+            if(!is_null($status)) $aux = $tr069->setWstatus($id, $status);
         }
         
     }
@@ -479,31 +486,6 @@ class ONUAdmin extends WorkflowBaseAdmin
 	    	}
 	    }
 	    return parent::update($object);
-    }
-
-    private function getTR069Data($data) {
-        $result = array();
-
-        $result['_id'] = $data['_id'] ?? null;
-        $result['_deviceId'] = $data['_deviceId'] ?? null;
-
-        $result['SSID'] = $data['InternetGatewayDevice']['LANDevice']['1']['WLANConfiguration']['1']['SSID'] ?? null;
-        $result['keyPassphrase'] = $data['InternetGatewayDevice']['LANDevice']['1']['WLANConfiguration']['1']['KeyPassphrase'] ?? null;
-        $result['SSIDAdvertisementEnabled'] = $data['InternetGatewayDevice']['LANDevice']['1']['WLANConfiguration']['1']['SSIDAdvertisementEnabled'] ?? null;
-        $result['Status'] = $data['InternetGatewayDevice']['LANDevice']['1']['WLANConfiguration']['1']['Enable'] ?? null;
-        
-        //InternetGatewayDevice.LANDevice.1.WLANConfiguration.1.PreSharedKey.1.PreSharedKey
-        $result['preSharedKey'] = $data['InternetGatewayDevice']['LANDevice']['1']['WLANConfiguration']['1']['PreSharedKey']['1']['PreSharedKey'] ?? null;
-        
-        $result['CatvPower'] = $data['InternetGatewayDevice']['VS_AppCfg']['VsCatvCfg']['CatvPower'] ?? null;
-        $result['ExternalIPAddress'] = $data['InternetGatewayDevice']['WANDevice']['1']['WANConnectionDevice']['1']['WANPPPConnection']['1']['ExternalIPAddress'] ?? null;
-
-        return $result;
-            
-
-        
-
-
     }
     
 }