From d490d87c22d7207d0a333436151d72a606b43f63 Mon Sep 17 00:00:00 2001 From: nicolasconnault Date: Mon, 9 Jul 2007 14:54:32 +0000 Subject: [PATCH] MDL-10368 Finished implementation of toggle actions, and added icons near each toggle. Also added a few css rules for display. --- grade/report/grader/index.php | 94 +++++++++++++++++++------------ pix/t/scales.gif | Bin 0 -> 95 bytes pix/t/sigma.gif | Bin 0 -> 108 bytes theme/standard/styles_layout.css | 4 ++ 4 files changed, 61 insertions(+), 37 deletions(-) create mode 100644 pix/t/scales.gif create mode 100644 pix/t/sigma.gif diff --git a/grade/report/grader/index.php b/grade/report/grader/index.php index 351566ec70..6dd23b296a 100644 --- a/grade/report/grader/index.php +++ b/grade/report/grader/index.php @@ -27,6 +27,13 @@ function get_grade_clean($gradeval) { */ function grader_report_print_toggle($type, $baseurl, $return=false) { global $CFG; + + $icons = array('eyecons' => 'hide', + 'calculations' => 'calc', + 'locks' => 'lock', + 'grandtotals' => 'sigma', + 'notes' => 'feedback'); + $pref_name = 'grade_report_show' . $type; $show_pref = get_user_preferences($pref_name, $CFG->$pref_name); @@ -41,8 +48,19 @@ function grader_report_print_toggle($type, $baseurl, $return=false) { $toggle_action = 0; } - $retval = '
" - . ${'str' . $show_hide} . '
'; + if (array_key_exists($type, $icons)) { + $image_name = $icons[$type]; + } else { + $image_name = $type; + } + + $string = ${'str' . $show_hide}; + + $img = ''
+                  .$string.''. "\n"; + + $retval = '
' . $img . '" + . $string . '
'; if ($return) { return $retval; @@ -100,11 +118,17 @@ $target = optional_param('target', 0, PARAM_ALPHANUM); $toggle = optional_param('toggle', NULL, PARAM_INT); $toggle_type = optional_param('toggle_type', 0, PARAM_ALPHANUM); +// Handle toggle change request +// TODO print visual feedback +if (!is_null($toggle) && !empty($toggle_type)) { + set_user_preferences(array('grade_report_show' . $toggle_type => $toggle)); +} + // Get the user preferences $perpage = get_user_preferences('grade_report_studentsperpage', $CFG->grade_report_studentsperpage); // number of users on a page $decimals = get_user_preferences('grade_report_decimalpoints', $CFG->grade_report_decimalpoints); // decimals in grades -$displaytotals = get_user_preferences('grade_report_showgrandtotals', $CFG->grade_report_showgrandtotals); -$displaygrouptotals = get_user_preferences('grade_report_showgroups', $CFG->grade_report_showgroups); +$showgrandtotals = get_user_preferences('grade_report_showgrandtotals', $CFG->grade_report_showgrandtotals); +$showgroups = get_user_preferences('grade_report_showgroups', $CFG->grade_report_showgroups); $aggregation_position = get_user_preferences('grade_report_aggregationposition', $CFG->grade_report_aggregationposition); $showscales = get_user_preferences('grade_report_showscales', $CFG->grade_report_showscales); @@ -124,29 +148,27 @@ $baseurl = 'report.php?id='.$courseid.'&perpage='.$perpage.'&report=grad // base url for paging $pbarurl = 'report.php?id='.$courseid.'&perpage='.$perpage.'&report=grader&'; -// Handle toggle change request -// TODO print visual feedback -if (!is_null($toggle) && !empty($toggle_type)) { - set_user_preferences(array('grade_report_show' . $toggle_type => $toggle)); -} - -/// find out current groups mode -$course = get_record('course', 'id', $courseid); -$groupmode = $course->groupmode; -ob_start(); -$currentgroup = setup_and_print_groups($course, $groupmode, $baseurl); -$group_selector = ob_get_clean(); - -// update paging after group -$baseurl .= 'group='.$currentgroup.'&'; -$pbarurl .= 'group='.$currentgroup.'&'; - -if ($currentgroup) { - $groupsql = " LEFT JOIN {$CFG->prefix}groups_members gm ON gm.userid = u.id "; - $groupwheresql = " AND gm.groupid = $currentgroup "; -} else { - $groupsql = ''; - $groupwheresql = ''; +$groupsql = ''; +$groupwheresql = ''; +$group_selector = null; +$currentgroup = null; + +if ($showgroups) { + /// find out current groups mode + $course = get_record('course', 'id', $courseid); + $groupmode = $course->groupmode; + ob_start(); + $currentgroup = setup_and_print_groups($course, $groupmode, $baseurl); + $group_selector = ob_get_clean(); + + // update paging after group + $baseurl .= 'group='.$currentgroup.'&'; + $pbarurl .= 'group='.$currentgroup.'&'; + + if ($currentgroup) { + $groupsql = " LEFT JOIN {$CFG->prefix}groups_members gm ON gm.userid = u.id "; + $groupwheresql = " AND gm.groupid = $currentgroup "; + } } // Grab the grade_tree for this course @@ -359,6 +381,7 @@ include('tabs.php'); echo $group_selector; // Show/hide toggles +echo '
'; if ($USER->gradeediting) { grader_report_print_toggle('eyecons', $baseurl); grader_report_print_toggle('locks', $baseurl); @@ -369,6 +392,7 @@ grader_report_print_toggle('notes', $baseurl); grader_report_print_toggle('grandtotals', $baseurl); grader_report_print_toggle('groups', $baseurl); grader_report_print_toggle('scales', $baseurl); +echo '
'; // Paging bar print_paging_bar($numusers, $page, $perpage, $pbarurl); @@ -552,7 +576,9 @@ foreach ($users as $userid => $user) { } // if user preference to display group sum -if ($currentgroup && ($displaygrouptotals || 1)) { +$groupsumhtml = ''; + +if ($currentgroup && $showgroups) { /** SQL for finding group sum */ $SQL = "SELECT g.itemid, SUM(g.finalgrade) as sum @@ -583,12 +609,11 @@ if ($currentgroup && ($displaygrouptotals || 1)) { } } $groupsumhtml .= ''; -} else { - $groupsumhtml = ''; } // Grand totals -if ($displaytotals) { +$gradesumhtml = ''; +if ($showgrandtotals) { /** SQL for finding the SUM grades of all visible users ($CFG->gradebookroles) */ @@ -618,21 +643,16 @@ if ($displaytotals) { } } $gradesumhtml .= ''; -} else { - $gradesumhtml = ''; } - // finding the ranges of each gradeitem - +$scalehtml = ''; if ($showscales) { $scalehtml = ''.get_string('range','grades').''; foreach ($items as $item) { $scalehtml .= ''. get_grade_clean($item->grademin).'-'. get_grade_clean($item->grademax).''; } $scalehtml .= ''; -} else { - $scalehtml = ''; } $reporthtml = "$headerhtml"; diff --git a/pix/t/scales.gif b/pix/t/scales.gif new file mode 100644 index 0000000000000000000000000000000000000000..3674474370e620eed13e33d05f4a707cff63d3d3 GIT binary patch literal 95 zcmZ?wbhEHb)=6o0ZXGBB_+=zv5)Y8jYSDt2AjGNI?= ljM