Пример #1
0
 /**
  * 
  * Atualiza lista de operadoras e centros de custos relacionados
  * @param int $carrierId
  * @param Array $costCentersId
  */
 public function save($carrierId, $dados)
 {
     $selected = $this->fetchRow($this->select()->where('id_carrier = ?', $carrierId));
     $selected->vl_start = $dados['ta'];
     $selected->vl_fractionation = $dados['tf'];
     $selected->fg_active = $dados['active'];
     $selected->save();
     // Busca e limpa centros de custos relacionados
     $costcenters = $selected->findSnep_CostCenter_Manager();
     if (count($costcenters) > 0) {
         foreach ($costcenters as $cc) {
             $cc->id_carrier = null;
             $cc->save();
         }
     }
     // Cadastra os Centro de Custos selecionados
     foreach ($dados['box_add'] as $costcenterId) {
         $cs = new Snep_CostCenter_Manager();
         $csRow = $cs->fetchRow($cs->select()->where('id_costcenter = ?', $costcenterId));
         $csRow->id_carrier = $carrierId;
         $csRow->save();
     }
 }
Пример #2
0
 /**
  * Edit Cost Center's
  */
 public function editAction()
 {
     $id = $this->_request->getParam('id');
     $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Cost Center"), $this->view->translate("Edit")));
     $obj = new Snep_CostCenter_Manager();
     $select = $obj->select()->where('id_costcenter = ?', $id);
     $cost_center = $obj->fetchRow($select)->toArray();
     Zend_Registry::set('cancel_url', $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index');
     $form = new Snep_Form(new Zend_Config_Xml("modules/default/forms/cost_center.xml"));
     $form->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/edit/id/' . $id);
     $idcc = new Zend_Form_Element_Hidden('id_costcenter');
     $idcc->setValue($cost_center['id_costcenter']);
     $form->getElement('id')->setValue($cost_center['cd_code'])->setAttrib('readonly', true);
     $form->getElement('name')->setValue($cost_center['ds_name']);
     $form->getElement('description')->setValue($cost_center['ds_description']);
     $form->getElement('type')->setValue($cost_center['cd_type']);
     $form->addElement($idcc);
     if ($this->_request->getPost()) {
         $_POST['id'] = trim($_POST['id']);
         $form_isValid = $form->isValid($_POST);
         $data = array('cd_code' => trim($_POST['id']), 'ds_name' => $_POST['name'], 'cd_type' => $_POST['type'], 'ds_description' => $_POST['description'], 'id_carrier' => null);
         if ($form_isValid) {
             $costCenter = new Snep_CostCenter_Manager();
             $costCenter->update($data, "id_costcenter = {$_POST['id_costcenter']}");
             $this->_redirect($this->getRequest()->getControllerName());
         }
     }
     $this->view->form = $form;
 }