]> git.mjollnir.org Git - moodle.git/commitdiff
some UI changes
authortoyomoyo <toyomoyo>
Mon, 14 Aug 2006 08:46:44 +0000 (08:46 +0000)
committertoyomoyo <toyomoyo>
Mon, 14 Aug 2006 08:46:44 +0000 (08:46 +0000)
admin/roles/assign.html
admin/roles/assign.php
admin/roles/tabs.php
course/user.php
grade/lib.php
user/tabs.php

index d4d1f3785b5522b2ce9165b70fead6d4f6d6a5d9..d50a9461f0ea8a433aa3a98a526abbbef346906b 100755 (executable)
@@ -1,6 +1,14 @@
 
 <form name="assignform" id="assignform" method="post" action="assign.php">
 <input type="hidden" name="previoussearch" value="<?php echo $previoussearch ?>" />
+<?php
+if ($userid) {
+    print ('<input type="hidden" name="userid" value="'.$userid.'"/>');
+}
+if ($course->id) {
+    print ('<input type="hidden" name="courseid" value="'.$courseid.'" />');
+}
+?>
 <input type="hidden" name="sesskey" value="<?php echo sesskey() ?>" />
 <input type="hidden" name="contextid" value="<?php echo $contextid ?>" />
 <input type="hidden" name="roleid" value="<?php echo $roleid ?>" />
index 6181dbac1167b5a99988b588d252293852c32b51..f52f664443213dc95050ab104ac9cf85ce22664d 100755 (executable)
     $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');
     $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()) {
     // prints a form to swap roles
     print ('<form name="rolesform" action="assign.php" method="post">');
     print ('<div align="center">'.$strcurrentcontext.': '.print_context_name($context).'<br/>');
-    print ('<input type="hidden" name="contextid" value="'.$context->id.'">'.$strcurrentrole.': ');
+    if ($userid) {
+        print ('<input type="hidden" name="userid" value="'.$userid.'" />');
+    }
+    if ($course->id) {
+        print ('<input type="hidden" name="courseid" value="'.$courseid.'" />');
+    }
+    print ('<input type="hidden" name="contextid" value="'.$context->id.'" />'.$strcurrentrole.': ');
     choose_from_menu ($options, 'roleid', $roleid, 'choose', $script='rolesform.submit()');
     print ('</div></form>');
     
index c36fee310a7ccb0194c911c9294f690a899fb410..264b273e04e0f7c7687bf9e06c3a5a966c156825 100755 (executable)
@@ -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';
index 5b61e73693360eeb56d63357fa6a207152bc8c76..1390d6e66903b1f7c856dbb0f69f704207b6d9be 100644 (file)
     $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 '<div class="graph">';
             print_log_graph($course, $user->id, "userday.png");
index 4988968728a77627281ff7e2cf8f86f0044c180d..e20191adc0bb2e9d3e06736149da3dc7c31c3b68 100644 (file)
@@ -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  '<table align="center" class="grades">';
-        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 .='<a href="?id='.$course->id.'&amp;action=grades&amp;sort=lastname&amp;group='.$group.'"><br /><font size="-2">'.get_string('sortbylastname','grades').'</font></a>';
@@ -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 = '<a href="'.$CFG->wwwroot.'/user/view.php?id='.$student.'&amp;course='.$course->id.'">'.$grades_by_student[$student]['student_data']['lastname'].', '.$grades_by_student[$student]['student_data']['firstname'].'</a>';
                 }
@@ -2046,8 +2054,10 @@ function grade_view_all_grades($view_by_student) {
                 $row .= '<td>'. $studentviewlink .'</td>';
             }
             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 .= '<td align="right">' . $items['stats']['points'] . '</td>';
                     }
@@ -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 = '<a href="?id='.$course->id.'&amp;action=grades&amp;sort=highgrade&amp;group='.$group.'"><img src="'.$CFG->wwwroot.'/pix/t/down.gif" alt="'.get_string('highgradedescending','grades').'" /></a>';
                     $grade_sort_link .= '<a href="?id='.$course->id.'&amp;action=grades&amp;sort=highgrade_asc&amp;group='.$group.'"><img src="'.$CFG->wwwroot.'/pix/t/up.gif" alt="'.get_string('highgradeascending','grades').'" /></a>';
                     $points_sort_link = '<a href="?id='.$course->id.'&amp;action=grades&amp;sort=points&amp;group='.$group.'"><img src="'.$CFG->wwwroot.'/pix/t/down.gif" alt="'.get_string('pointsdescending','grades').'" /></a>';
@@ -2120,7 +2129,7 @@ function grade_view_all_grades($view_by_student) {
                 }
                 $stats_link = '<a href="javascript:void(0)"onclick="window.open(\'?id='.$course->id.'&amp;action=stats&amp;category=all\',\''.get_string('statslink','grades').'\',\'height=200,width=300,scrollbars=no\')"><font size=-2>'.get_string('statslink','grades').'</font></a>';
                 $header .= '<th colspan="'.$total_columns.'">'.get_string('total','grades').'&nbsp;'.$stats_link.'</th>';
-                if (isteacher($course->id) && $view_by_student == -1) {
+                if (isteacher($course->id) && $view_by_student == -1 && !$mode=='user') {
                     if ($preferences->show_points) {
                         $header1 .= '<th>'.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 .= '</tr>';
                 }
-                if (isteacher($course->id)) {
+                if (isteacher($course->id) && !$mode=='user') {
                     $header .= '<th rowspan="2">'.$student_heading_link.'</th></tr>';
                 }
                 // adjust colcount to reflect actual number of columns output
                 $colcount = $colcount * $grade_columns + $total_columns + 2;
-                
+  
                 echo  '<tr><th colspan="'.$colcount.'"><font size="+1">'.get_string('allgrades','grades').'</font>';
-                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 .= '<td>'. $studentviewlink .'</td></tr>';
             }
             else {
                 $row .= '</tr>';
             }
-            echo  $row;
+
+            echo $row;           
             $reprint++;
         }
         echo  '</table>';
index 52bb10e04c5a694485a28c1ebe1edb961ed9df65..979f3f6b5669b47d99697f260ce093bd99c04472 100644 (file)
         
 
     /// 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.
                                       '&amp;user='.$user->id.'&amp;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');
 
                     $secondrow[] = new tabobject('stats',$CFG->wwwroot.'/course/user.php?id='.$course->id.
                                                  '&amp;user='.$user->id.'&amp;mode=stats',get_string('stats'));
                 }
+                
+                // needs permission checking!!!
+                
+                $secondrow[] = new tabobject('grade', $CFG->wwwroot.'/course/user.php?id='.$course->id.
+                                          '&amp;user='.$user->id.'&amp;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.'&amp;userid='.$user->id.'&amp;courseid='.$course->id
+                              ,get_string('roles'));
+
 /// Add second row to display if there is one
 
     if (!empty($secondrow)) {