diff --git a/main/admin/grade_models.php b/main/admin/grade_models.php index 5447951b39..084bd15022 100644 --- a/main/admin/grade_models.php +++ b/main/admin/grade_models.php @@ -6,7 +6,7 @@ */ // Language files that need to be included. -$language_file = array('admin'); +$language_file = array('admin', 'gradebook'); $cidReset = true; require_once '../inc/global.inc.php'; diff --git a/main/admin/settings.lib.php b/main/admin/settings.lib.php index d31cd6fadc..6c45adad06 100644 --- a/main/admin/settings.lib.php +++ b/main/admin/settings.lib.php @@ -1230,7 +1230,7 @@ function generate_settings_form($settings, $settings_by_access_list) { $form->addElement('select', $row['variable'], array(get_lang($row['title']), get_lang($row['comment'])), call_user_func('select_'.$row['variable']), $hideme); $default_values[$row['variable']] = $row['selected_value']; break; - case 'gradebook_ranking': + /*case 'gradebook_ranking': $value = explode('::', $row['selected_value']); $form->addElement('text', 'gradebook_display['.$row['variable'].'][text]', array(get_lang($row['title']), get_lang($row['comment'])), array('class' => 'span1', 'value' => $value[0]), $hideme); @@ -1239,7 +1239,7 @@ function generate_settings_form($settings, $settings_by_access_list) { $renderer = $form -> defaultRenderer(); $renderer->setElementTemplate(' {label}
{element} %= ', 'gradebook_display['.$row['variable'].'][text]'); $renderer->setElementTemplate(' {element}

', 'gradebook_display['.$row['variable'].'][score]'); - break; + break;*/ case 'custom': break; } diff --git a/main/admin/settings.php b/main/admin/settings.php index 6d8918f4f8..415f499d88 100644 --- a/main/admin/settings.php +++ b/main/admin/settings.php @@ -180,13 +180,13 @@ if (!empty($_GET['category']) && !in_array($_GET['category'], array('Plugins', ' foreach ($values as $key => $value) { if (in_array($key, $settings_to_avoid)) { continue; } - //Gradebook fix + /*//Gradebook fix if ($key == 'gradebook_display') { foreach ($value as $new_key => $item) { $final_value = $item['text'].'::'.$item['score']; $result = api_set_setting($new_key, $final_value, 'ranking', null, $_configuration['access_url']); } - } + }*/ // // Treat gradebook values in separate function. //if (strpos($key, 'gradebook_score_display_custom_values') === false) { diff --git a/main/gradebook/index.php b/main/gradebook/index.php index 9839c66a06..cabc0c8713 100644 --- a/main/gradebook/index.php +++ b/main/gradebook/index.php @@ -820,48 +820,54 @@ if (isset($first_time) && $first_time==1 && api_is_allowed_to_edit(null,true)) { $obj = new GradeModel(); $grade_models = $obj->get_all(); $options = array('-1' => get_lang('none')); - foreach ($grade_models as $item) { - $options[$item['id']] = $item['name']; - } + + if (!empty($grade_models)) { + foreach ($grade_models as $item) { + $options[$item['id']] = $item['name']; + } + } $grade_model_id = $cats[0]->get_grade_model_id(); //No children if (count($cats) == 1 && empty($grade_model_id)) { - $form = new FormValidator('grade_model_settings'); - $form->addElement('select', 'grade_model', get_lang('SelectGradeModel'), $options); - $form->addElement('style_submit_button', 'submit', get_lang('Save'), 'class="save"'); + if (!empty($grade_models)) { - if ($form->validate()) { - $value = $form->exportValue('grade_model'); - $gradebook = new Gradebook(); - $gradebook->update(array('id'=> $cats[0]->get_id(), 'grade_model_id' => $value), true); - - //do something - $obj = new GradeModel(); - $components = $obj->get_components($value); - - foreach ($components as $component) { - $gradebook = new Gradebook(); - $params = array(); - - $params['name'] = $component['acronym']; - $params['description'] = $component['title']; - $params['user_id'] = api_get_user_id(); - $params['parent_id'] = $cats[0]->get_id(); - $params['weight'] = $component['percentage']; - $params['session_id'] = api_get_session_id(); - $params['course_code'] = api_get_course_id(); - $params['grade_model_id'] = api_get_session_id(); - - $gradebook->save($params); - } - - //Reloading cats - $cats = Category :: load(null, null, $course_code, null, null, $session_id, false); //already init - } else { - $form->display(); - } + $form = new FormValidator('grade_model_settings'); + $form->addElement('select', 'grade_model', get_lang('SelectGradeModel'), $options); + $form->addElement('style_submit_button', 'submit', get_lang('Save'), 'class="save"'); + + if ($form->validate()) { + $value = $form->exportValue('grade_model'); + $gradebook = new Gradebook(); + $gradebook->update(array('id'=> $cats[0]->get_id(), 'grade_model_id' => $value), true); + + //do something + $obj = new GradeModel(); + $components = $obj->get_components($value); + + foreach ($components as $component) { + $gradebook = new Gradebook(); + $params = array(); + + $params['name'] = $component['acronym']; + $params['description'] = $component['title']; + $params['user_id'] = api_get_user_id(); + $params['parent_id'] = $cats[0]->get_id(); + $params['weight'] = $component['percentage']; + $params['session_id'] = api_get_session_id(); + $params['course_code'] = api_get_course_id(); + $params['grade_model_id'] = api_get_session_id(); + + $gradebook->save($params); + } + + //Reloading cats + $cats = Category :: load(null, null, $course_code, null, null, $session_id, false); //already init + } else { + $form->display(); + } + } } }