From 0e07ee00591cbcca45fb6bedf864940078702965 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Wed, 5 Sep 2012 13:56:16 +0200 Subject: [PATCH] Updating jqgrid, fixing search queries in the session_list page see BT#4872 --- main/admin/session_list.php | 131 +- main/css/base.css | 7 +- main/inc/ajax/model.ajax.php | 7 +- main/inc/lib/display.lib.php | 7 + main/inc/lib/javascript/date/date.js | 104 ++ .../javascript/jqgrid/css/ellipsis-xbl.xml | 0 .../lib/javascript/jqgrid/css/ui.jqgrid.css | 28 +- main/inc/lib/javascript/jqgrid/js/Changes.txt | 1160 ----------------- .../jqgrid/js/i18n/grid.locale-ar.js | 5 +- .../jqgrid/js/i18n/grid.locale-bg.js | 5 +- .../jqgrid/js/i18n/grid.locale-bg1251.js | 125 +- .../jqgrid/js/i18n/grid.locale-cat.js | 5 +- .../jqgrid/js/i18n/grid.locale-cn.js | 15 +- .../jqgrid/js/i18n/grid.locale-cs.js | 5 +- .../jqgrid/js/i18n/grid.locale-da.js | 5 +- .../jqgrid/js/i18n/grid.locale-de.js | 61 +- .../jqgrid/js/i18n/grid.locale-dk.js | 128 ++ .../jqgrid/js/i18n/grid.locale-el.js | 5 +- .../jqgrid/js/i18n/grid.locale-en.js | 69 +- .../jqgrid/js/i18n/grid.locale-es.js | 5 +- .../jqgrid/js/i18n/grid.locale-fa.js | 5 +- .../jqgrid/js/i18n/grid.locale-fi.js | 44 +- .../jqgrid/js/i18n/grid.locale-fr.js | 9 +- .../jqgrid/js/i18n/grid.locale-gl.js | 5 +- .../jqgrid/js/i18n/grid.locale-he.js | 5 +- .../jqgrid/js/i18n/grid.locale-hr.js | 129 ++ .../jqgrid/js/i18n/grid.locale-hr1250.js | 129 ++ .../jqgrid/js/i18n/grid.locale-hu.js | 5 +- .../jqgrid/js/i18n/grid.locale-is.js | 59 +- .../jqgrid/js/i18n/grid.locale-it.js | 2 +- .../jqgrid/js/i18n/grid.locale-ja.js | 7 +- .../jqgrid/js/i18n/grid.locale-kr.js | 129 ++ .../jqgrid/js/i18n/grid.locale-lt.js | 5 +- .../jqgrid/js/i18n/grid.locale-mne.js | 5 +- .../jqgrid/js/i18n/grid.locale-nl.js | 6 +- .../jqgrid/js/i18n/grid.locale-no.js | 2 +- .../jqgrid/js/i18n/grid.locale-pl.js | 164 +-- .../jqgrid/js/i18n/grid.locale-pt-br.js | 20 +- .../jqgrid/js/i18n/grid.locale-pt.js | 21 +- .../jqgrid/js/i18n/grid.locale-ro.js | 5 +- .../jqgrid/js/i18n/grid.locale-ru.js | 5 +- .../jqgrid/js/i18n/grid.locale-sk.js | 5 +- .../jqgrid/js/i18n/grid.locale-sr-latin.js | 129 ++ .../jqgrid/js/i18n/grid.locale-sr.js | 5 +- .../jqgrid/js/i18n/grid.locale-sv.js | 5 +- .../jqgrid/js/i18n/grid.locale-th.js | 5 +- .../jqgrid/js/i18n/grid.locale-tr.js | 5 +- .../jqgrid/js/i18n/grid.locale-tw.js | 130 ++ .../jqgrid/js/i18n/grid.locale-ua.js | 5 +- .../javascript/jqgrid/js/jquery.jqGrid.min.js | 1014 +++++++------- main/inc/lib/javascript/jquery-ui/default.css | 2 +- main/inc/lib/sessionmanager.lib.php | 12 +- 52 files changed, 1911 insertions(+), 2044 deletions(-) create mode 100644 main/inc/lib/javascript/date/date.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/css/ellipsis-xbl.xml mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/css/ui.jqgrid.css delete mode 100755 main/inc/lib/javascript/jqgrid/js/Changes.txt mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-ar.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-bg.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-bg1251.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-cat.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-cn.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-cs.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-da.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-de.js create mode 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-dk.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-el.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-en.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-es.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-fa.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-fi.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-fr.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-gl.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-he.js create mode 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-hr.js create mode 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-hr1250.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-hu.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-is.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-it.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-ja.js create mode 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-kr.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-lt.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-mne.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-nl.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-no.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-pl.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-pt-br.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-pt.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-ro.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-ru.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-sk.js create mode 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-sr-latin.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-sr.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-sv.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-th.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-tr.js create mode 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-tw.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/i18n/grid.locale-ua.js mode change 100755 => 100644 main/inc/lib/javascript/jqgrid/js/jquery.jqGrid.min.js diff --git a/main/admin/session_list.php b/main/admin/session_list.php index 40b558ee4b..fc2db0cdef 100644 --- a/main/admin/session_list.php +++ b/main/admin/session_list.php @@ -12,6 +12,7 @@ api_protect_admin_script(true); //Add the JS needed to use the jqgrid $htmlHeadXtra[] = api_get_jqgrid_js(); $htmlHeadXtra[] = api_get_js('json-js/json2.js'); +$htmlHeadXtra[] = api_get_js('date/date.js'); $htmlHeadXtra = api_get_datetime_picker_js($htmlHeadXtra); @@ -53,11 +54,11 @@ if (isset($_REQUEST['keyword'])) { $columns = array( get_lang('Name'), - get_lang('display_start_date'), - get_lang('display_end_date'), + get_lang('SessionDisplayStartDate'), + get_lang('SessionDisplayEndDate'), get_lang('SessionCategoryName'), - get_lang('StartDate'), - get_lang('EndDate'), + //get_lang('StartDate'), + //get_lang('EndDate'), get_lang('Coach'), get_lang('Status'), get_lang('Visibility'), @@ -65,53 +66,63 @@ $columns = array( //$activeurl = '?sidx=session_active'; //Column config +$operators = array('cn', 'nc'); +$date_operators = array('gt', 'ge', 'lt', 'le'); + $column_model = array ( - array('name'=>'name', 'index'=>'name', 'width'=>'120', 'align'=>'left', 'search' => 'true'), - // array('name'=>'nbr_courses', 'index'=>'nbr_courses', 'width'=>'30', 'align'=>'left', 'search' => 'true'), - // array('name'=>'nbr_users', 'index'=>'nbr_users', 'width'=>'30', 'align'=>'left', 'search' => 'true'), - array('name'=>'display_start_date', 'index'=>'display_start_date', 'hidden' => 'true', 'width'=>'70', 'align'=>'left', 'search' => 'true', 'searchoptions' => array('searchhidden' =>'true')), - array('name'=>'display_end_date', 'index'=>'display_end_date', 'hidden' => 'true', 'width'=>'70', 'align'=>'left', 'search' => 'true', 'searchoptions' => array('searchhidden' =>'true')), - - array('name'=>'category_name', 'index'=>'category_name', 'hidden' => 'true', 'width'=>'70', 'align'=>'left', 'search' => 'true', 'searchoptions' => array('searchhidden' =>'true')), - array('name'=>'access_start_date', 'index'=>'access_start_date', 'width'=>'60', 'align'=>'left', 'search' => 'true', 'searchoptions' => array()), - array('name'=>'access_end_date', 'index'=>'access_end_date', 'width'=>'60', 'align'=>'left', 'search' => 'true'), - array('name'=>'coach_name', 'index'=>'coach_name', 'width'=>'70', 'align'=>'left', 'search' => 'false'), - array('name'=>'status', 'index'=>'session_active','width'=>'40', 'align'=>'left', 'search' => 'true', 'stype'=>'select', - - //for the bottom bar - 'searchoptions' => array( - 'defaultValue' => '1', - 'value' => '1:'.get_lang('Active').';0:'.get_lang('Inactive')), - - //for the top bar - // 'editoptions' => array('value' => '" ":'.get_lang('All').';1:'.get_lang('Active').';0:'.get_lang('Inactive')) - ), - array('name'=>'visibility', 'index'=>'visibility', 'width'=>'40', 'align'=>'left', 'search' => 'false'), - array('name'=>'actions', 'index'=>'actions', 'width'=>'80', 'align'=>'left','formatter'=>'action_formatter','sortable'=>'false', 'search' => 'false') + array('name'=>'name', 'index'=>'name', 'width'=>'120', 'align'=>'left', 'search' => 'true'), + array('name'=>'display_start_date', 'index'=>'display_start_date', 'width'=>'70', 'align'=>'left', 'search' => 'true', 'searchoptions' => array('dataInit' => 'date_pick_today', 'sopt' => $date_operators)), + array('name'=>'display_end_date', 'index'=>'display_end_date', 'width'=>'70', 'align'=>'left', 'search' => 'true', 'searchoptions' => array('dataInit' => 'date_pick_one_month', 'sopt' => $date_operators)), + array('name'=>'category_name', 'index'=>'category_name', 'hidden' => 'true', 'width'=>'70', 'align'=>'left', 'search' => 'true', 'searchoptions' => array('searchhidden' =>'true', 'sopt' => $operators)), + //array('name'=>'access_start_date', 'index'=>'access_start_date', 'width'=>'60', 'align'=>'left', 'search' => 'true', 'searchoptions' => array('searchhidden' =>'true')), + //array('name'=>'access_end_date', 'index'=>'access_end_date', 'width'=>'60', 'align'=>'left', 'search' => 'true', 'searchoptions' => array('searchhidden' =>'true')), + array('name'=>'coach_name', 'index'=>'coach_name', 'width'=>'70', 'align'=>'left', 'search' => 'false', 'searchoptions' => array('sopt' => $operators)), + array('name'=>'status', 'index'=>'session_active','width'=>'40', 'align'=>'left', 'search' => 'true', 'stype'=>'select', + + //for the bottom bar + 'searchoptions' => array( + 'defaultValue' => '1', + 'value' => '1:'.get_lang('Active').';0:'.get_lang('Inactive')), + + //for the top bar + // 'editoptions' => array('value' => '" ":'.get_lang('All').';1:'.get_lang('Active').';0:'.get_lang('Inactive')) + ), + array('name'=>'visibility', 'index'=>'visibility', 'width'=>'40', 'align'=>'left', 'search' => 'false'), + array('name'=>'actions', 'index'=>'actions', 'width'=>'80', 'align'=>'left','formatter'=>'action_formatter','sortable'=>'false', 'search' => 'false') ); //Inject extra session fields $session_field = new SessionField(); $session_field_option = new SessionFieldOption(); $fields = $session_field->get_all(); -$rules = array(); -$rules[] = array( "field" => "display_start_date", "op" => "eq", "data" => ""); -$rules[] = array( "field" => "display_end_date", "op" => "eq", "data" => ""); +$rules = array(); +$now = new DateTime(); +$now->add(new DateInterval('P30D')); +$one_month = $now->format('Y-m-d h:m:s'); +//$rules[] = array( "field" => "name", "op" => "cn", "data" => ""); +//$rules[] = array( "field" => "category_name", "op" => "cn", "data" => ""); +$rules[] = array( "field" => "display_start_date", "op" => "ge", "data" => api_get_local_time()); +$rules[] = array( "field" => "display_end_date", "op" => "le", "data" => api_get_local_time($one_month)); -if (!empty($fields)) { - +if (!empty($fields)) { foreach ($fields as $field) { + $search_options = array(); + $type = 'text'; if ($field['field_type'] == UserManager::USER_FIELD_TYPE_SELECT) { $type = 'select'; + $search_options['sopt'] = array('eq', 'ne'); //equal not equal + } else { + $search_options['sopt'] = array('cn', 'nc');//contains not contains } - $search_options = array(); + $search_options['searchhidden'] = true; $search_options['defaultValue'] = $search_options['field_default_value']; $search_options['value'] = $session_field_option->get_field_options_to_string($field['id']); - + //$search_options['dataInit'] = 'datePick'; + $column_model[] = array( 'name' => $field['field_variable'], 'index' => 'extra_'.$field['field_variable'], @@ -122,13 +133,13 @@ if (!empty($fields)) { 'searchoptions' => $search_options ); $columns[] = $field['field_display_text']; - $rules[] = array('field' => 'extra_'.$field['field_variable'], 'op' => 'eq', 'data' => ''); + $rules[] = array('field' => 'extra_'.$field['field_variable'], 'op' => 'eq'); } - $groups = array( + /*$groups = array( 'groupOp'=> 'OR', 'rules' => $rules - ); + );*/ } @@ -143,7 +154,7 @@ $extra_params['rowList'] = array(10, 20 ,30); $extra_params['postData'] =array ( 'filters' => array( - "groupOp" => "AND", + "groupOp" => "OR", "rules" => $rules, /*array( array( "field" => "display_start_date", "op" => "gt", "data" => ""), @@ -170,6 +181,7 @@ $action_links = 'function action_formatter(cellvalue, options, rowObject) { '\'; }'; ?> +