From b623ea5e784e52e478007e4d3a01b9f696e36fc8 Mon Sep 17 00:00:00 2001 From: moodler Date: Tue, 29 Mar 2005 12:34:32 +0000 Subject: [PATCH] Fixes to preferences and other stuff --- grade/index.php | 4 +- grade/lib.php | 304 ++++++++++++++------------------------------- lang/en/grades.php | 5 +- 3 files changed, 99 insertions(+), 214 deletions(-) diff --git a/grade/index.php b/grade/index.php index 3d8ec4cb8d9..922a65b268c 100644 --- a/grade/index.php +++ b/grade/index.php @@ -83,10 +83,8 @@ grade_view_category_grades($user); break; case "prefs": - grade_display_grade_preferences(); - break; case "set_grade_preferences": - grade_display_grade_preferences(); + grade_display_grade_preferences($course, $preferences); break; case "letters": grade_display_letter_grades(); diff --git a/grade/lib.php b/grade/lib.php index e3c1cbe54b9..8538a524c88 100644 --- a/grade/lib.php +++ b/grade/lib.php @@ -10,11 +10,7 @@ $GRADEPREFS = array('use_advanced', // Only add new preferences t 'display_weighted', 'display_points', 'display_percent', - 'display_letter_grade', - 'display_weighted_student', - 'display_points_student', - 'display_percent_student', - 'display_letter_grade_student', + 'display_letters', 'reprint_headers', 'show_hidden', ); @@ -23,13 +19,9 @@ $GRADEPREFS = array('use_advanced', // Only add new preferences t $GRADEPREFSDEFAULTS = array('use_advanced' => 0, 'use_weighted_for_letter' => 0, 'display_weighted' => 0, - 'display_points' => 1, + 'display_points' => 2, 'display_percent' => 1, - 'display_letter_grade' => 0, - 'display_weighted_student' => 0, - 'display_points_student' => 1, - 'display_percent_student' => 0, - 'display_letter_grade_student'=> 0, + 'display_letters' => 0, 'reprint_headers' => 0, 'show_hidden' => 1 ); @@ -919,21 +911,21 @@ function grade_get_preferences($courseid) { } } - // Construct some other ones + // Construct some other ones about which fields are shown $isteacher = isteacher($courseid); - $preferences->show_weighted = (($preferences->display_weighted == 1 && $isteacher) || - ($preferences->display_weighted_student == 1 && !$isteacher)); + $preferences->show_weighted = (($preferences->display_weighted > 0 && $isteacher) || + ($preferences->display_weighted > 1 && !$isteacher)); - $preferences->show_points = (($preferences->display_points == 1 && $isteacher) || - ($preferences->display_points_student == 1 && !$isteacher)); + $preferences->show_points = (($preferences->display_points > 0 && $isteacher) || + ($preferences->display_points > 1 && !$isteacher)); - $preferences->show_percent = (($preferences->display_percent == 1 && $isteacher) || - ($preferences->display_percent_student == 1 && !$isteacher)); + $preferences->show_percent = (($preferences->display_percent > 0 && $isteacher) || + ($preferences->display_percent > 1 && !$isteacher)); - $preferences->show_letter_grade = (($preferences->display_letter_grade == 1 && $isteacher) || - ($preferences->display_letter_grade_student == 1 && !$isteacher)); + $preferences->show_letters = (($preferences->display_letters > 0 && $isteacher) || + ($preferences->display_letters > 1 && !$isteacher)); return $preferences; } @@ -954,13 +946,9 @@ function grade_set_preferences($course, $newprefs) { grade_set_preference($course->id, 'use_advanced', 0); grade_set_preference($course->id, 'use_weighted_for_letter', 0); grade_set_preference($course->id, 'display_weighted', 0); - grade_set_preference($course->id, 'display_points', 1); + grade_set_preference($course->id, 'display_points', 2); grade_set_preference($course->id, 'display_percent', 0); - grade_set_preference($course->id, 'display_letter_grade', 0); - grade_set_preference($course->id, 'display_weighted_student', 0); - grade_set_preference($course->id, 'display_points_student', 1); - grade_set_preference($course->id, 'display_percent_student', 0); - grade_set_preference($course->id, 'display_letter_grade_student', 0); + grade_set_preference($course->id, 'display_letters', 0); /// Lose all exceptions delete_records('grade_exceptions', 'courseid', $course->id); @@ -1558,12 +1546,7 @@ function grade_view_category_grades($view_by_student) { } } - if (isteacher($course->id)) { - $grade_columns = $preferences->display_weighted + $preferences->display_points + $preferences->display_percent; - } - else { - $grade_columns = $preferences->display_weighted_student + $preferences->display_points_student + $preferences->display_percent_student; - } + $grade_columns = $preferences->show_weighted + $preferences->show_points + $preferences->show_percent; $first = 0; //$maxpoints = 0; @@ -1667,11 +1650,11 @@ function grade_view_category_grades($view_by_student) { } $header .=''; if ($preferences->show_points) { - $header1 .= ''.get_string('points','grades').'('. $all_categories[$category][$assignment]['maxgrade']; + $header1 .= ''. $all_categories[$category][$assignment]['maxgrade']; if ($all_categories[$category][$assignment]['grade_against'] != $all_categories[$category][$assignment]['maxgrade']) { - $header1 .= ')('. $all_categories[$category][$assignment]['grade_against']; + $header1 .= '('. $all_categories[$category][$assignment]['grade_against'].')'; } - $header1 .= ')'; + $header1 .= ''; } if($preferences->show_percent) { @@ -1728,7 +1711,7 @@ function grade_view_category_grades($view_by_student) { } if ($preferences->show_points) { - $header1 .= ''.get_string('points','grades').'('.$all_categories[$cview]['stats']['totalpoints'].')'; + $header1 .= ''.$all_categories[$cview]['stats']['totalpoints']; if ($all_categories[$cview]['stats']['bonus_points'] != 0) { $header1 .='(+'.$all_categories[$cview]['stats']['bonus_points'].')'; } @@ -1815,7 +1798,6 @@ function grade_view_all_grades($view_by_student) { global $course; global $preferences; global $USER; - global $group; if (!isteacher($course->id)) { $view_by_student = $USER->id; @@ -1835,12 +1817,7 @@ function grade_view_all_grades($view_by_student) { } } } - if (isteacher($course->id)) { - $grade_columns = $preferences->display_weighted + $preferences->display_points + $preferences->display_percent; - } - else { - $grade_columns = $preferences->display_weighted_student + $preferences->display_points_student + $preferences->display_percent_student; - } + $grade_columns = $preferences->show_weighted + $preferences->show_points + $preferences->show_percent; $first = 0; $total_course_points = 0; @@ -1851,11 +1828,11 @@ function grade_view_all_grades($view_by_student) { if (isteacher($course->id) ) { $student_heading_link = get_string('student','grades'); if ($view_by_student == -1) { - $student_heading_link .='
'.get_string('sortbylastname','grades').'
'; - $student_heading_link .= '
'.get_string('sortbyfirstname','grades').'
'; + $student_heading_link .='
'.get_string('sortbylastname','grades').'
'; + $student_heading_link .= '
'.get_string('sortbyfirstname','grades').'
'; } else { - $student_heading_link .= '
'.get_string('showallstudents','grades').''; + $student_heading_link .= '
'.get_string('showallstudents','grades').''; } $header = ''.$student_heading_link.''; } @@ -1888,10 +1865,10 @@ function grade_view_all_grades($view_by_student) { // set the links to student information based on multiview or individual... if individual go to student info... if many go to individual grades view. if (isteacher($course->id)) { if ($view_by_student != -1) { - $studentviewlink = ''.$grades_by_student[$student]['student_data']['lastname'].', '.$grades_by_student[$student]['student_data']['firstname'].''; + $studentviewlink = ''.$grades_by_student[$student]['student_data']['lastname'].', '.$grades_by_student[$student]['student_data']['firstname'].''; } else { - $studentviewlink = ''.$grades_by_student[$student]['student_data']['lastname'].', '.$grades_by_student[$student]['student_data']['firstname'].''; + $studentviewlink = ''.$grades_by_student[$student]['student_data']['lastname'].', '.$grades_by_student[$student]['student_data']['firstname'].''; } $row .= ''. $studentviewlink .''; } @@ -1907,8 +1884,8 @@ function grade_view_all_grades($view_by_student) { } // only print the category headers if something is displayed for them if ($preferences->show_weighted || $preferences->show_percent || $preferences->show_points) { - $stats_link = ''.get_string('statslink','grades').''; - $header .= ''.get_string('statslink','grades').''; + $header .= ''.get_string('highgradedescending','grades').''; - $grade_sort_link .= ''.get_string('highgradeascending','grades').''; - $points_sort_link = ''.get_string('pointsdescending','grades').''; - $points_sort_link .= ''.get_string('pointsascending','grades').''; - $weighted_sort_link = ''.get_string('weighteddescending','grades').''; - $weighted_sort_link .= ''.get_string('weightedascending','grades').''; - $percent_sort_link = ''.get_string('percentdescending','grades').''; - $percent_sort_link .= ''.get_string('percentascending','grades').''; + $grade_sort_link = ''.get_string('highgradedescending','grades').''; + $grade_sort_link .= ''.get_string('highgradeascending','grades').''; + $points_sort_link = ''.get_string('pointsdescending','grades').''; + $points_sort_link .= ''.get_string('pointsascending','grades').''; + $weighted_sort_link = ''.get_string('weighteddescending','grades').''; + $weighted_sort_link .= ''.get_string('weightedascending','grades').''; + $percent_sort_link = ''.get_string('percentdescending','grades').''; + $percent_sort_link .= ''.get_string('percentascending','grades').''; } - $stats_link = ''.get_string('statslink','grades').''; + $stats_link = ''.get_string('statslink','grades').''; $header .= ''.get_string('total','grades').' '.$stats_link.''; if (isteacher($course->id) && $view_by_student == -1) { if ($preferences->show_points) { @@ -1985,7 +1962,7 @@ function grade_view_all_grades($view_by_student) { if ($preferences->show_weighted) { $header1 .= ''.get_string('weightedpct','grades').'('.$all_categories['stats']['weight'].')'.'
'.$weighted_sort_link.' '.''; } - if ($preferences->show_letter_grade) { + if ($preferences->show_letters) { $header1 .= ''.get_string('lettergrade','grades').'
'.$grade_sort_link.' '.''; } $header1 .= ''; @@ -2004,7 +1981,7 @@ function grade_view_all_grades($view_by_student) { if ($preferences->show_weighted) { $header1 .= ''.get_string('weightedpct','grades').'('.$all_categories['stats']['weight'].')'; } - if ($preferences->show_letter_grade) { + if ($preferences->show_letters) { $header1 .= ''.get_string('lettergrade','grades').''; } $header1 .= ''; @@ -2038,7 +2015,7 @@ function grade_view_all_grades($view_by_student) { if ($preferences->show_weighted) { $row .= ''.$grades_by_student[$student]['student_data']['weighted'].'%'; } - if ($preferences->show_letter_grade) { + if ($preferences->show_letters) { if ($preferences->use_weighted_for_letter == 1) { $grade = $grades_by_student[$student]['student_data']['weighted']; } @@ -2463,115 +2440,66 @@ function grade_category_select($id_selected) { } } -function grade_display_grade_preferences() { +function grade_display_grade_preferences($course, $preferences) { global $CFG; - global $course; global $USER; - $preferences = grade_get_preferences($course->id); - - $stryes = get_string('yes','grades'); - $strno = get_string('no','grades'); - - echo ''; - if ($preferences->use_advanced != 0) { - echo ''; - } - echo ''; + print_heading_with_help(get_string('setpreferences','grades'), 'coursegradepreferences', 'grades'); + + echo '
'.get_string('setpreferences','grades'); - helpbutton('coursegradepreferences', get_string('gradepreferenceshelp','grades'), 'gradebook'); - echo '
'.get_string('item','grades').''.get_string('setting','grades').''.get_string('forstudents','grades').'
'; echo ''; echo ''; echo ''; - echo ''; + echo ''; - echo ''; + $optionsyesno = NULL; + $optionsyesno[0] = get_string('no'); + $optionsyesno[1] = get_string('yes'); - // add user view checkbox - echo ''; + echo ''; + + if ($preferences->use_advanced) { + $options = NULL; + $options[0] = get_string('no'); + $options[1] = get_string('toonly', 'moodle', $course->teachers); + $options[2] = get_string('toeveryone', 'moodle'); + + // display grade weights + echo ''; + echo ''; // display points - echo ''; - - // add user view checkbox - echo ''; + echo ''; + // display percent - echo ''; - - // add user view checkbox - echo ''; + echo ''; // display letter grade - echo ''; - - echo ''; + echo ''; + // letter grade uses weighted percent - $strusepercent = get_string('usepercent','grades'); - $struseweighted = get_string('useweighted','grades'); - echo ''; + $options = NULL; + $options[0] = get_string('usepercent','grades'); + $options[1] = get_string('useweighted','grades'); + + echo ''; + echo ''; } $headerlist[0] = get_string('none'); @@ -2580,18 +2508,15 @@ function grade_display_grade_preferences() { } // reprint headers every n lines default n=0 - echo ''; + echo ''; // show hidden grade items to teacher - echo ''; + echo ''; echo '
'.get_string('useadvanced','grades').'
'.get_string('displayweighted','grades').'display_weighted_student == 1) { - echo ' checked="checked"'; - } - echo ' />'; + echo '
'.get_string('useadvanced','grades').''; + choose_from_menu($optionsyesno, 'use_advanced', $preferences->use_advanced, ''); + echo '
'.get_string('displayweighted','grades').':'; + choose_from_menu($options, 'display_weighted', $preferences->display_weighted, ''); + echo '
'.get_string('displaypoints','grades').'display_points_student == 1) { - echo ' checked="checked"'; - } - echo ' />'; - + echo '
'.get_string('displaypoints','grades').':'; + choose_from_menu($options, 'display_points', $preferences->display_points, ''); + echo '
Display Percentdisplay_percent_student == 1) { - echo ' checked="checked"'; - } - echo ' />'; + echo '
'.get_string('displaypercent','grades').':'; + choose_from_menu($options, 'display_percent', $preferences->display_percent, ''); + echo '
'.get_string('displaylettergrade','grades').'display_letter_grade_student == 1) { - echo ' checked="checked"'; - } - echo ' />'; - + echo '
'.get_string('displaylettergrade','grades').':'; + choose_from_menu($options, 'display_letters', $preferences->display_letters, ''); + echo '
'.get_string('lettergrade','grades').':
'.get_string('lettergrade','grades').':'; + choose_from_menu($options, 'use_weighted_for_letter', $preferences->use_weighted_for_letter, ''); + echo '
'.get_string('reprintheaders','grades').':'; + echo '
'.get_string('reprintheaders','grades').':'; choose_from_menu($headerlist, 'reprint_headers', $preferences->reprint_headers, ''); echo '
'.get_string('showhiddenitems','grades').'
'.get_string('showhiddenitems','grades').''; + choose_from_menu($optionsyesno, 'show_hidden', $preferences->show_hidden, ''); echo '
'; @@ -2756,48 +2681,6 @@ function grade_set_letter_grades() { } } -function grade_show_group_select() { - global $course; - global $USER; - global $group; - - if (!isset($group)) { - if (isset($_REQUEST['group'])) { - $group = clean_param($_REQUEST['group'], PARAM_INT); - } - else { - $group = 0; - } - } - - if ($groups = get_groups($course->id)) { - // the course uses groups so let them choose one - echo ''.get_string('viewbygroup', 'grades').':'; - echo '
'; - echo ''; - - if (isset($_REQUEST['action'])) { - echo ''; - } - - if (isset($_REQUEST['cview'])) { - echo ''; - } - echo ''; - echo '
'; - } -} - function grade_download_form($type='both') { global $course; if ($type != 'both' || $type != 'excel' || $type != 'text') { @@ -2820,7 +2703,10 @@ function grade_download_form($type='both') { print_single_button("index.php", $options, get_string("downloadtext")); echo ''; } - grade_show_group_select(); + echo ''; + setup_and_print_groups($course, $course->groupmode, 'index.php?id='.$course->id); + echo ''; + echo ''; } } diff --git a/lang/en/grades.php b/lang/en/grades.php index bc69e78d6a9..5e4c6e56f9d 100755 --- a/lang/en/grades.php +++ b/lang/en/grades.php @@ -15,9 +15,10 @@ $string['choosecategory'] = 'Select Category'; $string['creatinggradebooksettings'] = 'Creating Gradebook settings'; $string['curveto'] = 'Curve To'; $string['deletecategory'] = 'Delete Category'; -$string['displaylettergrade'] = 'Display Letter Grade'; +$string['displaylettergrade'] = 'Display Letter Grades'; +$string['displaypercent'] = 'Display Percents'; $string['displaypoints'] = 'Display Points'; -$string['displayweighted'] = 'Display Weighted Grade'; +$string['displayweighted'] = 'Display Weighted Grades'; $string['dropped'] = 'Dropped'; $string['dropxlowest'] = 'Drop X Lowest'; $string['dropxlowestwarning'] = 'Note: If you use drop x lowest the grading assumes that all items in the category have the same point value. If point values differ results will be unpredictable';