/** * Edit Carrier */ public function editAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Carrier"), $this->view->translate("Edit"))); $this->view->objSelectBox = "carrier"; $id = $this->_request->getParam("id"); $xml = new Zend_Config_Xml("modules/default/forms/carrier.xml"); $form = new Snep_Form($xml); $carriers = new Snep_Carrier_Manager(); $carrier = $carriers->find($id)->current(); // Popula lista de operadoras $carrierList = array(); foreach ($carriers->fetchAll() as $carrierRow) { $carrierList[$carrierRow->id_carrier] = $carrierRow->ds_name; } $carrierElement = $form->getElement('name'); $carrierElement->setMultiOptions($carrierList)->removeDecorator('DtDdWrapper')->setRegisterInArrayValidator(false); $name = $form->getElement('name'); $name->setValue($carrier['id_carrier'])->setAttrib('disabled', 'disabled'); $form->getElement('ta')->setValue($carrier['vl_start']); $form->getElement('tf')->setValue($carrier['vl_fractionation']); $_idleCostCenter = Snep_Carrier_Manager::getIdleCostCenter(); $idleCostCenter = array(); foreach ($_idleCostCenter as $idle) { $idleCostCenter[$idle['id_costcenter']] = $idle['id_costcenter'] . " : " . $idle['cd_type'] . " - " . $idle['ds_name']; } if (isset($id)) { $_selectedCostCenter = $carrier->findSnep_CostCenter_Manager(); $selectedCostCenter = array(); foreach ($_selectedCostCenter as $selected) { $selectedCostCenter[$selected['id_costcenter']] = $selected['id_costcenter'] . " : " . $selected['cd_type'] . " - " . $selected['ds_name']; } } $form->setSelectBox($this->view->objSelectBox, $this->view->translate('Cost Center'), $idleCostCenter, $selectedCostCenter); $formId = new Zend_Form_Element_Hidden('id'); $formId->setValue($id); $form->addElement($formId); if ($this->_request->getPost()) { $form_isValid = $form->isValid($_POST); $dados = $this->_request->getParams(); if ($form_isValid) { $dados['active'] = 1; $manager = new Snep_Carrier_Manager(); $manager->save($id, $dados); $this->_redirect($this->getRequest()->getControllerName()); } } $this->view->form = $form; }
/** * Add Queue */ public function addAction() { $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Carrier"), $this->view->translate("Add"))); $form = new Snep_Form(new Zend_Config_Xml("modules/default/forms/queues.xml")); $form->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/add'); $this->view->url = $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName(); $carrier = new Snep_Carrier_Manager(); foreach ($carrier->fetchAll() as $_carrier) { $carriers[$_carrier['id_carrier']] = $_carrier['ds_name']; } $this->view->carriers = $carriers; $states['--'] = '--'; $statesList = new Snep_State_Manager(); foreach ($statesList->fetchAll() as $state) { $states[$state['id_state']] = $state['ds_name']; } $this->view->states = $states; $cities['--'] = '--'; foreach (Snep_Billing_Manager::getCity('AC') as $city) { $cities[$city['name']] = $city['name']; } $this->view->cities = $cities; $dados = $this->_request->getParams(); if ($this->_request->getPost()) { $form_isValid = true; $this->view->error = array(); if (!preg_match('/[0-9]+$/', $dados['ddd']) || $dados['ddd'] == "") { $form_isValid = false; $this->view->error['ddd'] = $this->view->translate("City Code not numeric"); } if (!preg_match('/[0-9]+$/', $dados['ddi']) || $dados['ddi'] == "") { $form_isValid = false; $this->view->error['ddi'] = $this->view->translate("Country Code not numeric"); } if (!preg_match('/[0-9]+$/', $dados['prefixo']) || $dados['prefixo'] == "") { $form_isValid = true; $this->view->error['prefixo'] = $this->view->translate("Prefix not numeric"); } if ($dados['operadora'] == "") { $form_isValid = false; $this->view->error['operadora'] = $this->view->translate("Carrier not selected "); } if ($form_isValid) { if ($_POST['ddd'] == "") { $_POST['ddd'] = 0; } if ($_POST['ddi'] == "") { $_POST['ddi'] = 0; } $billing = Snep_Billing_Manager::getPrefix($_POST); if ($billing) { $form_isValid = false; $this->view->message = $this->view->translate("This bill is already set"); } } if ($form_isValid) { $xdados = array('data' => $_POST['data'], 'carrier' => $_POST['operadora'], 'country_code' => $_POST['ddi'], 'country' => $_POST['pais'], 'city_code' => $_POST['ddd'], 'city' => $_POST['cidade'], 'state' => $_POST['estado'], 'prefix' => $_POST['prefixo'], 'tbf' => $_POST['vfix'], 'tbc' => $_POST['vcel']); Snep_Billing_Manager::add($xdados); $this->_redirect($this->getRequest()->getControllerName()); } $this->view->dados = isset($dados) ? $dados : null; } }