Explorar o código

Merged in FD3-698 (pull request #102)

Agregado de ip estática a ftth

Approved-by: Guillermo Espinoza <guillermo@interlink.com.ar>
Gabriel Gosparo %!s(int64=6) %!d(string=hai) anos
pai
achega
da51eec67e

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 2 - 2
app/DoctrineMigrations/src/action.yml


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1 - 1
app/DoctrineMigrations/src/template.yml


+ 28 - 4
src/FTTHBundle/Admin/ONUAdmin.php

@@ -31,6 +31,7 @@ class ONUAdmin extends WorkflowBaseAdmin
     {
         $datagridMapper
             ->add('clientId')
+            ->add('ip')
             ->add('ponSerialNumber', CallbackFilter::class, array(
                 'callback' => function (ProxyQuery $query, $alias, $field, $data) {
                     if (!$data || !is_array($data) || !array_key_exists('value', $data) || !isset($data['value'])) {
@@ -182,6 +183,7 @@ class ONUAdmin extends WorkflowBaseAdmin
                         )))
                     ->add('olt')
                     ->add('position')
+                    ->add('ip')
                 ->end()
                 ->with('Huawei', ['class' => "col-md-12 {$hidden['Huawei']} olt_mark Huawei"])
                     ->add('servicePorts', CollectionType::class, array(
@@ -213,6 +215,7 @@ class ONUAdmin extends WorkflowBaseAdmin
             ->end()
             ->setHelps(array(
                 'nap' => $this->trans("helps.check_address"),
+                'ip' => $this->trans("helps.ip_static"),
                 'serialNumber' => $this->trans("helps.onu_serial_number"),
                 'ponSerialNumber' => $this->trans("helps.onu_pon_serial_number"),
                 'ponSerialNumberAux' => $this->trans("helps.onu_pon_serial_number_aux"),
@@ -356,7 +359,7 @@ class ONUAdmin extends WorkflowBaseAdmin
                     ->add('clientId')
                     ->add('ponSerialNumber');
         if ($this->hasParameter('show.onu.activationCode') && $this->getParameter('show.onu.activationCode') == true) {
-            $formMapper->add('activationCode');
+            $showMapper->add('activationCode');
         }
         
         $showMapper->add('profile')
@@ -371,7 +374,9 @@ class ONUAdmin extends WorkflowBaseAdmin
                     ->add('serialNumber')
                     ->add('ponSerialNumberAux')
                     ->add('olt')
-                    ->add('currentState');
+                    ->add('currentState')
+                    ->add('position')
+                    ->add('ip');
         // Consulto en stats la url del detalle de onu
         $onuShowUrl = $this->getStatsShowOnuUrl();
         if ($onuShowUrl != '') {
@@ -440,8 +445,6 @@ class ONUAdmin extends WorkflowBaseAdmin
 
                 $catv = $tr069Data['CatvPower']['_value'] ?? null;
 
-                $ip = $tr069Data['ExternalIPAddress']['_value'] ?? null;
-
                 $showMapper
                     ->tab('TR069')
                         ->with('General')
@@ -633,6 +636,24 @@ class ONUAdmin extends WorkflowBaseAdmin
         return $hex;
     }
 
+    public function update($object){
+        $em = $this->getConfigurationPool()->getContainer()->get('doctrine.orm.entity_manager');
+        $all = $em->getRepository(\FTTHBundle\Entity\ServicePort::class)->findBy(array("onu" => $object));
+        foreach($all as $sp){
+            if(!$object->getServicePort()->contains($sp)){
+                $em->remove($sp);
+            }
+        }
+
+        foreach($object->getServicePort() as $sp){
+            $sp->setOnu($object);
+            $em->persist($sp);
+            if(!$sp->getOlt()){
+                $sp->setOlt($object->getOlt());
+            }
+        }
+        return parent::update($object);
+    }
     /**
      * @param Form $form
      * @param Template $template
@@ -682,6 +703,9 @@ class ONUAdmin extends WorkflowBaseAdmin
         if($vlans = $template->getVlans()) {
             $form->add('vlans', null, array('data' => $vlans));
         }
+        if($position = $template->getPosition()) { 
+            $form->add('position', null, array('data' => $position));
+        }
 
         if($extraData = $template->getExtraData()) {
             $form->add('extraData', null, array('data' => $extraData));

+ 1 - 0
src/FTTHBundle/Resources/translations/FTTHBundle.es.yml

@@ -314,6 +314,7 @@ helps:
     tr069_no_edit: El servicio TR069 se encuentra solamente disponible para la edición de la ONU/ONT.
     tr069_disabled: El servicio TR069 se encuentra deshabilitado.
     tr069_onu_no_detected: No se encontró la ONU/ONT en el servicio TR069.
+    ip_static: Ip estática
 
 error:
     address_not_found: La dirección "%client_address%" no fue encontrada en los servicios de google.