|
@@ -57,6 +57,7 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
->add('olt')
|
|
|
// ->add('workflow')
|
|
|
->add('currentState', 'string', array('template' => 'WorkflowBundle:Workflow:base_list_field_current_state.html.twig'))
|
|
|
+ ->add('created')
|
|
|
->add('_action', 'with-workflow-action', array(
|
|
|
'actions' => array(
|
|
|
'show' => array(),
|
|
@@ -89,12 +90,12 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
->add('mac')
|
|
|
->add('olt')
|
|
|
->add('position')
|
|
|
- ->add('service_port',CollectionType::class, array(
|
|
|
- 'entry_type' => "FTTHBundle\\Form\\ServicePortType",
|
|
|
- 'allow_add' => true,
|
|
|
- 'allow_delete' => true,
|
|
|
- 'required' => false,
|
|
|
- ))
|
|
|
+ ->add('service_port',CollectionType::class, array(
|
|
|
+ 'entry_type' => "FTTHBundle\\Form\\ServicePortType",
|
|
|
+ 'allow_add' => true,
|
|
|
+ 'allow_delete' => true,
|
|
|
+ 'required' => false,
|
|
|
+ ))
|
|
|
|
|
|
->add('vlan')
|
|
|
->add('traffic_profile')
|
|
@@ -107,12 +108,12 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
'ponSerialNumber' => $this->trans("helps.onu_pon_serial_number"),
|
|
|
'ponSerialNumberAux' => $this->trans("helps.onu_pon_serial_number_aux"),
|
|
|
'service_port' => $this->trans("helps.service_port"),
|
|
|
- ));
|
|
|
+ ));
|
|
|
|
|
|
|
|
|
|
|
|
$tr069Data = 0;
|
|
|
-
|
|
|
+
|
|
|
if($this->isCurrentRoute('edit')) {
|
|
|
|
|
|
if($this->getParameter('tr069_service')) {
|
|
@@ -122,7 +123,7 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
if($model->getData('tr069_api')) $serviceName = $model->getData('tr069_api');
|
|
|
}
|
|
|
$tr069 = $this->get($serviceName);
|
|
|
-
|
|
|
+
|
|
|
$query = array('$or' => array());
|
|
|
if($object->getSerialNumber()) {
|
|
|
$query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtoupper($object->getSerialNumber()));
|
|
@@ -245,6 +246,7 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
->add('profile')
|
|
|
->add('nap')
|
|
|
->add('model')
|
|
|
+ ->add('created')
|
|
|
->end()
|
|
|
->end()
|
|
|
->tab('Avanzado')
|
|
@@ -272,26 +274,26 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
if($model = $object->getModel()) {
|
|
|
if($model->getData('tr069_api')) $serviceName = $model->getData('tr069_api');
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
$tr069 = $this->get($serviceName);
|
|
|
$object = $this->getSubject();
|
|
|
-
|
|
|
+
|
|
|
$query = array('$or' => array());
|
|
|
if($object->getSerialNumber()) {
|
|
|
$query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtoupper($object->getSerialNumber()));
|
|
|
$query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($object->getSerialNumber()));
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if($object->getPonSerialNumber()) {
|
|
|
$query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtoupper($object->getPonSerialNumber()));
|
|
|
$query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($object->getPonSerialNumber()));
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if($object->getPonSerialNumberAux()) {
|
|
|
$query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtoupper($object->getPonSerialNumberAux()));
|
|
|
$query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($object->getPonSerialNumberAux()));
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
$devices = $tr069->getDevices($query);
|
|
|
|
|
|
if(is_array($devices) && isset($devices[0]) && isset($devices[0]['_id'])) {
|
|
@@ -378,7 +380,7 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
public function preUpdate($onu)
|
|
|
{
|
|
|
$this->correctSerialNumber($onu);
|
|
|
-
|
|
|
+
|
|
|
if((boolean) $this->getForm()->get('tr069_exist')->getData()) {
|
|
|
$ssid = ($this->getForm()->get('tr069_ssid')->getData()) ?? null;
|
|
|
$pass = ($this->getForm()->get('tr069_pass')->getData()) ?? null;
|
|
@@ -396,12 +398,12 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
if(!is_null($catv)) $aux = $tr069->setCATV($id, $catv);
|
|
|
|
|
|
if($ssid) $aux = $tr069->setWlan($id, $ssid, $pass);
|
|
|
-
|
|
|
+
|
|
|
if(!is_null($broadcast)) $aux = $tr069->setWbroadcast($id, $broadcast);
|
|
|
-
|
|
|
+
|
|
|
if(!is_null($status)) $aux = $tr069->setWstatus($id, $status);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public function prePersist($onu)
|
|
@@ -410,14 +412,14 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
}
|
|
|
|
|
|
public function correctSerialNumber($onu) {
|
|
|
-
|
|
|
+
|
|
|
$ponSerialNumber = $onu->getPonSerialNumber(); //Identificador
|
|
|
-
|
|
|
+
|
|
|
$serialNumber = $onu->getSerialNumber();
|
|
|
$ponSerialNumberAux = $onu->getPonSerialNumberAux();
|
|
|
-
|
|
|
+
|
|
|
if(strlen($ponSerialNumber) == 12 || strlen($ponSerialNumber) == 16) {
|
|
|
-
|
|
|
+
|
|
|
if(is_null($serialNumber) || empty($serialNumber)) {
|
|
|
if(strlen($ponSerialNumber) == 16) {
|
|
|
// It is a serial number > set serial number
|
|
@@ -430,7 +432,7 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
$onu->setSerialNumber($sn);
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if(is_null($ponSerialNumberAux) || empty($ponSerialNumberAux)) {
|
|
|
if(strlen($ponSerialNumber) == 16) {
|
|
|
// It is a serial number > convert vendor id from hexa to string and set pon serial number
|
|
@@ -458,10 +460,10 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- if(is_null($serialNumber) || empty($serialNumber))
|
|
|
+ if(is_null($serialNumber) || empty($serialNumber))
|
|
|
$onu->setSerialNumber($ponSerialNumber);
|
|
|
-
|
|
|
- if(is_null($ponSerialNumberAux) || empty($ponSerialNumberAux))
|
|
|
+
|
|
|
+ if(is_null($ponSerialNumberAux) || empty($ponSerialNumberAux))
|
|
|
$onu->setPonSerialNumberAux($ponSerialNumber);
|
|
|
}
|
|
|
}
|
|
@@ -471,36 +473,36 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
$str = "";
|
|
|
for($i=0;$i<strlen($hex);$i+=2)
|
|
|
$str .= chr(hexdec(substr($hex,$i,2)));
|
|
|
-
|
|
|
+
|
|
|
return $str;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
function str2hex($string){
|
|
|
$string = strtoupper($string);
|
|
|
$hex = "";
|
|
|
for ($i=0; $i < strlen($string); $i++)
|
|
|
$hex .= dechex(ord($string[$i]));
|
|
|
-
|
|
|
+
|
|
|
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);
|
|
|
+ $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);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|