瀏覽代碼

Merge branch 'master' of gitlab.com:interlink-sa/flowdat3/modules/ftth into feature-captive-portal

Jean Sumara 5 年之前
父節點
當前提交
6afb7c632e

文件差異過大導致無法顯示
+ 2 - 2
app/DoctrineMigrations/src/action.yml


+ 8 - 1
app/DoctrineMigrations/src/oltmodel.yml

@@ -72,4 +72,11 @@ insertorupdate:
             mark: "Huawei"
             library: "OIDSHuaweiV1"
             extra_data: "{\r\n\"model\": \"Huawei-MA5608T-v1\",\r\n\"auto-create-service-ports\" : true\r\n}"
-            tenancy_id: 1   
+            tenancy_id: 1
+        -
+            id: 11
+            name: "Furukawa-G8S-v1"
+            mark: "Furukawa"
+            library: "OIDSFurukawaG8SV1"
+            extra_data: "{\r\n\"model\": \"Furukawa-G8S-v1\"\r\n}"
+            tenancy_id: 1

+ 87 - 60
app/DoctrineMigrations/src/onumodel.yml

@@ -1,61 +1,88 @@
 insertorupdate:
-    onumodel:
-        -
-          id: 1
-          name: "FiberHome-AN5506-04-B2"
-          extra_data: "{\r\n\"type\" : \"5506-04-B2\",\r\n\"telnet\": \"/tmp\"\r\n}"
-          tenancy_id: 1
-        -
-          id: 2
-          name: "Fiberlink HG326UGG router"
-          extra_data: "{\r\n\"type\": \"HG260\",\r\n\"telnet\": \"/tmp\"\r\n}"
-          tenancy_id: 1
-          routing_mode: "router"
-          catv: 0
-          wifi: 0
-        -
-          id: 3
-          name: "CDATA-FD600-701GW"
-          extra_data: "{\r\n\"type\": \"CDATA-FD600-701GW\",\r\n\"telnet\": \"/tmp\"\r\n}"
-          tenancy_id: 1
-        -
-          id: 4
-          name: "Fiberlink HG326UGG bridge"
-          extra_data: "{\r\n\"type\": \"HG260\",\r\n\"telnet\": \"/tmp\"\r\n}"
-          tenancy_id: 1
-          routing_mode: "bridge"
-          catv: 0
-          wifi: 0
-        -
-          id: 5
-          name: "FiberHome-AN5506-02-F"
-          extra_data: "{\r\n\"type\" : \"5506-02-F\",\r\n\"telnet\": \"/tmp\"\r\n}"
-          tenancy_id: 1
-        -
-          id: 6
-          name: "VSolution-HG323"
-          extra_data: "{\r\n\"type\" : \"HG260\",\r\n\"telnet\": \"/tmp\"\r\n}"
-          tenancy_id: 1
-        -
-          id: 7
-          name: "ZTE-F660"
-          catv: 0
-          wifi: 0
-          extra_data: "{\r\n\"type\": \"ZTE-F660\",\r\n\"telnet\": \"/tmp\"\r\n}"
-          tenancy_id: 1
-        -
-          id: 8
-          name: "ZTE-F660-bridge"
-          routing_mode: "bridge"
-          catv: 0
-          wifi: 0
-          extra_data: "{\r\n\"type\": \"ZTE-F660\",\r\n\"telnet\": \"/tmp\"\r\n}"
-          tenancy_id: 1
-        -
-          id: 9
-          name: "ZTE-F660-router"
-          routing_mode: "router"
-          catv: 0
-          wifi: 0
-          extra_data: "{\r\n\"type\": \"ZTE-F660\",\r\n\"telnet\": \"/tmp\"\r\n}"
-          tenancy_id: 1  
+  onumodel:
+    - id: 1
+      name: "FiberHome-AN5506-04-B2"
+      extra_data: "{\r\n\"type\" : \"5506-04-B2\",\r\n\"telnet\": \"/tmp\"\r\n}"
+      tenancy_id: 1
+    - id: 2
+      name: "Fiberlink HG326UGG router"
+      extra_data: "{\r\n\"type\": \"HG260\",\r\n\"telnet\": \"/tmp\"\r\n}"
+      tenancy_id: 1
+      routing_mode: "router"
+      catv: 0
+      wifi: 0
+    - id: 3
+      name: "CDATA-FD600-701GW"
+      extra_data: "{\r\n\"type\": \"CDATA-FD600-701GW\",\r\n\"telnet\": \"/tmp\"\r\n}"
+      tenancy_id: 1
+    - id: 4
+      name: "Fiberlink HG326UGG bridge"
+      extra_data: "{\r\n\"type\": \"HG260\",\r\n\"telnet\": \"/tmp\"\r\n}"
+      tenancy_id: 1
+      routing_mode: "bridge"
+      catv: 0
+      wifi: 0
+    - id: 5
+      name: "FiberHome-AN5506-02-F"
+      extra_data: "{\r\n\"type\" : \"5506-02-F\",\r\n\"telnet\": \"/tmp\"\r\n}"
+      tenancy_id: 1
+    - id: 6
+      name: "VSolution-HG323"
+      extra_data: "{\r\n\"type\" : \"HG260\",\r\n\"telnet\": \"/tmp\"\r\n}"
+      tenancy_id: 1
+    - id: 7
+      name: "ZTE-F660"
+      catv: 0
+      wifi: 0
+      extra_data: "{\r\n\"type\": \"ZTE-F660\",\r\n\"telnet\": \"/tmp\"\r\n}"
+      tenancy_id: 1
+    - id: 8
+      name: "ZTE-F660-bridge"
+      routing_mode: "bridge"
+      catv: 0
+      wifi: 0
+      extra_data: "{\r\n\"type\": \"ZTE-F660\",\r\n\"telnet\": \"/tmp\"\r\n}"
+      tenancy_id: 1
+    - id: 9
+      name: "ZTE-F660-router"
+      routing_mode: "router"
+      catv: 0
+      wifi: 0
+      extra_data: "{\r\n\"type\": \"ZTE-F660\",\r\n\"telnet\": \"/tmp\"\r\n}"
+      tenancy_id: 1
+    - id: 10
+      name: "Huawei-HG8546M"
+      routing_mode: "router"
+      catv: 0
+      wifi: 1
+      extra_data: "{\r\n\"type\": \"HG8546\",\r\n\"telnet\": \"/tmp\"\r\n}"
+    - id: 11
+      name: "Huawei-HG8310M"
+      routing_mode: "bridge"
+      catv: 0
+      wifi: 0
+      extra_data: "{\r\n\"type\": \"HG8310\",\r\n\"telnet\": \"/tmp\"\r\n}"
+    - id: 12
+      name: "Huawei-HG8247H5"
+      routing_mode: "router"
+      catv: 1
+      wifi: 1
+      extra_data: "{\r\n\"type\": \"HG8247H5\",\r\n\"telnet\": \"/tmp\"\r\n}"
+    - id: 13
+      name: "Huawei-HG8010H"
+      routing_mode: "bridge"
+      catv: 0
+      wifi: 0
+      extra_data: "{\r\n\"type\": \"HG8010H\",\r\n\"telnet\": \"/tmp\"\r\n}"
+    - id: 14
+      name: "Huawei-HG8247H"
+      routing_mode: "router"
+      catv: 1
+      wifi: 1
+      extra_data: "{\r\n\"type\": \"HG8247H\",\r\n\"telnet\": \"/tmp\"\r\n}"
+    - id: 15
+      name: "Huawei-HG8545M"
+      routing_mode: "router"
+      catv: 0
+      wifi: 1
+      extra_data: "{\r\n\"type\": \"HG8545M\",\r\n\"telnet\": \"/tmp\"\r\n}"

文件差異過大導致無法顯示
+ 20 - 0
app/DoctrineMigrations/src/template.yml


+ 2 - 1
src/FTTHBundle/Admin/OLTModelAdmin.php

@@ -65,7 +65,8 @@ class OLTModelAdmin extends BaseAdmin
             'OIDSHuaweiV1' => 'OIDSHuaweiV1', 
             'OIDSFiberLinkV1' => 'OIDSFiberLinkV1', 
             'OIDSZTEV1' => 'OIDSZTEV1', 
-            'OIDSCalixV1' => 'OIDSCalixV1'
+            'OIDSCalixV1' => 'OIDSCalixV1',
+            'OIDSFurukawaG8SV1' => 'OIDSFurukawaG8SV1'
         ];
         $formMapper
             ->add('name')

+ 21 - 2
src/FTTHBundle/Admin/ONUAdmin.php

@@ -106,6 +106,7 @@ class ONUAdmin extends WorkflowBaseAdmin
                 'template' => 'WorkflowBundle:Workflow:base_list_field_current_state.html.twig'
             ))
             ->add('catv')
+            ->add('voip')
             ->add('created')
             ->add('logOLT.status', 'string', array(
                 'template' => 'FTTHBundle:Type:list_status_field_type.html.twig'))
@@ -305,6 +306,7 @@ class ONUAdmin extends WorkflowBaseAdmin
                         ],
                     ])
                     ->add('catv')
+                    ->add('voip')
                 ->end()
                 ->with('Huawei', ['class' => "col-md-12 {$hidden['Huawei']} olt_mark Huawei"])
                     ->add('servicePorts', CollectionType::class, array(
@@ -357,7 +359,8 @@ class ONUAdmin extends WorkflowBaseAdmin
                 'servicePorts' => $this->trans("helps.service_port"),
                 'mac' => $this->trans("helps.mac"),
                 'radiusAuth' => $this->trans("helps.radiusAuth"),
-                'catv' => $this->trans("helps.catv")
+                'catv' => $this->trans("helps.catv"),
+                'voip' => $this->trans("helps.voip")
             ));
 
 
@@ -404,6 +407,7 @@ class ONUAdmin extends WorkflowBaseAdmin
                     $status = $tr069Data['Status']['_value'] ?? null;
 
                     $catv = $tr069Data['CatvPower']['_value'] ?? null;
+                    $voip = $tr069Data['Voip']['_value'] ?? null;
 
                     $ip = $tr069Data['ExternalIPAddress']['_value'] ?? null;
 
@@ -426,6 +430,9 @@ class ONUAdmin extends WorkflowBaseAdmin
                             ->with('CATV',['description' => $this->trans('helps.tr069_catv')])
                                 ->add('tr069_catv', CheckboxType::class, array('mapped' => false, 'data' => $catv, 'required' => false))
                             ->end()
+                            ->with('VOIP',['description' => $this->trans('helps.tr069_voip')])
+                                ->add('tr069_voip', CheckboxType::class, array('mapped' => false, 'data' => $voip, 'required' => false))
+                            ->end()
                         ->end();
 
                     $tr069Data = 1;
@@ -551,6 +558,7 @@ class ONUAdmin extends WorkflowBaseAdmin
                     ->add('trafficProfileIn')
                     ->add('trafficProfileOut')
                     ->add('catv')
+                    ->add('voip')
                     ;
 
                     // Consulto en stats la url del detalle de onu
@@ -646,6 +654,7 @@ class ONUAdmin extends WorkflowBaseAdmin
                 $status = $tr069Data['Status']['_value'] ?? null;
 
                 $catv = $tr069Data['CatvPower']['_value'] ?? null;
+                $voip = $tr069Data['Voip']['_value'] ?? null;
 
                 $showMapper
                     ->tab('TR069')
@@ -666,6 +675,9 @@ class ONUAdmin extends WorkflowBaseAdmin
                         ->with('CATV',['description' => $this->trans('helps.tr069_catv')])
                             ->add('tr069_catv', null, array('template' => 'FTTHBundle:ONU:base_show_boolean.html.twig', 'boolean' => $catv))
                         ->end()
+                        ->with('VoIP',['description' => $this->trans('helps.tr069_voip')])
+                            ->add('tr069_voip', null, array('template' => 'FTTHBundle:ONU:base_show_boolean.html.twig', 'boolean' => $voip))
+                        ->end()
                     ->end();
             } else {
                 $showMapper
@@ -720,8 +732,9 @@ class ONUAdmin extends WorkflowBaseAdmin
         if((boolean) $this->getForm()->get('tr069_exist')->getData()) {
             $ssid = ($this->getForm()->get('tr069_ssid')->getData()) ?? null;
             $pass = ($this->getForm()->get('tr069_pass')->getData()) ?? null;
-            $id = ($this->getForm()->get('tr069_id')->getData()) ?? null;;
+            $id = ($this->getForm()->get('tr069_id')->getData()) ?? null;
             $catv = ($this->getForm()->get('tr069_catv')->getData()) ?? null;
+            $voip = ($this->getForm()->get('tr069_voip')->getData()) ?? null;
             $broadcast = ($this->getForm()->get('tr069_broadcast')->getData()) ?? null;
             $status = ($this->getForm()->get('tr069_status')->getData()) ?? null;
 
@@ -732,6 +745,7 @@ class ONUAdmin extends WorkflowBaseAdmin
             $tr069 = $this->get($serviceName);
 
             if(!is_null($catv)) $aux = $tr069->setCATV($id, $catv);
+            if(!is_null($voip)) $aux = $tr069->setVoIP($id, $voip);
 
             if($ssid) $aux = $tr069->setWlan($id, $ssid, $pass);
 
@@ -798,6 +812,10 @@ class ONUAdmin extends WorkflowBaseAdmin
         if($catv = $template->getCatv()) {
             $form->add('catv', null, array('data' => $catv));
         }
+        
+        if($voip = $template->getVoIP()) {
+            $form->add('voip', null, array('data' => $voip));
+        }
 
         if($vlans = $template->getVlans()) {
             $form->add('vlans', null, array('data' => $vlans));
@@ -827,6 +845,7 @@ class ONUAdmin extends WorkflowBaseAdmin
         $fields[$this->trans('export.link')] = "link";
         $fields[$this->trans('export.position')] = "position";
         $fields[$this->trans('export.catv')] = "catv";
+        $fields[$this->trans('export.voip')] = "voip";
         $fields[$this->trans('export.activationCode')] = "activationCode";
         $fields[$this->trans('export.created')] = "created";
         $fields[$this->trans('export.updated')] = "updated";

+ 1 - 0
src/FTTHBundle/Admin/ONUTemplateAdmin.php

@@ -80,6 +80,7 @@ class ONUTemplateAdmin extends BaseAdmin
                     ->add('trafficProfileOut')
                     ->add('tcontprofile')
                     ->add('catv')
+                    ->add('voip')
                 ->end()
                 ->with('Extra')
                     ->add('extraData')

+ 26 - 0
src/FTTHBundle/Entity/ONU.php

@@ -261,6 +261,12 @@ class ONU implements DeviceInterface, TenancyIdTraitInterface, LocationInterface
      */
     protected $catv = false;
 
+
+    /**
+     * @ORM\Column(type="boolean", nullable=true, options={"default": false})
+     */
+    protected $voip = false;
+
     /**
      * @ORM\Column(type="text", nullable=true)
      */
@@ -971,6 +977,26 @@ class ONU implements DeviceInterface, TenancyIdTraitInterface, LocationInterface
         return $this;
     }
 
+    /**
+     * @return boolean
+     */
+    public function getVoIP()
+    {
+        return $this->voip;
+    }
+
+    /**
+     * @param boolean $voip
+     *
+     * @return ONU
+     */
+    public function setVoIP($voip)
+    {
+        $this->voip = $voip;
+
+        return $this;
+    }
+
     /**
      * @return string
      */

+ 27 - 2
src/FTTHBundle/Entity/ONUTemplate.php

@@ -72,7 +72,7 @@ class ONUTemplate implements TenancyIdTraitInterface
     /**
      * Se agrega para casos en que tenga varias vlans
      *
-     * @ORM\ManyToMany(targetEntity="\FTTHBundle\Entity\VLanID", cascade={"all"})
+     * @ORM\ManyToMany(targetEntity="\FTTHBundle\Entity\VLanID")
      * @ORM\JoinTable(name="onutemplate_vlanids",
      *      joinColumns={@ORM\JoinColumn(name="onu_template_id", referencedColumnName="id", onDelete="CASCADE")},
      *      inverseJoinColumns={@ORM\JoinColumn(name="vlanid_id", referencedColumnName="id", onDelete="CASCADE")})
@@ -127,6 +127,10 @@ class ONUTemplate implements TenancyIdTraitInterface
      */
     protected $catv = true;
 
+    /**
+     * @ORM\Column(type="boolean", nullable=true, columnDefinition="BOOLEAN DEFAULT TRUE")
+     */
+    protected $voip = true;
 
     /**
      * Constructor
@@ -191,7 +195,6 @@ class ONUTemplate implements TenancyIdTraitInterface
         return $this;
     }
 
-
     /**
      * Get updated
      *
@@ -529,4 +532,26 @@ class ONUTemplate implements TenancyIdTraitInterface
         return $this->catv;
     }
 
+    /**
+     * Set voip
+     *
+     * @param boolean $e
+     * @return ONUTemplate
+     */
+    public function setVoIP($e)
+    {
+        $this->voip = $e;
+        return $this;
+    }
+
+    /**
+     * Get voip
+     *
+     * @return boolean
+     */
+    public function getVoIP()
+    {
+        return $this->voip;
+    }
+
 }

+ 41 - 39
src/FTTHBundle/EventListener/ONUSubscriber.php

@@ -2,23 +2,23 @@
 
 namespace FTTHBundle\EventListener;
 
+use Base\AdminBundle\Controller\TenancyService;
+use Doctrine\Common\EventSubscriber;
+use Doctrine\ORM\Event\LifecycleEventArgs;
+use Exception;
 use FTTHBundle\Entity\ONU;
-use FTTHBundle\Entity\VLanID;
 use FTTHBundle\Entity\ONUProfile;
 use FTTHBundle\Entity\ServicePort;
-use FTTHBundle\Entity\VLanProfile;
 use FTTHBundle\Entity\TContProfile;
-use Doctrine\Common\EventSubscriber;
 use FTTHBundle\Entity\TrafficProfile;
+use FTTHBundle\Entity\VLanID;
+use FTTHBundle\Entity\VLanProfile;
 use FTTHBundle\Factory\ExceptionFactory;
-use WorkflowBundle\Utils\DoctrineEvents;
-use Doctrine\ORM\Event\LifecycleEventArgs;
 use FTTHBundle\Service\ClientProxyService;
-use Base\AdminBundle\Controller\TenancyService;
-use Exception;
-use Symfony\Component\Translation\TranslatorInterface;
 use Symfony\Component\DependencyInjection\ContainerInterface;
 use Symfony\Component\HttpFoundation\Session\SessionInterface;
+use Symfony\Component\Translation\TranslatorInterface;
+use WorkflowBundle\Utils\DoctrineEvents;
 
 class ONUSubscriber implements EventSubscriber
 {
@@ -34,7 +34,7 @@ class ONUSubscriber implements EventSubscriber
     private $session;
 
     /**
-     * @var TranslatorInterface 
+     * @var TranslatorInterface
      */
     private $translator;
 
@@ -114,17 +114,19 @@ class ONUSubscriber implements EventSubscriber
     public function preUpdate(LifecycleEventArgs $args)
     {
         $this->execute($args, DoctrineEvents::PRE_UPDATE);
-        
+
         try{
             $entity = $args->getEntity();
             if($entity instanceof ONU){
-                $this->setStateOnu($entity);
+                if(isset($args->getEntityChangeSet()['clientId']) && $args->getOldValue('clientId') != $entity->getClientId()){
+                    $this->setStateOnu($entity);
+                }
             }
         }catch(Exception $ex){
             ExceptionFactory::make($ex->getMessage());
         }
     }
-        
+
     /**
      * @param LifecycleEventArgs $args
      */
@@ -133,13 +135,13 @@ class ONUSubscriber implements EventSubscriber
         $entity = $args->getEntity();
         if ($entity instanceof ONU) {
             $this->em = $args->getEntityManager();
-            
+
             if (!$entity->isDeleted()) {
                 $this->setServicePorts($entity);
             }
         }
     }
-        
+
     /**
      * @param LifecycleEventArgs $args
      */
@@ -177,7 +179,7 @@ class ONUSubscriber implements EventSubscriber
                                     ], 'FTTHBundle'));
                 }
             }
-            
+
             if (!$entity->getTrafficProfile()) {
                 $this->assignTrafficProfile($args);
             }
@@ -240,7 +242,7 @@ class ONUSubscriber implements EventSubscriber
 
         return $position;
     }
-    
+
     /**
      * @param LifecycleEventArgs $args
      * @param string $eventName
@@ -253,19 +255,19 @@ class ONUSubscriber implements EventSubscriber
             $args->getEntity()->setTrafficProfileIn($obj);
         }
     }
-    
+
     /**
      * @param LifecycleEventArgs $args
      * @param string $eventName
      */
     public function assignVlanProfile(LifecycleEventArgs $args)
     {
-        $obj = $this->getDefaultObject(VLanProfile::class);        
+        $obj = $this->getDefaultObject(VLanProfile::class);
         if ($obj) {
             $args->getEntity()->setVlanProfile($obj);
         }
     }
-    
+
     /**
      * @param LifecycleEventArgs $args
      * @param string $eventName
@@ -277,7 +279,7 @@ class ONUSubscriber implements EventSubscriber
             $args->getEntity()->setONUProfile($obj);
         }
     }
-    
+
     /**
      * @param LifecycleEventArgs $args
      * @param string $eventName
@@ -315,7 +317,7 @@ class ONUSubscriber implements EventSubscriber
      * Calcula dos ServicePort para t com
      *
      * @param ONU $onu
-     */ 
+     */
     public function setServicePorts(ONU $onu)
     {
         if ($onu->getNAP() and $onu->getNAP()->getOLT()) {
@@ -325,7 +327,7 @@ class ONUSubscriber implements EventSubscriber
             } else {
             	$model_extra_data = array();
             }
-            
+
             // Si la ONU no tiene asignadas vlans, busco alguna que este por default
             $vlans = $onu->getVlans() ?: [];
             $vlanDefault = $this->getDefaultObject(VLanID::class);
@@ -334,12 +336,12 @@ class ONUSubscriber implements EventSubscriber
                     $vlanDefault,
                 ];
             }
-            
-            if (isset($model_extra_data['auto-create-service-ports']) and 
+
+            if (isset($model_extra_data['auto-create-service-ports']) and
                 $model_extra_data['auto-create-service-ports'] === true and count($sp) == 0
                 and count($vlans)) {
                 $olt = $onu->getNAP()->getOLT();
-                
+
                 // Se buscan los ServicePort utilizados en la OLT
                 $used_sp = $this->em->getRepository(ServicePort::class)->findBy(array(
                     "olt" => $olt,
@@ -348,16 +350,16 @@ class ONUSubscriber implements EventSubscriber
                 foreach ($used_sp as $used_service_port) {
                     $services[$used_service_port->getNumber()] = $used_service_port;
                 }
-                    
+
                 $foundit = array();
                 $found_at_least = count($vlans);
-                                
+
                 // Si existen ServicePort asignados se buscan los números libres                            
                 $max_n = 2;
                 if (count($services)) {
                     $max_n = @max(array_keys($services)); //Warning: max(): Array must contain at least one element
                 }
-                
+
                 for ($i = 1; $i <= $max_n; $i++) {
                     if (!isset($services[$i])) {
                         $foundit[] = $i;
@@ -366,16 +368,16 @@ class ONUSubscriber implements EventSubscriber
                         break;
                     }
                 }
-                
+
                 for ($i = count($foundit) ; $i < $found_at_least; $i++) {
                     $foundit[] = 1 + $max_n + $i;
                 }
-                
+
                 $vlanNumbers = [];
                 foreach ($vlans as $vlan) {
                     $vlanNumbers[] = $vlan->getValue();
                 }
-                
+
                 $gemport = 0;
                 foreach ($foundit as $key => $num) {
                     $sp = new ServicePort();
@@ -383,18 +385,18 @@ class ONUSubscriber implements EventSubscriber
                     $sp->setGemport($gemport);
                     $sp->setVlan(array_shift($vlanNumbers));
                     $onu->addServicePort($sp);
-                    
+
                     $gemport++;
                 }
                 $this->em->flush();
             }
         }
     }
-    
+
     /**
      * @param LifecycleEventArgs $args
      */
-    private function fiberHomeRequire(LifecycleEventArgs &$args) 
+    private function fiberHomeRequire(LifecycleEventArgs &$args)
     {
         $olt = $args->getEntity()->getOlt();
         $vlanName = "vlanid_data";
@@ -402,7 +404,7 @@ class ONUSubscriber implements EventSubscriber
         if (!$olt || $olt->getMark() != "FiberHome") {
             return true;
         }
-        
+
         if ($args->getEntity()->getVlanByName($vlanName))  {
             return true;
         }
@@ -420,17 +422,17 @@ class ONUSubscriber implements EventSubscriber
         }
 
         return true;
-        
+
     }
 
     /**
      * Return the default object for the class parameter filter by current tenancy
      * Optional filter by fields
      * If there is no result, return the default object for base tenancy
-     * 
+     *
      * @param string $class
      * @param array $fields
-     * 
+     *
      * @return mixed
      */
     private function getDefaultObject($class, $fields = [])
@@ -447,5 +449,5 @@ class ONUSubscriber implements EventSubscriber
 
         return $obj;
     }
-    
+
 }

+ 2 - 1
src/FTTHBundle/Form/ONUType.php

@@ -53,7 +53,8 @@ class ONUType extends AbstractType
             ->add('tcontprofile')
             ->add('trafficProfileOut')
             ->add('trafficProfileIn')
-            ->add('catv');
+            ->add('catv')
+            ->add('voip');
 
         $builder->addEventListener(
             FormEvents::PRE_SUBMIT,

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

@@ -159,6 +159,7 @@ form:
     label_capacity: Capacidad
     label_routing_mode: Modalidad de ruteo
     label_catv: CATV
+    label_voip: VoIP
     label_wifi: Wifi
     label_value: Valor
     label_vlan: VLAN ID
@@ -234,6 +235,7 @@ list:
     label_capacity: Capacidad
     label_routing_mode: Modalidad de ruteo
     label_catv: CATV
+    label_voip: VoIP
     label_wifi: Wifi
     label_value: Valor
     label_used_by_default: Default
@@ -313,6 +315,7 @@ show:
     label_capacity: Capacidad
     label_routing_mode: Modalidad de ruteo
     label_catv: CATV
+    label_voip: VoIP
     label_wifi: Wifi
     label_value: Valor
     label_used_by_default: Default
@@ -349,6 +352,7 @@ export:
     link: LINK
     position: Position
     catv: CATV
+    voip: VoIP
     activationCode: Código de Activación
     created: Creada
     updated: Actualizada
@@ -372,6 +376,7 @@ helps:
     profile_download: Expresado en bits
     profile_template: Template a utilizar para gestión de radius
     catv: Utilizado para habilitar/deshabilitar CATV en la ONU conectada a OLT ZTE o Huawei (algunos modelos).
+    voip: Utilizado para habilitar/deshabilitar VoIP en la ONU.
 error:
     address_not_found: La dirección "%client_address%" no fue encontrada en los servicios de google.
     nap_relation_olt_not_found: No se encontró la relación entre el nap y la olt.