]> git.mjollnir.org Git - moodle.git/commitdiff
MDL-19497 - group selection is broken
authoragrabs <agrabs>
Sat, 13 Jun 2009 14:17:00 +0000 (14:17 +0000)
committeragrabs <agrabs>
Sat, 13 Jun 2009 14:17:00 +0000 (14:17 +0000)
mod/feedback/analysis.php
mod/feedback/analysis_to_excel.php
mod/feedback/lib.php
mod/feedback/show_entries.php

index f3c8a6a8ab91f9702f60a25f4ef1e5f8a77bd993..bc5eb6ab974ebd628d53a71464825ddaf8771d18 100644 (file)
 
     $id = required_param('id', PARAM_INT);  //the POST dominated the GET
     $courseid = optional_param('courseid', false, PARAM_INT);
-    $lstgroupid = optional_param('lstgroupid', -2, PARAM_INT); //groupid (aus der Listbox gewaehlt)
-
-    //check, whether a group is selected
-    if($lstgroupid == -1) {
-        $SESSION->feedback->lstgroupid = false;
-    }else {
-        if((!isset($SESSION->feedback->lstgroupid)) || $lstgroupid != -2)
-            $SESSION->feedback->lstgroupid = $lstgroupid;
-    }
 
     if ($id) {
         if (! $cm = get_coursemodule_from_id('feedback', $id)) {
         }
     }
 
-    if(isset($SESSION->feedback->lstgroupid)) {
-        if($tmpgroup = groups_get_group($SESSION->feedback->lstgroupid)) {
-            if($tmpgroup->courseid != $course->id) {
-                $SESSION->feedback->lstgroupid = false;
-            }
-        }else {
-            $SESSION->feedback->lstgroupid = false;
-        }
-    }
     $capabilities = feedback_load_capabilities($cm->id);
 
     if($course->id == SITEID) {
     print_box_start('generalbox boxaligncenter boxwidthwide');
 
     //get the groupid
-    //lstgroupid is the choosen id
-    $mygroupid = $SESSION->feedback->lstgroupid;
+    $groupselect = groups_print_activity_menu($cm, 'analysis.php?id=' . $cm->id.'&do_show=analysis', true);
+    $mygroupid = groups_get_activity_group($cm);
 
     if( $capabilities->viewreports ) {
 
-        //available group modes (NOGROUPS, SEPARATEGROUPS or VISIBLEGROUPS)
-        $feedbackgroups = groups_get_all_groups($course->id);
-        //get the effective groupmode of this course and module
-        $groupmode = groupmode($course, $cm);
-        if(is_array($feedbackgroups) && $groupmode > 0){
-            require_once('choose_group_form.php');
-            //the use_template-form
-            $choose_group_form = new feedback_choose_group_form();
-            $choose_group_form->set_feedbackdata(array('groups'=>$feedbackgroups, 'mygroupid'=>$mygroupid));
-            $choose_group_form->set_form_elements();
-            $choose_group_form->set_data(array('id'=>$id, 'lstgroupid'=>$SESSION->feedback->lstgroupid));
-            $choose_group_form->display();
-        }
+        echo isset($groupselect) ? $groupselect : '';
+        echo '<div class="clearer"></div>';
 
         //button "export to excel"
         //echo '<div class="mdl-align">';
index d9637cd7fa29e451591ac5254dddb30c17e94f22..4caab56d8474fc7a74dd21bd26485df5e171e407 100644 (file)
@@ -66,9 +66,7 @@
 
     $filename = "feedback.xls";
     
-    //get the groupid for this module
-    //get the groupid
-    $mygroupid = $SESSION->feedback->lstgroupid;
+    $mygroupid = groups_get_activity_group($cm);
 
     // Creating a workbook
     $workbook = new EasyWorkbook("-");
index 38c41bf8009bb9b2ba78de9a80126e6a4ae041d3..7013e093efa4f9423ce9ef13b4850068cb4409bb 100644 (file)
@@ -728,14 +728,13 @@ function feedback_get_complete_users($cm, $group = false) {
     $wheregroup = '';
     if($group) {
         $fromgroup = ', {groups_members} g';
-        $wheregroup = ' AND g.id = ? AND g.userid = c.userid';
+        $wheregroup = ' AND g.groupid = ? AND g.userid = c.userid';
         $params[] = $group;
     }
     $sql = 'SELECT u.* FROM {user} u, {feedback_completed} c'.$fromgroup.'
               WHERE u.id = c.userid AND c.feedback = ?
               '.$wheregroup.'
               ORDER BY u.lastname';
-    
     return $DB->get_records_sql($sql, $params);
 }
 
index 716502996b637418f5909c027dac1d9870364cf8..ff427c6985481d43e473d6b01ec5ff0df0f3ca54 100644 (file)
     ////////////////////////////////////////////////////////
     $id = required_param('id', PARAM_INT);
     $userid = optional_param('userid', false, PARAM_INT);
-    $lstgroupid = optional_param('lstgroupid', -2, PARAM_INT); //groupid (choosen from dropdownlist)
     $do_show = required_param('do_show', PARAM_ALPHA);
     // $SESSION->feedback->current_tab = $do_show;
     $current_tab = $do_show;
 
-    //check, whether a group is selected
-    if($lstgroupid == -1) {
-        $SESSION->feedback->lstgroupid = false;
-    }else {
-        if((!isset($SESSION->feedback->lstgroupid)) || $lstgroupid != -2)
-            $SESSION->feedback->lstgroupid = $lstgroupid;
-    }
-    
     ////////////////////////////////////////////////////////
     //get the objects
     ////////////////////////////////////////////////////////
         }
     }
     
-    if(isset($SESSION->feedback->lstgroupid)) {
-        if($tmpgroup = groups_get_group($SESSION->feedback->lstgroupid)) {
-            if($tmpgroup->courseid != $course->id) {
-                $SESSION->feedback->lstgroupid = false;
-            }
-        }else {
-            $SESSION->feedback->lstgroupid = false;
-        }
-    }
     $capabilities = feedback_load_capabilities($cm->id);
 
     require_login($course->id, true, $cm);
             //get the effective groupmode of this course and module
             $groupmode = groupmode($course, $cm);
             
+            $groupselect = groups_print_activity_menu($cm, 'show_entries.php?id=' . $cm->id.'&do_show=showentries', true);
+            $mygroupid = groups_get_activity_group($cm);
+            
             //get students in conjunction with groupmode
             if($groupmode > 0) {
-                if($SESSION->feedback->lstgroupid == -2) {
-                    if(has_capability('moodle/site:doanything', get_context_instance(CONTEXT_SYSTEM))) {
-                        $mygroupid = false;
-                        $SESSION->feedback->lstgroupid = false;
-                    }else{
-                        if($mygroupid = mygroupid($course->id)) {
-                            $mygroupid = $mygroupid[0]; //get the first groupid
-                        }
-                    }
-                }else {
-                    $mygroupid = $SESSION->feedback->lstgroupid;
-                }
-                if($mygroupid) {
+
+                if($mygroupid > 0) {
                     $students = feedback_get_complete_users($cm, $mygroupid);
                 } else {
                     $students = feedback_get_complete_users($cm);
                 $students = feedback_get_complete_users($cm);
             }
 
-            $mygroupid=isset($mygroupid)?$mygroupid:NULL;
-
             $completedFeedbackCount = feedback_get_completeds_group_count($feedback, $mygroupid);
             if($feedback->course == SITEID){
                 echo '<div class="mdl-align"><a href="'.htmlspecialchars('analysis_course.php?id=' . $id . '&courseid='.$courseid).'">';
             //print the list of students
             // print_simple_box_start('center', '80%');
             print_box_start('generalbox boxaligncenter boxwidthwide');
-
-            //available group modes (NOGROUPS, SEPARATEGROUPS or VISIBLEGROUPS)
-            $feedbackgroups = groups_get_all_groups($course->id);
-            //if(is_array($feedbackgroups) && $groupmode != SEPARATEGROUPS){
-            if(is_array($feedbackgroups) && $groupmode > 0){
-                require_once('choose_group_form.php');
-                //the use_template-form
-                $choose_group_form = new feedback_choose_group_form();
-                $choose_group_form->set_feedbackdata(array('groups'=>$feedbackgroups, 'mygroupid'=>$mygroupid));
-                $choose_group_form->set_form_elements();
-                $choose_group_form->set_data(array('id'=>$id, 'lstgroupid'=>$SESSION->feedback->lstgroupid, 'do_show'=>$do_show));
-                $choose_group_form->display();
-            }
+            echo isset($groupselect) ? $groupselect : '';
+            echo '<div class="clearer"></div>';
             echo '<div class="mdl-align"><table><tr><td width="400">';
             if (!$students) {
                 if($courseid != SITEID){
                 }
             } else{
                 echo print_string('non_anonymous_entries', 'feedback');
-                echo ' ('.$DB->count_records('feedback_completed', array('feedback'=>$feedback->id, 'anonymous_response'=>FEEDBACK_ANONYMOUS_NO)).')<hr />';
+                echo ' ('.count($students).')<hr />';
 
                 foreach ($students as $student){
                     $completedCount = $DB->count_records('feedback_completed', array('userid'=>$student->id, 'feedback'=>$feedback->id, 'anonymous_response'=>FEEDBACK_ANONYMOUS_NO));