From 7e2d7c92ade81e96ded3d55768bd3d73d2399010 Mon Sep 17 00:00:00 2001 From: toyomoyo Date: Mon, 14 Aug 2006 08:46:44 +0000 Subject: [PATCH] some UI changes --- admin/roles/assign.html | 8 +++++++ admin/roles/assign.php | 32 +++++++++++++++++++++++----- admin/roles/tabs.php | 3 ++- course/user.php | 7 ++++++- grade/lib.php | 46 +++++++++++++++++++++++++---------------- user/tabs.php | 18 +++++++++++++++- 6 files changed, 88 insertions(+), 26 deletions(-) diff --git a/admin/roles/assign.html b/admin/roles/assign.html index d4d1f3785b..d50a9461f0 100755 --- a/admin/roles/assign.html +++ b/admin/roles/assign.html @@ -1,6 +1,14 @@
+'); +} +if ($course->id) { + print (''); +} +?> diff --git a/admin/roles/assign.php b/admin/roles/assign.php index 6181dbac11..f52f664443 100755 --- a/admin/roles/assign.php +++ b/admin/roles/assign.php @@ -16,7 +16,13 @@ $previoussearch = ($searchtext != '') or ($previoussearch) ? 1:0; $timestart = optional_param('timestart', 0, PARAM_INT); $timeend = optional_param('timened', 0, PARAM_INT); + $userid = optional_param('userid', 0, PARAM_INT); // needed for user tabs + $courseid = optional_param('courseid', 0, PARAM_INT); // needed for user tabs + if ($courseid) { + $course = get_record('course', 'id', $courseid); + } + if (! $site = get_site()) { redirect("$CFG->wwwroot/$CFG->admin/index.php"); } @@ -37,7 +43,6 @@ * 2) not in role_deny_grant * end of permission checking */ - $strassignusers = get_string('assignusers', 'role'); $strpotentialusers = get_string('potentialusers', 'role'); @@ -48,10 +53,21 @@ $strsearch = get_string('search'); $strshowall = get_string('showall'); - $currenttab = ''; - $tabsmode = 'assign'; - include_once('tabs.php'); + $context = get_record('context', 'id', $contextid); + // we got a few tabs there + if ($context->level == CONTEXT_USERID) { + print_header(); + + $currenttab = 'roles'; + include_once($CFG->dirroot.'/user/tabs.php'); + } else { + $currenttab = ''; + $tabsmode = 'assign'; + include_once('tabs.php'); + } + + /// Print a help notice about the need to use this page if (!$frm = data_submitted()) { @@ -129,7 +145,13 @@ // prints a form to swap roles print (''); print ('
'.$strcurrentcontext.': '.print_context_name($context).'
'); - print (''.$strcurrentrole.': '); + if ($userid) { + print (''); + } + if ($course->id) { + print (''); + } + print (''.$strcurrentrole.': '); choose_from_menu ($options, 'roleid', $roleid, 'choose', $script='rolesform.submit()'); print ('
'); diff --git a/admin/roles/tabs.php b/admin/roles/tabs.php index c36fee310a..264b273e04 100755 --- a/admin/roles/tabs.php +++ b/admin/roles/tabs.php @@ -13,6 +13,7 @@ if ($currenttab != 'update') { break; case CONTEXT_USERID: + print_header(); break; case CONTEXT_COURSECAT: @@ -82,7 +83,7 @@ if ($currenttab != 'update') { } - $toprow[] = new tabobject('roles', $CFG->wwwroot.'/admin/roles/assign.php?contextid='.$context->id, get_string('roles')); + $toprow[] = new tabobject('roles', $CFG->wwwroot.'/admin/roles/assign.php?contextid='.$context->id, get_string('roles')); if (isset($tabsmode)) { $inactive[] = 'roles'; diff --git a/course/user.php b/course/user.php index 5b61e73693..1390d6e669 100644 --- a/course/user.php +++ b/course/user.php @@ -59,10 +59,15 @@ $currenttab = $mode; include($CFG->dirroot.'/user/tabs.php'); - get_all_mods($course->id, $mods, $modnames, $modnamesplural, $modnamesused); switch ($mode) { + case "grade": + $course = get_record('course', 'id', required_param('id', PARAM_INT)); + require_once($CFG->dirroot.'/grade/lib.php'); + grade_view_all_grades($user->id, 'user'); + break; + case "todaylogs" : echo '
'; print_log_graph($course, $user->id, "userday.png"); diff --git a/grade/lib.php b/grade/lib.php index 4988968728..e20191adc0 100644 --- a/grade/lib.php +++ b/grade/lib.php @@ -666,7 +666,7 @@ function grade_drop_lowest($grades, $drop, $total) { return $grades; } -function grade_get_grades() { +function grade_get_grades($mode='') { global $CFG; global $course; $mods = grade_get_grade_items($course->id); @@ -675,7 +675,7 @@ function grade_get_grades() { if ($mods) { foreach ($mods as $mod) { // hidden is a gradebook setting for an assignment and visible is a course_module setting - if (($mod->hidden != 1 && $mod->visible==1) or (isteacher($course->id) && $preferences->show_hidden==1)) { + if (($mod->hidden != 1 && $mod->visible==1) or (isteacher($course->id) && $preferences->show_hidden==1 && mode=='grade')) { $libfile = "$CFG->dirroot/mod/$mod->modname/lib.php"; if (file_exists($libfile)) { require_once($libfile); @@ -1969,23 +1969,28 @@ function grade_view_category_grades($view_by_student) { } } -function grade_view_all_grades($view_by_student) { +function grade_view_all_grades($view_by_student, $mode='') { // if mode=='grade' then we are in user view // displays all grades for the course global $CFG; global $course; - global $preferences; global $USER; global $group; // yu: fix for 5814 if (!isteacher($course->id)) { - $view_by_student = $USER->id; + $view_by_student = $USER->id; } + $preferences = grade_get_preferences($course->id); + list($grades_by_student, $all_categories) = grade_get_formatted_grades(); - + if ($grades_by_student != 0 && $all_categories != 0) { + // output a form for the user to download the grades. - grade_download_form(); + + if ($mode!='user') { + grade_download_form(); + } if ($view_by_student != -1) { // unset all grades except for this student @@ -1995,15 +2000,16 @@ function grade_view_all_grades($view_by_student) { } } } + $grade_columns = $preferences->show_weighted + $preferences->show_points + $preferences->show_percent; $first = 0; $total_course_points = 0; $maxpercent = 0; $reprint=0; - + echo ''; - if (isteacher($course->id) ) { + if (!$mode=='user' && isteacher($course->id) ) { $student_heading_link = get_string('student','grades'); if ($view_by_student == -1) { $student_heading_link .='
'.get_string('sortbylastname','grades').'
'; @@ -2022,7 +2028,9 @@ function grade_view_all_grades($view_by_student) { $rowcount = 0; $oddrow = true; $colcount = 0; + foreach($grades_by_student as $student => $categories) { + $totalpoints = 0; $totalgrade = 0; $total_bonus_points = 0; @@ -2036,7 +2044,7 @@ function grade_view_all_grades($view_by_student) { $oddrow = !$oddrow; // 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 (isteacher($course->id) && !$mode=='user') { if ($view_by_student != -1) { $studentviewlink = ''.$grades_by_student[$student]['student_data']['lastname'].', '.$grades_by_student[$student]['student_data']['firstname'].''; } @@ -2046,8 +2054,10 @@ function grade_view_all_grades($view_by_student) { $row .= ''; } ksort($categories); + foreach($categories as $category => $items) { if ($category != 'student_data') { + if ($first == 0) { $colcount++; if ($category == UNCATEGORISED) { @@ -2086,7 +2096,6 @@ function grade_view_all_grades($view_by_student) { //$total_course_points = $all_categories[$category]['stats']['totalpoints']+ $total_course_points; } - if ($preferences->show_points) { $row .= ''; } @@ -2108,7 +2117,7 @@ function grade_view_all_grades($view_by_student) { $total_columns = $grade_columns; } - if (isteacher($course->id) && $view_by_student == -1) { + if (isteacher($course->id) && $view_by_student == -1 && !$mode=='user') { $grade_sort_link = ''.get_string('highgradedescending','grades').''; $grade_sort_link .= ''.get_string('highgradeascending','grades').''; $points_sort_link = ''.get_string('pointsdescending','grades').''; @@ -2120,7 +2129,7 @@ function grade_view_all_grades($view_by_student) { } $stats_link = ''.get_string('statslink','grades').''; $header .= ''; - if (isteacher($course->id) && $view_by_student == -1) { + if (isteacher($course->id) && $view_by_student == -1 && !$mode=='user') { if ($preferences->show_points) { $header1 .= ''; } - if (isteacher($course->id)) { + if (isteacher($course->id) && !$mode=='user') { $header .= ''; } // adjust colcount to reflect actual number of columns output $colcount = $colcount * $grade_columns + $total_columns + 2; - + echo ''; } else { $row .= ''; } - echo $row; + + echo $row; $reprint++; } echo '
'. $studentviewlink .'' . $items['stats']['points'] . ''.get_string('total','grades').' '.$stats_link.''.get_string('points','grades').'('.$all_categories['stats']['totalpoints'].')'; if ($category != 'student_data' && $all_categories[$category]['stats']['bonus_points'] != 0) { @@ -2159,14 +2168,14 @@ function grade_view_all_grades($view_by_student) { } $header1 .= '
'.$student_heading_link.'
'.get_string('allgrades','grades').''; - if (isteacher($course->id)) { + if (isteacher($course->id) && !$mode=='user') { helpbutton('teacher', get_string('gradehelp','grades'), 'grade'); } else { @@ -2209,13 +2218,14 @@ function grade_view_all_grades($view_by_student) { } } } - if (isteacher($course->id) ) { + if (isteacher($course->id) && !$mode=='user') { $row .= ''. $studentviewlink .'
'; diff --git a/user/tabs.php b/user/tabs.php index 52bb10e04c..979f3f6b56 100644 --- a/user/tabs.php +++ b/user/tabs.php @@ -132,12 +132,15 @@ /// Current user must be teacher of the course or the course allows user to view their reports + + //print_object($course); + //print_object($user); if (isteacher($course->id) or ($course->showreports and $USER->id == $user->id)) { $toprow[] = new tabobject('reports', $CFG->wwwroot.'/course/user.php?id='.$course->id. '&user='.$user->id.'&mode=outline', get_string('activityreports')); - if (in_array($currenttab, array('outline', 'complete', 'todaylogs', 'alllogs', 'stats'))) { + if (in_array($currenttab, array('outline', 'complete', 'todaylogs', 'alllogs', 'stats', 'grade'))) { $inactive = array('reports'); $activetwo = array('reports'); @@ -154,12 +157,25 @@ $secondrow[] = new tabobject('stats',$CFG->wwwroot.'/course/user.php?id='.$course->id. '&user='.$user->id.'&mode=stats',get_string('stats')); } + + // needs permission checking!!! + + $secondrow[] = new tabobject('grade', $CFG->wwwroot.'/course/user.php?id='.$course->id. + '&user='.$user->id.'&mode=grade', get_string('grade')); + } } } //close last bracket (individual tags) + + /// this needs permission checkings + + $context = get_context_instance(CONTEXT_USERID, $user->id); + $toprow[] = new tabobject('roles', $CFG->wwwroot.'/admin/roles/assign.php?contextid='.$context->id.'&userid='.$user->id.'&courseid='.$course->id + ,get_string('roles')); + /// Add second row to display if there is one if (!empty($secondrow)) { -- 2.39.5