Bläddra i källkod

Mejora para evitar rest en caso de devideId seteado.

Maximiliano Schvindt 7 år sedan
förälder
incheckning
db317a678e
1 ändrade filer med 20 tillägg och 14 borttagningar
  1. 20 14
      src/StatsBundle/Admin/OnuAdmin.php

+ 20 - 14
src/StatsBundle/Admin/OnuAdmin.php

@@ -130,20 +130,26 @@ class OnuAdmin extends BaseAdmin
             $deviceServer = $object->getDeviceServer();
             $urls = $this->get('webservice')->getData($deviceServer->getUrl());
             if(isset($urls['url_ftth'])) {
-                $apiOnu = "{$urls['url_ftth']}/api/onus.json";
-                $oltDeviceId = $object->getOltDeviceId();
-                $tenancyId = $object->getTenancyId();
-                $ponSerialNumber = $object->getPonSerialNumber();
-                $filters = array("tenancyId" => $tenancyId, "olt" => $oltDeviceId, "ponSerialNumber" => $ponSerialNumber);
-                $onu = $this->get('webservice')->getData($apiOnu, $filters);
-                if(empty($onu)) {
-                    $translator = $this->get('translator');
-                    $flashbag = $this->get('session')->getFlashBag();
-                    $flashbag->add("error", $translator->trans("msg_no_registered_in_ftth",array(),"StatsBundle"));
-                    $url = "{$urls['url_ftth']}/admin/ftth/onu/create?olt={$object->getOltDeviceId()}&psn={$object->getPonSerialNumber()}";
-                    $actions['add_in_ftth'] = array('template' => 'StatsBundle:Onu:ftth_button_add.html.twig');
-                } elseif(isset($onu[0]['id'])) {
-                    $deviceId = $onu[0]['id'];
+                $deviceId = $object->getDeviceId();
+                if(is_null($deviceId)) {
+                    $apiOnu = "{$urls['url_ftth']}/api/onus.json";
+                    $oltDeviceId = $object->getOltDeviceId();
+                    $tenancyId = $object->getTenancyId();
+                    $ponSerialNumber = $object->getPonSerialNumber();
+                    $filters = array("tenancyId" => $tenancyId, "olt" => $oltDeviceId, "ponSerialNumber" => $ponSerialNumber);
+                    $onu = $this->get('webservice')->getData($apiOnu, $filters);
+                    if(empty($onu)) {
+                        $translator = $this->get('translator');
+                        $flashbag = $this->get('session')->getFlashBag();
+                        $flashbag->add("error", $translator->trans("msg_no_registered_in_ftth",array(),"StatsBundle"));
+                        $url = "{$urls['url_ftth']}/admin/ftth/onu/create?olt={$object->getOltDeviceId()}&psn={$object->getPonSerialNumber()}";
+                        $actions['add_in_ftth'] = array('template' => 'StatsBundle:Onu:ftth_button_add.html.twig');
+                    } elseif(isset($onu[0]['id'])) {
+                        $deviceId = $onu[0]['id'];
+                        $url = "{$urls['url_ftth']}/admin/ftth/onu/{$deviceId}/show";
+                        $actions['show_in_ftth'] = array('template' => 'StatsBundle:Onu:ftth_button.html.twig');
+                    }
+                } else {
                     $url = "{$urls['url_ftth']}/admin/ftth/onu/{$deviceId}/show";
                     $actions['show_in_ftth'] = array('template' => 'StatsBundle:Onu:ftth_button.html.twig');
                 }