Example #1
0
 protected function makeSearch()
 {
     $where = !strlen($this->_request->getCrudWhere()) ? '' : Project::makeQueryDisplay($this->_request->getCrudWhere(), $this->_type);
     $search = '<div class="span10">' . NL;
     if (!empty($where)) {
         $search .= '<span class="badge badge-success">Recherche en cours : ' . $where . '</span>';
         $search .= '&nbsp;&nbsp;<a class="btn btn-warning" href="#" onclick="document.location.href = document.URL;"><i class="icon-trash icon-white"></i> Supprimer cette recherche</a>&nbsp;&nbsp;';
     }
     $search .= '<button id="newCrudSearch" type="button" class="btn btn-info" onclick="$(\'#crudSearchDiv\').slideDown();$(\'#newCrudSearch\').hide();$(\'#hideCrudSearch\').show();"><i class="icon-search icon-white"></i> Effectuer une nouvelle recherche</button>';
     $search .= '&nbsp;&nbsp;<button id="hideCrudSearch" type="button" style="display: none;" class="btn btn-danger" onclick="$(\'#crudSearchDiv\').slideUp();$(\'#newCrudSearch\').show();$(\'#hideCrudSearch\').hide();">Masquer la recherche</button>';
     $search .= '<fieldset id="crudSearchDiv" style="display:none;">' . NL;
     $search .= '<hr />' . NL;
     $i = 0;
     $fieldsJs = array();
     $js = '<script type="text/javascript">' . NL;
     foreach ($this->_config['fields'] as $field => $infosField) {
         if (true === $infosField['searchable']) {
             $fieldsJs[] = "'{$field}'";
             $search .= '<div class="control-group">' . NL;
             $search .= '<label class="control-label">' . Html\Helper::display($infosField['label']) . '</label>' . NL;
             $search .= '<div class="controls" id="crudControl_' . $i . '">' . NL;
             $search .= '<select id="crudSearchOperator_' . $i . '">
                 <option value="=">=</option>
                 <option value="LIKE">Contient</option>
                 <option value="NOT LIKE">Ne contient pas</option>
                 <option value="START">Commence par</option>
                 <option value="END">Finit par</option>
                 <option value="<">&lt;</option>
                 <option value=">">&gt;</option>
                 <option value="<=">&le;</option>
                 <option value=">=">&ge;</option>
                 </select>' . NL;
             $content = $infosField['contentSearch'];
             if (empty($content)) {
                 $search .= '<input type="text" id="crudSearchValue_' . $i . '" value="" />';
             } else {
                 $content = repl(array('##field##', '##type##', '##i##'), array($field, $this->_type, $i), $content);
                 $search .= Crud::internalFunction($content);
             }
             $search .= '&nbsp;&nbsp;<a class="btn" href="#" onclick="addRowSearch(\'' . $field . '\', ' . $i . '); return false;"><i class="icon-plus"></i></a>';
             $search .= '</div>' . NL;
             $search .= '</div>' . NL;
             $i++;
         }
     }
     $js .= 'var searchFields = [' . implode(', ', $fieldsJs) . ']; var numFieldsSearch = ' . ($i - 1) . ';';
     $js .= '</script>' . NL;
     $search .= '<div class="control-group">
             <div class="controls">
                 <button type="submit" class="btn btn-primary" name="Rechercher" onclick="makeCrudSearch();">Rechercher</button>
             </div>
         </div>' . NL;
     $search .= '</fieldset>' . NL;
     $search .= '</div>
     <div class="span2"></div>' . NL . $js . NL;
     $this->_search = $search;
 }