|
36 | 36 | $currentgroupid = optional_param('group', 0, PARAM_INT); // Groupid.
|
37 | 37 | $user = optional_param('user', '', PARAM_INT);
|
38 | 38 | $outputtarget = optional_param('target', 'html', PARAM_ALPHA); // Default 'html'. Could be 'pdf'.
|
| 39 | +$userview = optional_param('responsestats', '0', PARAM_ALPHANUM); |
39 | 40 |
|
40 | 41 | $userid = $USER->id;
|
41 | 42 | switch ($action) {
|
|
87 | 88 |
|
88 | 89 | // If you can't view the questionnaire, or can't view a specified response, error out.
|
89 | 90 | $context = context_module::instance($cm->id);
|
90 |
| -if (!$questionnaire->can_view_all_responses() && !$individualresponse) { |
| 91 | +if (!$questionnaire->can_view_all_responses(null, true) && !$individualresponse) { |
91 | 92 | // Should never happen, unless called directly by a snoop...
|
92 | 93 | throw new \moodle_exception('nopermissions', 'mod_questionnaire');
|
93 | 94 | }
|
|
205 | 206 | }
|
206 | 207 | }
|
207 | 208 |
|
| 209 | +$responsestatus = [ |
| 210 | + 'y' => get_string('fullsubmissions', 'questionnaire'), |
| 211 | + '0' => get_string('allresponses', 'questionnaire'), |
| 212 | + 'n' => get_string('responsesnotsubmitted', 'questionnaire'), |
| 213 | +]; |
| 214 | +// Set default userview to all responses. |
| 215 | +$userview = array_key_exists($userview, $responsestatus) ? $userview : '0'; |
| 216 | + |
208 | 217 | switch ($action) {
|
209 | 218 |
|
210 | 219 | case 'dresp': // Delete individual response? Ask for confirmation.
|
|
582 | 591 | if ($currentgroupid > 0) {
|
583 | 592 | $groupname = get_string('group').': <strong>'.groups_get_group_name($currentgroupid).'</strong>';
|
584 | 593 | } else {
|
585 |
| - $groupname = '<strong>'.get_string('allparticipants').'</strong>'; |
| 594 | + $groupname = '<strong>'.$responsestatus[$userview].'</strong>'; |
586 | 595 | }
|
587 | 596 |
|
588 | 597 | // Available group modes (0 = no groups; 1 = separate groups; 2 = visible groups).
|
|
627 | 636 | if ($currentgroupid > 0) {
|
628 | 637 | $groupname = get_string('group') . ': <strong>' . groups_get_group_name($currentgroupid) . '</strong>';
|
629 | 638 | } else {
|
630 |
| - $groupname = '<strong>' . get_string('allparticipants') . '</strong>'; |
| 639 | + $groupname = '<strong>' . $responsestatus[$userview] . '</strong>'; |
631 | 640 | }
|
632 |
| - $respinfo = get_string('viewallresponses', 'questionnaire') . '. ' . $groupname . '. '; |
| 641 | + $respinfo = get_string('view') . ' ' . $groupname; |
633 | 642 | $strsort = get_string('order_' . $sort, 'questionnaire');
|
634 | 643 | $respinfo .= $strsort;
|
635 | 644 | $questionnaire->page->add_to_page('respondentinfo', $respinfo);
|
|
650 | 659 | if ($outputtarget != 'print') {
|
651 | 660 | $linkname = get_string('downloadpdf', 'mod_questionnaire');
|
652 | 661 | $link = new moodle_url('/mod/questionnaire/report.php',
|
653 |
| - ['action' => 'vall', 'instance' => $instance, 'group' => $currentgroupid, 'target' => 'pdf']); |
| 662 | + ['action' => 'vall', 'instance' => $instance, 'group' => $currentgroupid, 'target' => 'pdf', |
| 663 | + 'responsestats' => $userview]); |
654 | 664 | $downpdficon = new pix_icon('f/pdf', $linkname);
|
655 | 665 | $respinfo .= $questionnaire->renderer->action_link($link, null, null, null, $downpdficon);
|
656 | 666 |
|
657 | 667 | $linkname = get_string('print', 'mod_questionnaire');
|
658 | 668 | $link = new \moodle_url('/mod/questionnaire/report.php',
|
659 |
| - ['action' => 'vall', 'instance' => $instance, 'group' => $currentgroupid, 'target' => 'print']); |
| 669 | + ['action' => 'vall', 'instance' => $instance, 'group' => $currentgroupid, 'target' => 'print', |
| 670 | + 'responsestats' => $userview]); |
660 | 671 | $htmlicon = new pix_icon('t/print', $linkname);
|
661 | 672 | $options = ['menubar' => true, 'location' => false, 'scrollbars' => true, 'resizable' => true,
|
662 | 673 | 'height' => 600, 'width' => 800, 'title' => $linkname];
|
|
666 | 677 | $respinfo .= $questionnaire->renderer->action_link($link, null, $action,
|
667 | 678 | ['class' => $class, 'title' => $linkname], $htmlicon) . ' ';
|
668 | 679 |
|
669 |
| - $respinfo .= get_string('viewallresponses', 'questionnaire') . '. ' . $groupname . '. '; |
| 680 | + $respinfo .= $questionnaire->renderer->viewresponse_print_menu($url->out(), $responsestatus, $userview); |
670 | 681 | $strsort = get_string('order_' . $sort, 'questionnaire');
|
671 | 682 | $respinfo .= $strsort;
|
672 | 683 | $respinfo .= $questionnaire->renderer->help_icon('orderresponses', 'questionnaire');
|
|
763 | 774 | if ($currentgroupid > 0) {
|
764 | 775 | $groupname = get_string('group') . ': <strong>' . groups_get_group_name($currentgroupid) . '</strong>';
|
765 | 776 | } else {
|
766 |
| - $groupname = '<strong>' . get_string('allparticipants') . '</strong>'; |
| 777 | + $groupname = '<strong>' . $responsestatus[$userview] . '</strong>'; |
767 | 778 | }
|
768 | 779 | if (!$byresponse) { // Show respondents individual responses.
|
769 | 780 | $questionnaire->view_response($rid, '', $resps, true, true, false, $currentgroupid, $outputtarget);
|
|
797 | 808 |
|
798 | 809 | $groupname = get_string('group').': <strong>'.groups_get_group_name($currentgroupid).'</strong>';
|
799 | 810 | if ($currentgroupid == 0 ) {
|
800 |
| - $groupname = get_string('allparticipants'); |
| 811 | + $groupname = $responsestatus[$userview]; |
801 | 812 | }
|
802 | 813 | if ($byresponse) {
|
803 | 814 | $respinfo = '';
|
|
0 commit comments