From: mattc-catalyst Date: Mon, 27 Aug 2007 21:52:35 +0000 (+0000) Subject: MDL-10888: groupings - mod/choice - updated to support groupings X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=6d5b7706da58923d5ffe9c92c6a8ba34236a3abe;p=moodle.git MDL-10888: groupings - mod/choice - updated to support groupings --- diff --git a/mod/choice/lib.php b/mod/choice/lib.php index 1598e8527a..db3e505d4c 100644 --- a/mod/choice/lib.php +++ b/mod/choice/lib.php @@ -316,16 +316,25 @@ function choice_show_results($choice, $course, $cm, $forcepublish='') { $forcepublish = $choice->publish; } - $groupmode = groupmode($course, $cm); + $groupmode = groups_get_activity_groupmode($cm); if ($groupmode > 0) { - $currentgroup = get_current_group($course->id); + $currentgroup = groups_get_activity_group($cm); } else { $currentgroup = 0; } $users = get_users_by_capability($context, 'mod/choice:choose', 'u.id, u.picture, u.firstname, u.lastname, u.idnumber', 'u.firstname ASC', '', '', $currentgroup, '', false); + 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]); + } + } + } + if (!$users) { print_heading(get_string("nousersyet")); } diff --git a/mod/choice/mod_form.php b/mod/choice/mod_form.php index f7adbd9653..2a0ae3a05a 100644 --- a/mod/choice/mod_form.php +++ b/mod/choice/mod_form.php @@ -87,7 +87,11 @@ class mod_choice_mod_form extends moodleform_mod { //------------------------------------------------------------------------------- - $this->standard_coursemodule_elements(); + $features = new stdClass; + $features->groups = true; + $features->groupings = true; + $features->groupmembersonly = true; + $this->standard_coursemodule_elements($features); //------------------------------------------------------------------------------- $this->add_action_buttons(); } diff --git a/mod/choice/report.php b/mod/choice/report.php index 57f89652e6..d782383219 100644 --- a/mod/choice/report.php +++ b/mod/choice/report.php @@ -50,15 +50,25 @@ print_header_simple(format_string($choice->name).": $strresponses", "", $navigation, "", '', true, update_module_button($cm->id, $course->id, $strchoice), navmenu($course, $cm)); /// Check to see if groups are being used in this choice - $groupmode = groupmode($course, $cm); - setup_and_print_groups($course, $groupmode, 'report.php?id='.$id); + $groupmode = groups_get_activity_groupmode($cm); + groups_get_activity_group($cm, true); + groups_print_activity_menu($cm, 'report.php?id='.$id); } else { - $groupmode = groupmode($course, $cm); - get_and_set_current_group($course, $groupmode); + $groupmode = groups_get_activity_groupmode($cm); + groups_get_activity_group($cm, true); } $users = get_users_by_capability($context, 'mod/choice:choose', 'u.id, u.picture, u.firstname, u.lastname, u.idnumber', 'u.firstname ASC'); - + + 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]); + } + } + } + if (!$users) { print_heading(get_string("nousersyet")); } diff --git a/mod/choice/view.php b/mod/choice/view.php index 7249de62e6..e36863470b 100644 --- a/mod/choice/view.php +++ b/mod/choice/view.php @@ -70,8 +70,9 @@ if ($action == 'delchoice') { add_to_log($course->id, "choice", "view", "view.php?id=$cm->id", $choice->id, $cm->id); /// Check to see if groups are being used in this choice - $groupmode = groupmode($course, $cm); - setup_and_print_groups($course, $groupmode, 'view.php?id='.$id); + $groupmode = groups_get_activity_groupmode($cm); + groups_get_activity_group($cm, true); + groups_print_activity_menu($cm, 'view.php?id='.$id); if (has_capability('mod/choice:readresponses', $context)) { choice_show_reportlink($choice, $course->id, $cm->id, $groupmode);