]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-10888: groupings - mod/choice - updated to support groupings
authormattc-catalyst <mattc-catalyst>
Mon, 27 Aug 2007 21:52:35 +0000 (21:52 +0000)
committermattc-catalyst <mattc-catalyst>
Mon, 27 Aug 2007 21:52:35 +0000 (21:52 +0000)
mod/choice/lib.php
mod/choice/mod_form.php
mod/choice/report.php
mod/choice/view.php

index 1598e8527adb067d849ab6164ffad66dc529998c..db3e505d4c64291b7d788b416d91c6d7ec20958b 100644 (file)
@@ -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"));
     }
index f7adbd9653e93f8ce4140b20ed2275899e6d3bcf..2a0ae3a05a19e1f928101bd67e64787a29b9212e 100644 (file)
@@ -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();
     }
index 57f89652e672ca15ae2e4d4aca5b2aebd8cc7a20..d782383219b44c703a4906b5c21aad029c93dd5e 100644 (file)
         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"));        
     }
index 7249de62e65262841c2fb6d7e22e4c77eb355f7b..e36863470bf43331f2fb032fa566f9b9ef84e29d 100644 (file)
@@ -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);