예제 #1
0
파일: Element.php 프로젝트: rtsantos/mais
 public function getIdMaillist()
 {
     $element = new ZendT_Form_Element_Seeker('id_maillist');
     $element->setSufix('maillist');
     $element->setLabel($this->_translate->_('maillisthist.id_maillist') . ':');
     $element->setIdField('id');
     $element->setIdAttribs(array());
     $element->setSearchField('mail_from');
     $element->setSearchAttribs(array('css-width' => '200px'));
     $element->modal()->setWidth(800);
     $element->modal()->setHeight(450);
     $element->url()->setGrid('/tools/maillist/grid');
     $element->url()->setSearch('/tools/maillist/seeker-search');
     $element->url()->setRetrive('/tools/maillist/retrive');
     $element->addValidators(array());
     return $element;
 }
예제 #2
0
파일: Element.php 프로젝트: rtsantos/mais
 public function getIdLogTabela()
 {
     $element = new ZendT_Form_Element_Seeker('id_log_tabela');
     $element->setSufix('log_tabela');
     $element->setLabel($this->_translate->_('log_objeto.id_log_tabela') . ':');
     $element->setIdField('id');
     $element->setIdAttribs(array());
     $element->setSearchField('nome');
     $element->setSearchAttribs(array('css-width' => '200px'));
     $element->modal()->setWidth(800);
     $element->modal()->setHeight(450);
     $element->url()->setGrid('/log/log-tabela/grid');
     $element->url()->setSearch('/log/log-tabela/seeker-search');
     $element->url()->setRetrive('/log/log-tabela/retrive');
     $element->addValidators(array());
     return $element;
 }
예제 #3
0
파일: Element.php 프로젝트: rtsantos/mais
 public function getIdPostoAvancado()
 {
     $element = new ZendT_Form_Element_Seeker('id_posto_avancado');
     $element->setSufix('posto_avancado');
     $element->setLabel($this->_translate->_('wsls_servidor.id_posto_avancado') . ':');
     $element->setIdField('id');
     $element->setIdAttribs(array());
     $element->setSearchField('nome');
     $element->setSearchAttribs(array('css-width' => '200px'));
     $element->modal()->setWidth(800);
     $element->modal()->setHeight(450);
     $element->url()->setGrid('/ca/posto-avancado/grid');
     $element->url()->setSearch('/ca/posto-avancado/seeker-search');
     $element->url()->setRetrive('/ca/posto-avancado/retrive');
     $element->addValidators(array());
     return $element;
 }
예제 #4
0
파일: Elements.php 프로젝트: rtsantos/mais
 public function getIdLogServer()
 {
     $element = new ZendT_Form_Element_Seeker('id_log_server');
     $element->setSufix('log_server');
     $element->setLabel($this->_translate->_('log_server_request.id_log_server') . ':');
     $element->setIdField('id');
     $element->setIdAttribs(array());
     $element->setSearchField('dh_log');
     $element->setSearchAttribs(array('css-width' => '200px'));
     $element->modal()->setWidth(800);
     $element->modal()->setHeight(450);
     $element->url()->setGrid('/monitor/log-server/grid');
     $element->url()->setSearch('/monitor/log-server/seeker-search');
     $element->url()->setRetrive('/monitor/log-server/retrive');
     $element->addValidators(array());
     $element->setDisplayField('cpu_load');
     $element->setDisplayAttribs(array('css-width' => '70px'));
     return $element;
 }
예제 #5
0
파일: Elements.php 프로젝트: rtsantos/mais
 public function getIdUsuario()
 {
     $element = new ZendT_Form_Element_Seeker('id_usuario');
     $element->setSufix('usuario');
     $element->setLabel($this->_translate->_('log_web_relat.id_usuario') . ':');
     $element->setIdField('id');
     $element->setIdAttribs(array());
     $element->setSearchField('login');
     $element->setSearchAttribs(array('css-width' => '100px'));
     $element->modal()->setWidth(800);
     $element->modal()->setHeight(450);
     $element->url()->setGrid('/auth/usuario/grid');
     $element->url()->setSearch('/auth/usuario/seeker-search');
     $element->url()->setRetrive('/auth/usuario/retrive');
     $element->addValidators(array());
     $element->setDisplayField('nome');
     $element->setDisplayAttribs(array('css-width' => '170px'));
     return $element;
 }
예제 #6
0
파일: Form.php 프로젝트: rtsantos/mais
 public function loadProfileFilter($fields, $params)
 {
     $this->enablejQueryValidate();
     $element = new ZendT_Form_Element_Hidden('_search');
     $element->setDecorators(array(new ZendT_Form_Decorator_Hidden()));
     $element->setValue('1');
     $this->addElement($element);
     if (count($fields)) {
         foreach ($fields as $field => $config) {
             if ($config['seeker']) {
                 $baseUri = $itens = ZendT_Lib::mapperViewToArrayUri($config['seeker']['mapperView']);
                 foreach ($config['seeker']['fields'] as $searchName => $searchProp) {
                     unset($config['seeker']['fields'][$searchName]);
                     break;
                 }
                 $element = new ZendT_Form_Element_Seeker($field);
                 $element->setSufix(str_replace('id_', '', $field));
                 $element->setIdField('id');
                 $element->setSearchField($searchName);
                 $element->setSearchAttribs($searchProp);
                 $element->modal()->setWidth(800);
                 $element->modal()->setHeight(400);
                 $element->url()->setGrid("/{$baseUri['module']}/{$baseUri['controller']}/grid");
                 $element->url()->setSearch("/{$baseUri['module']}/{$baseUri['controller']}/seeker-search");
                 $element->url()->setRetrive("/{$baseUri['module']}/{$baseUri['controller']}/retrive");
                 $element->url()->setAutoComplete("/{$baseUri['module']}/{$baseUri['controller']}/auto-complete");
                 //$element->enableAutoComplete();
                 if ($config['multiple'] !== '0') {
                     $element->setMultiple(true);
                 } else {
                     $element->setMultiple(false);
                 }
                 $element->setMapperView($config['seeker']['mapperView']);
                 //Procura os elementos que referenciam essa seeker, para criar uma dependência (filterRefer)
                 foreach ($fields as $field1 => $config1) {
                     if (isset($config1['seeker']) && isset($config1['seeker']['filter'])) {
                         $filterRefer = $config1['seeker']['filter'];
                         if ($filterRefer) {
                             foreach ($filterRefer as $filter1 => $key1) {
                                 if ($filter1 == $field) {
                                     $element->addFilterRefer($field1);
                                 }
                             }
                         }
                     }
                 }
                 $_where = $config['seeker']['where'];
                 $preFilter = $config['seeker']['filter'];
                 if ($_where && !$preFilter) {
                     $element->setWhere($_where);
                 } else {
                     if ($preFilter) {
                         /* print_r($config['seeker']);
                            exit; */
                         $dynamicWhere = "var where = new TWhere('AND');";
                         if ($_where) {
                             $whereFilters = $_where->getFilters();
                             foreach ($whereFilters as $i => $key) {
                                 $value = $key['value'];
                                 if (is_array($value)) {
                                     $value = $value[0];
                                 }
                                 $dynamicWhere .= "\n\t\t\t\t\t\t\t\t\twhere.addFilter({\n\t\t\t\t\t\t\t\t\t   field: '{$key['field']}',\n\t\t\t\t\t\t\t\t\t   value: '{$value}',\n\t\t\t\t\t\t\t\t\t   mapper: '{$key['mapper']}',\n\t\t\t\t\t\t\t\t\t   operation: '{$key['operation']}'\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t";
                             }
                         }
                         foreach ($preFilter as $filter => $key) {
                             if ($filter) {
                                 $label = $fields[$filter]['label'];
                                 $operation = !$key['operation'] ? 'in' : $key['operation'];
                                 $dynamicWhere .= "\n\t\t\t\t\t\t\t\t\t\tvar value1 = \$('#{$filter}').val();\n\t\t\t\t\t\t\t\t\t\tvar value2 = \$('#{$filter}-multiple').val();\n\t\t\t\t\t\t\t\t\t\tif(!value1 && !value2){\n\t\t\t\t\t\t\t\t\t\t\tvar searchid = \$('#{$field}').attr('searchid');\n\t\t\t\t\t\t\t\t\t\t\t\$('#group-' + searchid + ' input').val('');\n\t\t\t\t\t\t\t\t\t\t\talert('Favor preencher o campo {$label}!');\n\t\t\t\t\t\t\t\t\t\t\tvar searchid = \$('#{$filter}').attr('searchid');\n\t\t\t\t\t\t\t\t\t\t\t\$('#' + searchid).focus();\n\t\t\t\t\t\t\t\t\t\t\treturn false;\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tvar value = (value1?value1:value2);\n\t\t\t\t\t\t\t\t\t\tif(value.indexOf(';') != -1){\n\t\t\t\t\t\t\t\t\t\t\twhile(value.indexOf(';') != -1){\n\t\t\t\t\t\t\t\t\t\t\t\tvalue = value.replace(';',',');\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tvalue = [value];\n\t\t\t\t\t\t\t\t\t\t}\n\t \n\t\t\t\t\t\t\t\t\t\twhere.addFilter({\n\t\t\t\t\t\t\t\t\t\t   field: '{$key['field']}',\n\t\t\t\t\t\t\t\t\t\t   value: value,\n\t\t\t\t\t\t\t\t\t\t   mapper: '{$key['mapper']}',\n\t\t\t\t\t\t\t\t\t\t   operation: '{$operation}'\n\t\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t\t";
                             }
                         }
                         $dynamicWhere = "function(){ {$dynamicWhere} return where.toJson(); }";
                         #echo $preWhere;die;
                         $element->setOnFilter($dynamicWhere);
                     }
                 }
                 foreach ($config['seeker']['fields'] as $fieldName => $fieldProp) {
                     $element->addField($fieldName, $fieldName, 'text', $fieldProp);
                 }
             } else {
                 if ($config['autocomplete']) {
                     $element = new ZendT_Form_Element_AutoComplete($field);
                     $url = ZendT_Url::getUri(true) . '/auto-complete/suggest/1/column/' . $field . '/profile/' . $params['profile'];
                     $element->setDataSource($url);
                     $extraParams = array('filters' => new ZendT_JS_Command("function(){\n\t\t\t\t\t\t\tvar formData = jQuery('#" . $this->getId() . "').serializeArray();\n\t\t\t\t\t\t\tvar data = '';\n\t\t\t\t\t\t\tfor(var index in formData){\n\t\t\t\t\t\t\t\tdata = data + '&' + formData[index].name + '=' + formData[index].value;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\treturn data.substr(1);\n\t\t\t\t\t\t}"));
                     $element->setJQueryParam('limit', 100);
                     $element->setJQueryParam('extraParams', $extraParams);
                     $element->setJQueryParam('showButtonSearch', true);
                     if ($config['multiple'] !== '0') {
                         $element->setJQueryParam('multiple', true);
                     } else {
                         $element->setJQueryParam('multiple', false);
                     }
                     $element->setJQueryParam('multipleSeparator', ';');
                     $element->setJQueryParam('mustMatch', true);
                     $element->setJQueryParam('autoFill', true);
                 } else {
                     if (in_array($config['type'], array('Date', 'DateTime'))) {
                         if (getBrowser() != 'IE 8.0') {
                             $element = new ZendT_Form_Element_DateDynamic($field);
                             $_profile = new Profile_DataView_ObjectView_MapperView();
                             $_profile->newRow()->setId($params['profile'])->retrieve();
                             if ($_profile->getObjeto()) {
                                 $objeto = $_profile->getObjeto()->toPhp();
                                 $objeto = new $objeto();
                                 $columns = $objeto->getColumns()->toArray();
                                 if ($columns[$field]['bind']) {
                                     $element->setJQueryParam('fix_elements', count($columns[$field]['bind']));
                                 }
                             }
                             if ($config['max_periodo']) {
                                 $element->setMaxPeriodo($config['max_periodo']);
                             }
                         } else {
                             $element = new ZendT_Form_Element_DateMulti($field);
                         }
                     } else {
                         if (in_array($config['type'], array('Numeric', 'Number'))) {
                             $element = new ZendT_Form_Element_NumericMulti($field);
                         } else {
                             $element = new ZendT_Form_Element_Text($field);
                         }
                     }
                 }
             }
             /**
              * Trata o valor a ser preenchido no elemento
              */
             if ($params[$field]) {
                 $value = $params[$field];
             } else {
                 $value = $config['value'];
             }
             $value = $this->_parseValue($value, $element, $config['type']);
             /**
              * Preenche as propriedaddes do elemento
              */
             $element->setValue($value);
             $element->setLabel($config['label'] . ':');
             $element->setRequired($config['required']);
             if ($element instanceof ZendT_Form_Element_DateDynamic) {
                 $element->addStyle('width', '90px');
             } else {
                 $element->addStyle('width', '270px');
             }
             if ($config['hidden']) {
                 $element->setDecorators(array(new ZendT_Form_Decorator_Hidden()));
             }
             #var_dump($config);die;
             $this->addElement($element);
         }
     }
     /* $element = new ZendT_Form_Element_Button('btPesquisar');
                   $element->setDecorators(array(new ZendT_Form_Decorator_Button()));
                   $element->setLabel('Pesquisar');
                   $element->setIcon('ui-icon-search');
     
                   $element->setAttrib('onClick', "jQuery('form').submit();");
                   $this->addElement($element); */
 }