|
@@ -130,14 +130,20 @@ class OnuAdmin extends BaseAdmin
|
|
|
$deviceServer = $object->getDeviceServer();
|
|
|
$urls = $this->get('webservice')->getData($deviceServer->getUrl());
|
|
|
if(isset($urls['url_ftth'])) {
|
|
|
- $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');
|
|
|
- } else {
|
|
|
+ } 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');
|
|
|
}
|