MDL-14779 Show analysis to students setting in Feedback module does not provide enough contol over who see feedback

This commit is contained in:
agrabs
2008-06-22 18:02:54 +00:00
parent eee5d9bb85
commit 488b13baba
7 changed files with 41 additions and 8 deletions
+1 -1
View File
@@ -53,7 +53,7 @@
require_login($course->id, true, $cm);
if( !( (intval($feedback->publish_stats) == 1) || $capabilities->viewreports)) {
if( !( ((intval($feedback->publish_stats) == 1) AND $capabilities->viewanalysepage) || $capabilities->viewreports)) {
error(get_string('error'));
}
+16 -5
View File
@@ -79,11 +79,15 @@
$courseid = SITEID;
}
if($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) {
// if($feedback->anonymous != FEEDBACK_ANONYMOUS_YES) {
require_login($course->id, true, $cm);
} else {
require_course_login($course, true, $cm);
}
if(isguestuser()) {
error(get_string('guestsno'), $CFG->wwwroot);
exit;
}
// } else {
// require_course_login($course, true, $cm);
// }
if($courseid AND $courseid != SITEID) {
$course2 = $DB->get_record('course', array('id'=>$courseid));
@@ -250,6 +254,14 @@
///////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////
print_heading(format_text($feedback->name));
if( (intval($feedback->publish_stats) == 1) AND ( $capabilities->viewanalysepage) AND !( $capabilities->viewreports) ) {
if($multiple_count = $DB->count_records('feedback_tracking', array('userid'=>$USER->id, 'feedback'=>$feedback->id))) {
echo '<div align="center"><a href="'.htmlspecialchars('analysis.php?id=' . $id . '&courseid='.$courseid).'">';
echo get_string('completed_feedbacks', 'feedback').'</a>';
echo '</div>';
}
}
if(isset($savereturn) && $savereturn == 'saved') {
if($feedback->page_after_submit) {
@@ -267,7 +279,6 @@
}
}
if($feedback->site_after_submit) {
var_dump($feedback->site_after_submit);
print_continue(feedback_encode_target_url($feedback->site_after_submit));
}else {
if($courseid) {
+6
View File
@@ -226,6 +226,12 @@
///////////////////////////////////////////////////////////////////////////
print_heading(format_text($feedback->name));
if( (intval($feedback->publish_stats) == 1) AND ( $capabilities->viewanalysepage) AND !( $capabilities->viewreports) ) {
echo '<div align="center"><a href="'.htmlspecialchars('analysis.php?id=' . $id . '&courseid='.$courseid).'">';
echo get_string('completed_feedbacks', 'feedback').'</a>';
echo '</div>';
}
if(isset($savereturn) && $savereturn == 'saved') {
if($feedback->page_after_submit) {
// print_simple_box_start('center', '75%');
+14
View File
@@ -61,6 +61,20 @@ $mod_feedback_capabilities = array(
)
),
'mod/feedback:viewanalysepage' => array(
'riskbitmask' => RISK_PERSONAL,
'captype' => 'read',
'contextlevel' => CONTEXT_MODULE,
'legacy' => array(
'user' => CAP_ALLOW,
'student' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW,
'admin' => CAP_ALLOW
)
),
'mod/feedback:deletesubmissions' => array(
'captype' => 'write',
+2
View File
@@ -404,6 +404,7 @@ function feedback_load_capabilities($cmid) {
$cb = new object;
$cb->view = has_capability('mod/feedback:view', $context, NULL, false);
$cb->complete = has_capability('mod/feedback:complete', $context, NULL, false);
$cb->viewanalysepage = has_capability('mod/feedback:viewanalysepage', $context, NULL, false);
$cb->deletesubmissions = has_capability('mod/feedback:deletesubmissions', $context, NULL, false);
$cb->mapcourse = has_capability('mod/feedback:mapcourse', $context, NULL, false);
$cb->edititems = has_capability('mod/feedback:edititems', $context, NULL, false);
@@ -437,6 +438,7 @@ function feedback_load_course_capabilities($courseid) {
$ccb = new object;
$ccb->view = has_capability('mod/feedback:view', $context, NULL, false);
$ccb->complete = has_capability('mod/feedback:complete', $context, NULL, false);
$ccb->viewanalysepage = has_capability('mod/feedback:viewanalysepage', $context, NULL, false);
$ccb->deletesubmissions = has_capability('mod/feedback:deletesubmissions', $context, NULL, false);
$ccb->mapcourse = has_capability('mod/feedback:mapcourse', $context, NULL, false);
$ccb->edititems = has_capability('mod/feedback:edititems', $context, NULL, false);
+1 -1
View File
@@ -10,7 +10,7 @@
*/
$module->version = 2008052207; // The current module version (Date: YYYYMMDDXX)
$module->version = 2008052208; // The current module version (Date: YYYYMMDDXX)
$module->requires = 2007101503; // Requires this Moodle version
$feedback_version_intern = 1; //this version is used for restore older backups
$module->cron = 0; // Period for cron to check this module (secs)
+1 -1
View File
@@ -95,7 +95,7 @@
print_box_end();
}
if( (intval($feedback->publish_stats) == 1) AND !( $capabilities->viewreports) ) {
if( (intval($feedback->publish_stats) == 1) AND ( $capabilities->viewanalysepage) AND !( $capabilities->viewreports) ) {
if($multiple_count = $DB->count_records('feedback_tracking', array('userid'=>$USER->id, 'feedback'=>$feedback->id))) {
echo '<div align="center"><a href="'.htmlspecialchars('analysis.php?id=' . $id . '&courseid='.$courseid).'">';
echo get_string('completed_feedbacks', 'feedback').'</a>';