Fixing bug in order to save float values see BT#4037

skala
Julio Montoya 13 years ago
parent 61940c31e1
commit ffd890a71c
  1. 4
      main/gradebook/gradebook_edit_result.php
  2. 6
      main/gradebook/gradebook_view_result.php
  3. 5
      main/gradebook/lib/be/evaluation.class.php
  4. 7
      main/gradebook/lib/be/result.class.php
  5. 12
      main/gradebook/lib/fe/evalform.class.php
  6. 2
      main/gradebook/lib/fe/resulttable.class.php
  7. 3
      main/gradebook/lib/scoredisplay.class.php

@ -30,9 +30,9 @@ if ($edit_result_form->validate()) {
$scores = ($values['score']);
foreach ($scores as $row) {
$resultedit = Result :: load (key($scores));
$row_value=(int)$row ;
$row_value = $row ;
if ((!empty ($row_value)) || ($row_value == 0)) {
$resultedit[0]->set_score($row_value);
$resultedit[0]->set_score(floatval(number_format($row_value, api_get_setting('gradebook_number_decimals'))));
}
$resultedit[0]->save();
next($scores);

@ -79,7 +79,7 @@ if (isset ($_GET['editres'])) {
$result->set_id($edit_res_xml);
$result->set_user_id($values['hid_user_id']);
$result->set_evaluation_id($select_eval_edit);
$row_value=isset($values['score']) ? (float)$values['score'] : 0 ;
$row_value = isset($values['score']) ? (float)$values['score'] : 0 ;
if ((!empty ($row_value)) || ($row_value == 0)) {
$result->set_score(floatval(number_format($row_value, api_get_setting('gradebook_number_decimals'))));
}
@ -151,7 +151,7 @@ if (isset ($_GET['import'])) {
$result= new Result();
$result->set_user_id($importedresult['user_id']);
if (!empty ($importedresult['score'])) {
$result->set_score($importedresult['score']);
$result->set_score(floatval(number_format($importedresult['score'], api_get_setting('gradebook_number_decimals'))));
}
if (!empty ($importedresult['date'])) {
$result->set_date(api_get_utc_datetime($importedresult['date']));
@ -285,7 +285,7 @@ if (isset($_GET['export'])) {
if (empty($data['score']) && !is_numeric($data['score'])) {
$result[] = get_lang('DidNotTakeTheExamAcronym');
} else {
$result[] = $data['score'];
$result[] = $data['score'];
}
}
if ($scoredisplay->is_custom()) {

@ -139,8 +139,7 @@ class Evaluation implements GradebookItem
* @param $category_id parent category
* @param $visible visible
*/
public function load ($id = null, $user_id = null, $course_code = null, $category_id = null, $visible = null, $locked = null)
{
public function load ($id = null, $user_id = null, $course_code = null, $category_id = null, $visible = null, $locked = null) {
$tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
$sql='SELECT id,name,description,user_id,course_code,category_id,created_at,weight,max,visible,type,locked FROM '.$tbl_grade_evaluations;
$paramcount = 0;
@ -178,7 +177,7 @@ class Evaluation implements GradebookItem
$sql .= ' visible = '.intval($locked);
$paramcount ++;
}
//echo $sql;
//var_dump($sql);
$result = Database::query($sql);
$alleval = Evaluation::create_evaluation_objects_from_sql_result($result);
return $alleval;

@ -214,18 +214,17 @@ class Result
*/
public function save() {
$tbl_grade_results = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_RESULT);
$sql = 'UPDATE '.$tbl_grade_results
.' SET user_id = '.$this->get_user_id()
$sql = 'UPDATE '.$tbl_grade_results.'
SET user_id = '.$this->get_user_id()
.', evaluation_id = '.$this->get_evaluation_id()
.', score = ';
if (isset($this->score)) {
$sql .= $this->get_score();
} else {
$sql .= 'null';
}
$sql .= ' WHERE id = '.$this->id;
// no need to update creation date
// no need to update creation date
Database::query($sql);
}

@ -51,8 +51,7 @@ class EvalForm extends FormValidator
* @param method
* @param action
*/
function EvalForm($form_type, $evaluation_object, $result_object, $form_name, $method= 'post', $action= null, $extra1 = null, $extra2 = null)
{
function EvalForm($form_type, $evaluation_object, $result_object, $form_name, $method= 'post', $action= null, $extra1 = null, $extra2 = null) {
parent :: __construct($form_name, $method, $action);
if (isset ($evaluation_object)) {
@ -112,11 +111,8 @@ class EvalForm extends FormValidator
}
}
$this->addElement('submit', 'submit_button', get_lang('AddUserToEval'));
// $this->setDefaults(array (
// 'formSent' => '1'
// ));
}
/**
* This function builds a form to edit all results in an evaluation
*/
@ -180,7 +176,7 @@ class EvalForm extends FormValidator
$this->add_textfield('score[' . $result->get_id() . ']',
$this->build_stud_label($user['user_id'], $user['username'], $user['lastname'], $user['firstname']),
false,
array ('size' => 4,
array ('class' => "span2",
'maxlength' => 5));
$this->addRule('score[' . $result->get_id() . ']', get_lang('OnlyNumbers'), 'numeric');
@ -188,7 +184,7 @@ class EvalForm extends FormValidator
'score[' . $result->get_id() . ']', 'maxvalue'), get_lang('OverMax'), 'compare', '<=');
$this->addRule(array (
'score[' . $result->get_id() . ']', 'minvalue'), get_lang('UnderMin'), 'compare', '>=');
$defaults['score[' . $result->get_id() . ']']= $result->get_score();
$defaults['score[' . $result->get_id() . ']'] = $result->get_score();
if (api_is_western_name_order() ) {
$user_info = '<td align="left" >'.$user['firstname'].'</td>';

@ -129,7 +129,9 @@ class ResultTable extends SortableTable
$row[] = $item['lastname'];
$row[] = $item['firstname'];
}
$row[] = $item['score'];
if ($scoredisplay->is_custom()) {
$row[] = $item['display'];
}

@ -258,8 +258,7 @@ class ScoreDisplay
} else {
// if no custom display set, use default display
$display = $this->display_default($my_score, $type);
}
}
if ($this->coloring_enabled && $no_color == false) {
$my_score_denom = ($score[1]==0)?1:$score[1];
if (($score[0] / $my_score_denom) < ($this->color_split_value / 100)) {

Loading…
Cancel
Save