public function __construct($spec, $options = null) { $this->addMultiOption("", ""); $groups = new Snep_GruposRamais(); $extengroups = array(); foreach ($groups->getAll() as $group) { $extengroups[$group['id_extensiongroup']] = $group['ds_name']; } $this->addMultiOptions($extengroups); parent::__construct($spec, $options); }
private function getForm() { $config = Zend_Registry::get('config'); $db = Zend_Registry::get('db'); $form = new Snep_Form(); $form->setAction($this->getFrontController()->getBaseUrl() . '/calls-report/'); $form->setName('create'); $form_xml = new Zend_Config_Xml('./modules/default/forms/calls_report.xml'); // --- Subsection - Periods $period = new Snep_Form_SubForm($this->view->translate("Period"), $form_xml->period); $locale = Snep_Locale::getInstance()->getLocale(); $now = Zend_Date::now(); if ($locale == 'en_US') { $now = $now->toString('YYYY-MM-dd HH:mm'); } else { $now = $now->toString('dd/MM/YYYY HH:mm'); } $initDay = $period->getElement('initDay'); $initDay->setValue($now); $finalDay = $period->getElement('finalDay'); $finalDay->setValue($now); $order = $period->getElement('order'); $order->setValue('data'); $form->addSubForm($period, "period"); // Populate groups $groupLib = new Snep_GruposRamais(); $groupsTmp = $groupLib->getAll(); $groupsData = array(); foreach ($groupsTmp as $key => $group) { switch ($group['name']) { case 'administrator': $groupsData[$this->view->translate('Administrators')] = $group['name']; break; case 'users': $groupsData[$this->view->translate('Users')] = $group['name']; break; case 'all': $groupsData[$this->view->translate('All')] = $group['name']; break; default: $groupsData[$group['name']] = $group['name']; } } // --- Subsection -- Source $source = new Snep_Form_SubForm($this->view->translate("Source"), $form_xml->source); $sourceElement = $source->getElement('selectSrc'); $sourceElement->addMultiOption(null, ''); $sourceElement->setAttrib('onChange', 'blockFields($(this).id, $(this).value);'); $srcType = $source->getElement('srctype'); $srcType->setValue('src1'); $form->addSubForm($source, "source"); // --- Subsection -- Destination $destination = new Snep_Form_SubForm($this->view->translate("Destination"), $form_xml->destination); $destinationElement = $destination->getElement('selectDst'); $destinationElement->addMultiOption(null, ''); $destinationElement->setAttrib('onChange', 'blockFields($(this).id, $(this).value);'); $dstType = $destination->getElement('dsttype'); $dstType->setValue('dst1'); $form->addSubForm($destination, "destination"); foreach ($groupsData as $key => $value) { $sourceElement->addMultiOption($value, $key); $destinationElement->addMultiOption($value, $key); } // --- Subsection - Calls related options $calls = new Snep_Form_SubForm($this->view->translate("Calls"), $form_xml->calls); // List Cost Centers and populate select $select = $db->select()->from(array('cc' => 'ccustos'))->order('codigo'); $costs = $db->query($select)->fetchAll(); $costsElement = $calls->getElement('costs_center'); foreach ($costs as $cost) { $costsElement->addMultiOption($cost['codigo'], $cost['tipo'] . ' : ' . $cost['codigo'] . ' - ' . $cost['nome']); } $calls->getElement('status')->setValue('ALL'); $calls->getElement('type')->setValue('T'); $form->addSubForm($calls, "calls"); // --- Subsection - Other options $other = new Snep_Form_SubForm($this->view->translate("Other Options"), $form_xml->others); //$other->getElement('graph_type')->setValue('bars'); $other->getElement('report_type')->setValue('analytical'); $form->addSubForm($other, "others"); $form->getElement('submit')->setLabel($this->view->translate("Show Report")); $form->removeElement('cancel'); /* $form->addElement(new Zend_Form_Element_Submit("submit_graph", array("label" => $this->view->translate("Exibir Gráfico")) )); $buttonCsv = new Zend_Form_Element_Submit("submit_csv", array("label" => $this->view->translate("Exportar CSV"))); $buttonCsv->setOrder(5004); $buttonCsv->addDecorator(array("closetd" => 'HtmlTag'), array('tag' => 'td', 'closeOnly' => true, 'placement' => Zend_Form_Decorator_Abstract::APPEND)); $buttonCsv->addDecorator(array("closetr" => 'HtmlTag'), array('tag' => 'tr', 'closeOnly' => true, 'placement' => Zend_Form_Decorator_Abstract::APPEND)); $form->addElement($buttonCsv); */ return $form; }
protected function getForm() { // Create object Snep_Form $form = new Snep_Form(); // Set form action $form->setAction($this->getFrontController()->getBaseUrl() . '/services-report/index'); $form_xml = new Zend_Config_Xml('./modules/default/forms/services_report.xml'); $config = Zend_Registry::get('config'); $period = new Snep_Form_SubForm($this->view->translate("Period"), $form_xml->period); $validatorDate = new Zend_Validate_Date(Zend_Locale_Format::getDateFormat(Zend_Registry::get('Zend_Locale'))); $locale = Snep_Locale::getInstance()->getLocale(); $now = Zend_Date::now(); if ($locale == 'en_US') { $now = $now->toString('YYYY-MM-dd HH:mm'); } else { $now = $now->toString('dd/MM/YYYY HH:mm'); } $yesterday = Zend_Date::now()->subDate(1); $initDay = $period->getElement('init_day'); $initDay->setValue($now); //$initDay->addValidator($validatorDate); $tillDay = $period->getElement('till_day'); $tillDay->setValue($now); //$tillDay->addValidator($validatorDate); $form->addSubForm($period, "period"); $exten = new Snep_Form_SubForm($this->view->translate("Extensions"), $form_xml->exten); $groupLib = new Snep_GruposRamais(); $groupsTmp = $groupLib->getAll(); $groupsData = array(); foreach ($groupsTmp as $key => $group) { switch ($group['name']) { case 'administrator': $groupsData[$this->view->translate('Administrators')] = $group['name']; break; case 'users': $groupsData[$this->view->translate('Users')] = $group['name']; break; case 'all': $groupsData[$this->view->translate('All')] = $group['name']; break; default: $groupsData[$group['name']] = $group['name']; } } $selectGroup = $exten->getElement('group_select'); $selectGroup->addMultiOption(null, '----'); foreach ($groupsData as $key => $value) { $selectGroup->addMultiOption($value, $key); } $selectGroup->setAttrib('onSelect', "enableField('exten-group_select', 'exten-exten_select');"); $form->addSubForm($exten, "exten"); $service = new Snep_Form_SubForm($this->view->translate("Services"), $form_xml->service); $form->addSubForm($service, "service"); $form->getElement('submit')->setLabel($this->view->translate("Show Report")); $form->removeElement("cancel"); return $form; }