Skip to content

Commit

Permalink
some UI changes
Browse files Browse the repository at this point in the history
  • Loading branch information
toyomoyo committed Aug 14, 2006
1 parent b367b15 commit 7e2d7c9
Show file tree
Hide file tree
Showing 6 changed files with 88 additions and 26 deletions.
8 changes: 8 additions & 0 deletions admin/roles/assign.html
Original file line number Diff line number Diff line change
@@ -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 ?>" />
Expand Down
32 changes: 27 additions & 5 deletions admin/roles/assign.php
Original file line number Diff line number Diff line change
Expand Up @@ -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");
}
Expand All @@ -37,7 +43,6 @@
* 2) not in role_deny_grant
* end of permission checking
*/


$strassignusers = get_string('assignusers', 'role');
$strpotentialusers = get_string('potentialusers', 'role');
Expand All @@ -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()) {
Expand Down Expand Up @@ -129,7 +145,13 @@
// 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>');

Expand Down
3 changes: 2 additions & 1 deletion admin/roles/tabs.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
break;

case CONTEXT_USERID:
print_header();
break;

case CONTEXT_COURSECAT:
Expand Down Expand Up @@ -82,7 +83,7 @@

}

$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';
Expand Down
7 changes: 6 additions & 1 deletion course/user.php
Original file line number Diff line number Diff line change
Expand Up @@ -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 '<div class="graph">';
print_log_graph($course, $user->id, "userday.png");
Expand Down
46 changes: 28 additions & 18 deletions grade/lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand All @@ -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);
Expand Down Expand Up @@ -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
Expand All @@ -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>';
Expand All @@ -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;
Expand All @@ -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>';
}
Expand All @@ -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) {
Expand Down Expand Up @@ -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>';
}
Expand All @@ -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>';
Expand All @@ -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) {
Expand Down Expand Up @@ -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 {
Expand Down Expand Up @@ -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>';
Expand Down
18 changes: 17 additions & 1 deletion user/tabs.php
Original file line number Diff line number Diff line change
Expand Up @@ -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.
'&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');

Expand All @@ -154,12 +157,25 @@
$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)) {
Expand Down

0 comments on commit 7e2d7c9

Please sign in to comment.