|
@@ -16,6 +16,7 @@ use Symfony\Component\Form\Extension\Core\Type\CollectionType;
|
|
|
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
|
|
|
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
|
|
|
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
|
|
|
+use FTTHBundle\Entity\ONUTemplate;
|
|
|
use FTTHBundle\Form\ServicePortType;
|
|
|
use FTTHBundle\Utils\OLTModelMark;
|
|
|
use WorkflowBundle\Admin\WorkflowBaseAdmin;
|
|
@@ -101,11 +102,14 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
*/
|
|
|
protected function configureFormFields(FormMapper $formMapper)
|
|
|
{
|
|
|
- $marks = OLTModelMark::getChoices();
|
|
|
$em = $this->get("doctrine.orm.entity_manager");
|
|
|
- $template = $em->getRepository('FTTHBundle:ONUTemplate')->findOneBy(array('base'=>true));
|
|
|
+ $template = $em->getRepository(ONUTemplate::class)
|
|
|
+ ->findOneBy(array(
|
|
|
+ 'base' => true,
|
|
|
+ ));
|
|
|
$subject = $this->getSubject();
|
|
|
|
|
|
+ $marks = OLTModelMark::getChoices();
|
|
|
foreach ($marks as $m) {
|
|
|
$hidden[$m] = 'hidden';
|
|
|
}
|
|
@@ -120,15 +124,17 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
],
|
|
|
];
|
|
|
|
|
|
+ // Editando la ONU o hay template base o pasado como parámetro
|
|
|
if ($subject->getId() || $template) {
|
|
|
- if($subject->getOlt()) {
|
|
|
+ if ($subject->getOlt()) {
|
|
|
$olt = $subject->getOlt();
|
|
|
- } elseif($template) {
|
|
|
+ } elseif ($template) {
|
|
|
$olt = $template->getOlt();
|
|
|
} else {
|
|
|
$olt = null;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
+ // Según el modelo de OLT se muestran algunos campos específicos
|
|
|
if ($olt && $olt->getModel()) {
|
|
|
$oltModel = $olt->getModel();
|
|
|
$mark = $oltModel->getMark();
|
|
@@ -143,10 +149,9 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if($template && $this->isCurrentRoute('create')) {
|
|
|
- $translator = $this->get('translator');
|
|
|
+ if ($template && $this->isCurrentRoute('create')) {
|
|
|
$flashbag = $this->get('session')->getFlashBag();
|
|
|
- $flashbag->add("warning", $translator->trans("msg_use_template_onu_in_create_onu_ftth",array(),"FTTHBundle"));
|
|
|
+ $flashbag->add("warning", $this->trans("msg_use_template_onu_in_create_onu_ftth"));
|
|
|
}
|
|
|
|
|
|
$formMapper
|
|
@@ -181,7 +186,7 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
->add('position')
|
|
|
->end()
|
|
|
->with('Huawei', ['class' => "col-md-12 {$hidden['Huawei']} olt_mark Huawei"])
|
|
|
- ->add('service_port',CollectionType::class, array(
|
|
|
+ ->add('service_port', CollectionType::class, array(
|
|
|
'entry_type' => "FTTHBundle\\Form\\ServicePortType",
|
|
|
'allow_add' => true,
|
|
|
'allow_delete' => true,
|
|
@@ -217,38 +222,33 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
|
|
|
|
|
|
$tr069Data = 0;
|
|
|
-
|
|
|
- if($this->isCurrentRoute('edit')) {
|
|
|
-
|
|
|
- if($this->getParameter('tr069_service')) {
|
|
|
- $object = $this->getSubject();
|
|
|
+ if ($this->isCurrentRoute('edit')) {
|
|
|
+ if ($this->getParameter('tr069_service')) {
|
|
|
$serviceName = $this->getParameter('tr069_api');
|
|
|
- if($model = $object->getModel()) {
|
|
|
+ if ($model = $subject->getModel()) {
|
|
|
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()));
|
|
|
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($object->getSerialNumber()));
|
|
|
+ if ($subject->getSerialNumber()) {
|
|
|
+ $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtoupper($subject->getSerialNumber()));
|
|
|
+ $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($subject->getSerialNumber()));
|
|
|
}
|
|
|
|
|
|
- if($object->getPonSerialNumber()) {
|
|
|
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtoupper($object->getPonSerialNumber()));
|
|
|
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($object->getPonSerialNumber()));
|
|
|
+ if ($subject->getPonSerialNumber()) {
|
|
|
+ $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtoupper($subject->getPonSerialNumber()));
|
|
|
+ $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($subject->getPonSerialNumber()));
|
|
|
}
|
|
|
|
|
|
- if($object->getPonSerialNumberAux()) {
|
|
|
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtoupper($object->getPonSerialNumberAux()));
|
|
|
- $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($object->getPonSerialNumberAux()));
|
|
|
+ if ($subject->getPonSerialNumberAux()) {
|
|
|
+ $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtoupper($subject->getPonSerialNumberAux()));
|
|
|
+ $query['$or'][] = array("InternetGatewayDevice.DeviceInfo.SerialNumber" => strtolower($subject->getPonSerialNumberAux()));
|
|
|
}
|
|
|
|
|
|
-
|
|
|
$devices = $tr069->getDevices($query);
|
|
|
|
|
|
- if(is_array($devices) && isset($devices[0]) && isset($devices[0]['_id'])) {
|
|
|
-
|
|
|
+ if (is_array($devices) && isset($devices[0]) && isset($devices[0]['_id'])) {
|
|
|
$tr069Data = $tr069->getTR069Data($devices[0]);
|
|
|
|
|
|
$id = $tr069Data['_id'] ?? null;
|
|
@@ -311,7 +311,7 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
* Si vienen parámetros por GET de olt=id o psn=string seteamos los campos
|
|
|
*/
|
|
|
$formMapper->getFormBuilder()->addEventListener(FormEvents::PRE_SET_DATA,
|
|
|
- function (FormEvent $event) use ($formMapper, $template, $subject) {
|
|
|
+ function (FormEvent $event) use ($em, $template) {
|
|
|
$form = $event->getForm();
|
|
|
|
|
|
if ($template && $this->isCurrentRoute('create')) {
|
|
@@ -319,16 +319,17 @@ class ONUAdmin extends WorkflowBaseAdmin
|
|
|
}
|
|
|
|
|
|
$olt = $this->getRequest()->query->get('olt');
|
|
|
- if(!is_null($olt)) {
|
|
|
- $em = $this->get("doctrine.orm.entity_manager");
|
|
|
-
|
|
|
+ if (!is_null($olt)) {
|
|
|
$query_olt = $em->createQueryBuilder('o')
|
|
|
->select('o')
|
|
|
->from('FTTHBundle:OLT', 'o')
|
|
|
->where('o.id = :id')
|
|
|
->setParameter('id', $olt);
|
|
|
|
|
|
- $form->add('olt', 'entity', array('class' => 'FTTHBundle:OLT', 'query_builder' => $query_olt));
|
|
|
+ $form->add('olt', 'entity', array(
|
|
|
+ 'class' => 'FTTHBundle:OLT',
|
|
|
+ 'query_builder' => $query_olt
|
|
|
+ ));
|
|
|
}
|
|
|
|
|
|
$ponSerialNumber = $this->getRequest()->query->get('psn');
|