MDL-10888: groupings - mod/workshop - add grouping support

This commit is contained in:
mattc-catalyst
2007-09-06 01:35:37 +00:00
parent f12d645a8d
commit 263017bbdd
6 changed files with 90 additions and 8 deletions
+20 -2
View File
@@ -309,8 +309,9 @@
$context = get_context_instance(CONTEXT_MODULE, $cm->id);
/// find out current groups mode
$groupmode = groupmode($course, $cm);
$currentgroup = setup_and_print_groups($course, $groupmode, "view.php?id=$cm->id");
$groupmode = groups_get_activity_groupmode($cm);
$currentgroup = groups_get_activity_group($cm, true);
groups_print_activity_menu($cm, "view.php?id=$cm->id");
/// Print admin links
echo "<table width=\"100%\"><tr><td>";
@@ -368,6 +369,15 @@
print_footer($course);
exit;
}
if (!empty($CFG->enablegroupings) && !empty($cm->groupingid) && !empty($users)) {
$groupingusers = groups_get_grouping_members($cm->groupingid, 'u.id', 'u.id');
foreach($users as $key => $user) {
if (!isset($groupingusers[$user->id])) {
unset($users[$key]);
}
}
}
/// Now prepare table with student assessments and submissions
$tablesort->data = array();
@@ -506,6 +516,14 @@
FROM {$CFG->prefix}groups_members g, {$CFG->prefix}workshop_assessments a
WHERE g.groupid = $currentgroup AND a.userid = g.userid AND a.timegraded > 0
AND a.workshopid = $workshop->id");
} elseif (!empty($cm->groupingid) && !empty($CFG->enablegroupings)) {
$stats = get_record_sql("SELECT COUNT(*) as count, AVG(gradinggrade) AS mean,
STDDEV(gradinggrade) AS stddev, MIN(gradinggrade) AS min, MAX(gradinggrade) AS max
FROM {$CFG->prefix}workshop_assessments a
INNER JOIN {$CFG->prefix}groups_members g ON a.userid = g.userid
INNER JOIN {$CFG->prefix}groupings_groups gg ON g.groupid = gg.groupid
WHERE gg.groupingid = {$cm->groupingid} AND a.timegraded > 0
AND a.workshopid = $workshop->id");
} else { // no group/all participants
$stats = get_record_sql("SELECT COUNT(*) as count, AVG(gradinggrade) AS mean,
STDDEV(gradinggrade) AS stddev, MIN(gradinggrade) AS min, MAX(gradinggrade) AS max