Merge branch 'wip-MDL-53227-master' of git://github.com/marinaglancy/moodle
authorDavid Monllao <davidm@moodle.com>
Tue, 22 Mar 2016 05:00:30 +0000 (13:00 +0800)
committerDavid Monllao <davidm@moodle.com>
Tue, 22 Mar 2016 05:00:30 +0000 (13:00 +0800)
1  2 
mod/feedback/lib.php

diff --combined mod/feedback/lib.php
@@@ -3170,12 -3170,6 +3170,12 @@@ function feedback_extend_settings_navig
                      new moodle_url('/mod/feedback/show_entries.php',
                                      array('id' => $PAGE->cm->id,
                                            'do_show' => 'showentries')));
 +
 +        if ($feedback->anonymous == FEEDBACK_ANONYMOUS_NO AND $feedback->course != SITEID) {
 +            $feedbacknode->add(get_string('show_nonrespondents', 'feedback'),
 +                        new moodle_url('/mod/feedback/show_nonrespondents.php',
 +                                        array('id' => $PAGE->cm->id)));
 +        }
      }
  }
  
@@@ -3220,3 -3214,29 +3220,29 @@@ function feedback_ajax_saveitemorder($i
      }
      return $result;
  }
+ /**
+  * Checks if current user is able to view feedback on this course.
+  *
+  * @param stdClass $feedback
+  * @param context_module $context
+  * @param int $courseid
+  * @return bool
+  */
+ function feedback_can_view_analysis($feedback, $context, $courseid = false) {
+     if (has_capability('mod/feedback:viewreports', $context)) {
+         return true;
+     }
+     if (intval($feedback->publish_stats) != 1 ||
+             !has_capability('mod/feedback:viewanalysepage', $context)) {
+         return false;
+     }
+     if (!isloggedin() || isguestuser()) {
+         // There is no tracking for the guests, assume that they can view analysis if condition above is satisfied.
+         return $feedback->course == SITEID;
+     }
+     return feedback_is_already_submitted($feedback->id, $courseid);
+ }