예제 #1
0
 public function editAction()
 {
     $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Extension Groups"), $this->view->translate("Edit Extension Groups")));
     Zend_Registry::set('cancel_url', $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index');
     $xml = new Zend_Config_Xml("modules/default/forms/extensions_groups.xml");
     $form = new Snep_Form($xml);
     $form->setAction($this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/edit');
     $id = $this->_request->getParam('id');
     $group = Snep_ExtensionsGroups_Manager::getGroup($id);
     $groupId = $form->getElement('id')->setValue($id);
     $groupName = $form->getElement('name')->setValue($group['name'])->setLabel($this->view->translate('Name'));
     $groupType = $form->getElement('type');
     $groupType->setRequired(true)->setLabel($this->view->translate('Type'))->setMultiOptions(array('administrator' => $this->view->translate('Administrator'), 'users' => $this->view->translate('User')))->setValue($group['inherit']);
     $groupExtensions = array();
     foreach (Snep_ExtensionsGroups_Manager::getExtensionsOnlyGroup($id) as $data) {
         $groupExtensions[$data['name']] = "{$data['name']}";
     }
     $groupAllExtensions = array();
     foreach (Snep_ExtensionsGroups_Manager::getExtensionsAll() as $data) {
         if (!isset($groupExtensions[$data['name']])) {
             $groupAllExtensions[$data['name']] = "{$data['name']}";
         }
     }
     $this->view->objSelectBox = "extensions";
     $form->setSelectBox($this->view->objSelectBox, $this->view->translate('Extensions'), $groupAllExtensions, $groupExtensions);
     if ($this->_request->getPost()) {
         $form_isValid = $form->isValid($_POST);
         $dados = $this->_request->getParams();
         $idGroup = $dados['id'];
         $this->view->group = Snep_ExtensionsGroups_Manager::editGroup(array('name' => $dados['name'], 'type' => $dados['type'], 'id' => $idGroup));
         foreach (Snep_ExtensionsGroups_Manager::getExtensionsOnlyGroup($id) as $extensionsGroup) {
             Snep_ExtensionsGroups_Manager::addExtensionsGroup(array('extensions' => $extensionsGroup['name'], 'group' => 'all'));
         }
         if ($dados['box_add']) {
             foreach ($dados['box_add'] as $id => $dados['name']) {
                 $this->view->extensions = Snep_ExtensionsGroups_Manager::addExtensionsGroup(array('extensions' => $dados['name'], 'group' => $idGroup));
             }
         }
         $this->_redirect($this->getRequest()->getControllerName());
     }
     $this->view->form = $form;
 }
예제 #2
0
 /**
  * Set member queue
  * 
  */
 public function membersAction()
 {
     $queue = $this->_request->getParam("id");
     $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Queues"), $this->view->translate("Members {$queue}")));
     $members = Snep_Queues_Manager::getMembers($queue);
     $mem = array();
     foreach ($members as $m) {
         $mem[$m['interface']] = $m['interface'];
     }
     $_allMembers = Snep_Queues_Manager::getAllMembers();
     $notMem = array();
     foreach ($_allMembers as $row) {
         $cd = explode(";", $row['canal']);
         foreach ($cd as $canal) {
             if (strlen($canal) > 0) {
                 if (!array_key_exists($canal, $mem)) {
                     $notMem[$canal] = $row['callerid'] . " ({$canal})({$row['group']})";
                 }
             }
         }
     }
     Zend_Registry::set('cancel_url', $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index');
     $form = new Snep_Form();
     $this->view->objSelectBox = 'members';
     $form->setSelectBox($this->view->objSelectBox, $this->view->translate("Add Member"), $notMem, $mem);
     $queueId = new Zend_Form_Element_hidden('id');
     $queueId->setvalue($queue);
     $form->addElement($queueId);
     $this->view->form = $form;
     if ($this->_request->getPost()) {
         Snep_Queues_Manager::removeAllMembers($queue);
         if (isset($_POST['box_add'])) {
             foreach ($_POST['box_add'] as $add) {
                 Snep_Queues_Manager::insertMember($queue, $add);
             }
         }
         $this->_redirect($this->getRequest()->getControllerName() . '/');
     }
 }
예제 #3
0
 /**
  * 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;
 }
예제 #4
0
 /**
  * Edit a Contact Group
  */
 public function editAction()
 {
     $this->view->breadcrumb = Snep_Breadcrumb::renderPath(array($this->view->translate("Manage"), $this->view->translate("Contact Group"), $this->view->translate("Edit")));
     $id = $this->_request->getParam('id');
     Zend_Registry::set('cancel_url', $this->getFrontController()->getBaseUrl() . '/' . $this->getRequest()->getControllerName() . '/index');
     $form = new Snep_Form(new Zend_Config_Xml("modules/default/forms/contact_groups.xml"));
     $id = $this->_request->getParam('id');
     $obj = new Snep_Contacts_Manager();
     $select = $obj->select()->where('id_contact_group = ?', $id);
     $group = $obj->fetchAll($select)->toArray();
     $groupContacts = array();
     foreach ($group as $contact) {
         $groupContacts[$contact['id_contact']] = "{$contact['ds_name']}";
     }
     $objGroup = new Snep_ContactGroups_Manager();
     $selectGroup = $objGroup->select()->where('id_contact_group = ?', $id);
     $groups = $objGroup->fetchrow($selectGroup)->toArray();
     $form->getElement('group')->setValue(trim($groups['ds_name']));
     $selectno = $obj->select()->where('id_contact_group <> ?', $id);
     $groupno = $obj->fetchAll($selectno)->toArray();
     $groupContactsno = array();
     foreach ($groupno as $contactsno) {
         $selectGroup = $objGroup->select()->where('id_contact_group =  ?', $contactsno['id_contact_group']);
         $groups = $objGroup->fetchRow($selectGroup)->toArray();
         $groupContactsno[$contactsno['id_contact']] = "{$contactsno['ds_name']} ({$groups['ds_name']})";
     }
     $this->view->objSelectBox = "contacts";
     $form->setSelectBox($this->view->objSelectBox, $this->view->translate('Contacts'), $groupContactsno, $groupContacts);
     $hiddenId = new Zend_Form_Element_Hidden('id');
     $hiddenId->setValue($id);
     $form->addElement($hiddenId);
     if ($this->_request->getPost()) {
         $form_isValid = $form->isValid($_POST);
         $dados = $this->_request->getParams();
         $dadosUpdate = array('ds_name' => $_POST['group']);
         if ($form_isValid) {
             $contact = new Snep_ContactGroups_Manager();
             $contact->update($dadosUpdate, "id_contact_group = {$id}");
             if ($dados['box_add']) {
                 $dadosUpdate = array('id_contact_group' => $id);
                 foreach ($dados['box_add'] as $id => $idContact) {
                     $contact = new Snep_Contacts_Manager();
                     $contact->update($dadosUpdate, "id_contact = {$idContact}");
                 }
             }
             $this->_redirect($this->getRequest()->getControllerName());
         }
     }
     $this->view->form = $form;
 }