MDL-19497 - group selection is broken

This commit is contained in:
agrabs
2009-06-13 14:17:00 +00:00
parent 54d51f604e
commit b68bff82c9
4 changed files with 14 additions and 85 deletions
+4 -33
View File
@@ -16,15 +16,6 @@
$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)) {
@@ -40,15 +31,6 @@
}
}
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) {
@@ -94,24 +76,13 @@
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">';
+1 -3
View 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("-");
+1 -2
View 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);
}
+8 -47
View File
@@ -16,19 +16,10 @@
////////////////////////////////////////////////////////
$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
////////////////////////////////////////////////////////
@@ -51,15 +42,6 @@
}
}
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);
@@ -111,21 +93,13 @@
//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);
@@ -134,8 +108,6 @@
$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).'">';
@@ -154,19 +126,8 @@
//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){
@@ -174,7 +135,7 @@
}
} 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));