diff --git a/main/admin/session_fields.php b/main/admin/session_fields.php index 6e2075a091..fcddf44f9d 100644 --- a/main/admin/session_fields.php +++ b/main/admin/session_fields.php @@ -42,22 +42,25 @@ if ($action == 'add') { $url = api_get_path(WEB_AJAX_PATH).'model.ajax.php?a=get_extra_fields&type=session'; //The order is important you need to check the the $column variable in the model.ajax.php file -$columns = array(get_lang('Name'), get_lang('FieldLabel'), get_lang('Type'), get_lang('FieldChangeability'), get_lang('Visibility'), get_lang('Filter'), get_lang('Actions')); +$columns = array(get_lang('Name'), get_lang('FieldLabel'), get_lang('Type'), get_lang('FieldChangeability'), get_lang('Visibility'), get_lang('Filter'), get_lang('FieldOrder'), get_lang('Actions')); //Column config $column_model = array( array('name'=>'field_display_text', 'index'=>'field_display_text', 'width'=>'180', 'align'=>'left'), - array('name'=>'field_variable', 'index'=>'field_variable', 'width'=>'', 'align'=>'left','sortable'=>'false'), - array('name'=>'field_type', 'index'=>'field_type', 'width'=>'', 'align'=>'left','sortable'=>'false'), - array('name'=>'field_changeable', 'index'=>'field_changeable', 'width'=>'50', 'align'=>'left','sortable'=>'false'), - array('name'=>'field_visible', 'index'=>'field_visible', 'width'=>'40', 'align'=>'left','sortable'=>'false'), - array('name'=>'field_filter', 'index'=>'field_filter', 'width'=>'30', 'align'=>'left','sortable'=>'false'), + array('name'=>'field_variable', 'index'=>'field_variable', 'width'=>'', 'align'=>'left','sortable'=>'true'), + array('name'=>'field_type', 'index'=>'field_type', 'width'=>'', 'align'=>'left','sortable'=>'true'), + array('name'=>'field_changeable', 'index'=>'field_changeable', 'width'=>'50', 'align'=>'left','sortable'=>'true'), + array('name'=>'field_visible', 'index'=>'field_visible', 'width'=>'40', 'align'=>'left','sortable'=>'true'), + array('name'=>'field_filter', 'index'=>'field_filter', 'width'=>'30', 'align'=>'left','sortable'=>'true'), + array('name'=>'field_order', 'index'=>'field_order', 'width'=>'40', 'align'=>'left','sortable'=>'true'), array('name'=>'actions', 'index'=>'actions', 'width'=>'100', 'align'=>'left','formatter'=>'action_formatter','sortable'=>'false') - ); +); + //Autowidth $extra_params['autowidth'] = 'true'; //height auto -$extra_params['height'] = 'auto'; +$extra_params['height'] = 'auto'; +$extra_params['sortname'] = 'field_order'; //With this function we can add actions to the jgrid (edit, delete, etc) $action_links = 'function action_formatter(cellvalue, options, rowObject) { diff --git a/main/inc/ajax/model.ajax.php b/main/inc/ajax/model.ajax.php index 23b767d586..0b62cbdd09 100644 --- a/main/inc/ajax/model.ajax.php +++ b/main/inc/ajax/model.ajax.php @@ -304,9 +304,9 @@ switch ($action) { $columns = array('firstname', 'lastname', 'username', 'group_name', 'exe_date', 'score', 'actions'); $result = get_exam_results_hotpotatoes_data($start, $limit, $sidx, $sord, $hotpot_path, $where_condition); //get_exam_results_data($start, $limit, $sidx, $sord, $exercise_id, $where_condition); break; - case 'get_sessions': - $result = SessionManager::get_session_columns(); - $columns = $result['simple_column_name']; + case 'get_sessions': + $session_columns = SessionManager::get_session_columns(); + $columns = $session_columns['simple_column_name']; $result = SessionManager::get_sessions_admin(array('where'=> $where_condition, 'order'=>"$sidx $sord", 'extra' => $extra_fields, 'limit'=> "$start , $limit")); break; case 'get_timelines': @@ -454,7 +454,7 @@ switch ($action) { break; case 'get_extra_fields': $obj = new ExtraField($type); - $columns = array('field_display_text', 'field_variable', 'field_type', 'field_changeable', 'field_visible', 'field_filter'); + $columns = array('field_display_text', 'field_variable', 'field_type', 'field_changeable', 'field_visible', 'field_filter', 'field_order'); $result = Database::select('*', $obj->table, array('order'=>"$sidx $sord", 'LIMIT'=> "$start , $limit")); $new_result = array(); if (!empty($result)) { diff --git a/main/inc/lib/extra_field.lib.php b/main/inc/lib/extra_field.lib.php index e1975955f7..a8334fe4ee 100644 --- a/main/inc/lib/extra_field.lib.php +++ b/main/inc/lib/extra_field.lib.php @@ -49,7 +49,7 @@ class ExtraField extends model { public function get_all($where_conditions = array()) { - $options = Database::select('*', $this->table, array('where'=>$where_conditions, 'order' =>'field_display_text ASC')); + $options = Database::select('*', $this->table, array('where'=>$where_conditions, 'order' =>'field_order DESC')); $sesion_field_option = new SessionFieldOption(); if (!empty($options)) { diff --git a/main/inc/lib/session_field.lib.php b/main/inc/lib/session_field.lib.php index bba175b561..cec372bcae 100644 --- a/main/inc/lib/session_field.lib.php +++ b/main/inc/lib/session_field.lib.php @@ -33,8 +33,7 @@ class SessionField extends ExtraField { $defaults = $this->get($id); } - $form->addElement('header', $header); - + $form->addElement('header', $header); $form->addElement('text', 'field_display_text', get_lang('Name'), array('class' => 'span5')); // Field type @@ -70,7 +69,9 @@ class SessionField extends ExtraField { $group = array(); $group[] = $form->createElement('radio', 'field_filter', null, get_lang('Yes'), 1); $group[] = $form->createElement('radio', 'field_filter', null, get_lang('No'), 0); - $form->addGroup($group, '', get_lang('FieldFilter'), '', false); + $form->addGroup($group, '', get_lang('FieldFilter'), '', false); + + $form->addElement('text', 'field_order', get_lang('FieldOrder'), array('class' => 'span1')); /* $status_list = $this->get_status_list(); $form->addElement('select', 'status', get_lang('Status'), $status_list); */