Skip to content

Commit

Permalink
Merge branch 'MDL-53210-30' of git://github.com/marinaglancy/moodle i…
Browse files Browse the repository at this point in the history
…nto MOODLE_30_STABLE
  • Loading branch information
andrewnicols committed Mar 8, 2016
2 parents 314d105 + c82a5b3 commit b643f44
Show file tree
Hide file tree
Showing 3 changed files with 36 additions and 24 deletions.
1 change: 1 addition & 0 deletions mod/feedback/lang/en/feedback.php
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@
$string['average'] = 'Average';
$string['bold'] = 'Bold';
$string['cancel_moving'] = 'Cancel moving';
$string['cannotaccess'] = 'You can only access this feedback from a course';
$string['cannotmapfeedback'] = 'Database problem, unable to map feedback to course';
$string['cannotsavetempl'] = 'saving templates is not allowed';
$string['cannotunmap'] = 'Database problem, unable to unmap';
Expand Down
6 changes: 5 additions & 1 deletion mod/feedback/lib.php
Original file line number Diff line number Diff line change
Expand Up @@ -2816,7 +2816,11 @@ function feedback_get_feedbacks_from_sitecourse_map($courseid) {
}
}

return array_merge($feedbacks1, $feedbacks2);
$feedbacks = array_merge($feedbacks1, $feedbacks2);
$modinfo = get_fast_modinfo(SITEID);
return array_filter($feedbacks, function($f) use ($modinfo) {
return ($cm = $modinfo->get_cm($f->cmid)) && $cm->uservisible;
});

}

Expand Down
53 changes: 30 additions & 23 deletions mod/feedback/view.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,11 +49,11 @@
$feedback_complete_cap = true;
}

if (isset($CFG->feedback_allowfullanonymous)
AND $CFG->feedback_allowfullanonymous
if (!empty($CFG->feedback_allowfullanonymous)
AND $course->id == SITEID
AND (!$courseid OR $courseid == SITEID)
AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES ) {
AND $feedback->anonymous == FEEDBACK_ANONYMOUS_YES
AND (!isloggedin() OR isguestuser())) {
// Guests are allowed to complete fully anonymous feedback without having 'mod/feedback:complete' capability.
$feedback_complete_cap = true;
}

Expand All @@ -62,16 +62,6 @@
$courseid = SITEID;
}

//check whether the feedback is mapped to the given courseid
if ($course->id == SITEID AND !has_capability('mod/feedback:edititems', $context)) {
if ($DB->get_records('feedback_sitecourse_map', array('feedbackid'=>$feedback->id))) {
$params = array('feedbackid'=>$feedback->id, 'courseid'=>$courseid);
if (!$DB->get_record('feedback_sitecourse_map', $params)) {
print_error('invalidcoursemodule');
}
}
}

if ($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) {
if ($course->id == SITEID) {
require_login($course, true);
Expand All @@ -86,6 +76,32 @@
}
}

if ($course->id == SITEID) {
$PAGE->set_context($context);
$PAGE->set_cm($cm, $course);
$PAGE->set_pagelayout('incourse');
}
$PAGE->set_url('/mod/feedback/view.php', array('id'=>$cm->id, 'do_show'=>'view'));
$PAGE->set_title($feedback->name);
$PAGE->set_heading($course->fullname);

// Check whether the feedback is mapped to the given courseid.
if ($course->id == SITEID AND !has_capability('mod/feedback:edititems', $context)) {
if ($DB->get_records('feedback_sitecourse_map', array('feedbackid' => $feedback->id))) {
$params = array('feedbackid' => $feedback->id, 'courseid' => $courseid);
if (!$DB->get_record('feedback_sitecourse_map', $params)) {
if ($courseid == SITEID) {
echo $OUTPUT->header();
echo $OUTPUT->notification(get_string('cannotaccess', 'mod_feedback'));
echo $OUTPUT->footer();
exit;
} else {
print_error('invalidcoursemodule');
}
}
}
}

//check whether the given courseid exists
if ($courseid AND $courseid != SITEID) {
if ($course2 = $DB->get_record('course', array('id'=>$courseid))) {
Expand Down Expand Up @@ -113,15 +129,6 @@
/// Print the page header
$strfeedbacks = get_string("modulenameplural", "feedback");
$strfeedback = get_string("modulename", "feedback");

if ($course->id == SITEID) {
$PAGE->set_context($context);
$PAGE->set_cm($cm, $course); // set's up global $COURSE
$PAGE->set_pagelayout('incourse');
}
$PAGE->set_url('/mod/feedback/view.php', array('id'=>$cm->id, 'do_show'=>'view'));
$PAGE->set_title($feedback->name);
$PAGE->set_heading($course->fullname);
echo $OUTPUT->header();

//ishidden check.
Expand Down

0 comments on commit b643f44

Please sign in to comment.