Skip to content

Commit

Permalink
Merged from 1.8.
Browse files Browse the repository at this point in the history
  • Loading branch information
vyshane committed Feb 16, 2007
1 parent 217a8ee commit 2585a68
Show file tree
Hide file tree
Showing 21 changed files with 38 additions and 105 deletions.
3 changes: 0 additions & 3 deletions blocks/rss_client/db/access.php
Expand Up @@ -40,7 +40,6 @@
'legacy' => array( 'legacy' => array(
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -51,7 +50,6 @@
'contextlevel' => CONTEXT_SYSTEM, 'contextlevel' => CONTEXT_SYSTEM,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -63,7 +61,6 @@
'legacy' => array( 'legacy' => array(
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand Down
2 changes: 1 addition & 1 deletion course/category.php
Expand Up @@ -325,7 +325,7 @@
echo'<a title="'.get_string('assignroles', 'role').'" href="'.$CFG->wwwroot.'/'.$CFG->admin.'/roles/assign.php?contextid='.$coursecontext->id.'"><img src="'.$CFG->pixpath.'/i/roles.gif" class="iconsmall" alt="'.get_string('assignroles', 'role').'" /></a>'; echo'<a title="'.get_string('assignroles', 'role').'" href="'.$CFG->wwwroot.'/'.$CFG->admin.'/roles/assign.php?contextid='.$coursecontext->id.'"><img src="'.$CFG->pixpath.'/i/roles.gif" class="iconsmall" alt="'.get_string('assignroles', 'role').'" /></a>';
} }


if (has_capability('moodle/course:delete', $coursecontext)) { if (can_delete_course($acourse->id)) {
echo '<a title="'.$strdelete.'" href="delete.php?id='.$acourse->id.'">'. echo '<a title="'.$strdelete.'" href="delete.php?id='.$acourse->id.'">'.
'<img src="'.$CFG->pixpath.'/t/delete.gif" class="iconsmall" alt="'.$strdelete.'" /></a> '; '<img src="'.$CFG->pixpath.'/t/delete.gif" class="iconsmall" alt="'.$strdelete.'" /></a> ';
} }
Expand Down
4 changes: 3 additions & 1 deletion course/delete.php
Expand Up @@ -8,7 +8,9 @@


require_login(); require_login();


require_capability('moodle/course:delete', get_context_instance(CONTEXT_SYSTEM, SITEID)); if (!can_delete_course($id)) {
error('You do not have the permission to delete this course.');
}


if (!$site = get_site()) { if (!$site = get_site()) {
error("Site not found!"); error("Site not found!");
Expand Down
1 change: 0 additions & 1 deletion course/edit.php
Expand Up @@ -26,7 +26,6 @@
error('Category ID was incorrect'); error('Category ID was incorrect');
} }
require_capability('moodle/course:create', get_context_instance(CONTEXT_COURSECAT, $category->id)); require_capability('moodle/course:create', get_context_instance(CONTEXT_COURSECAT, $category->id));

} else { } else {
error('Either course id or category must be specified'); error('Either course id or category must be specified');
} }
Expand Down
33 changes: 32 additions & 1 deletion course/lib.php
Expand Up @@ -2540,4 +2540,35 @@ function get_section_name($format) {
return $sectionname; return $sectionname;
} }


?> /**
* Can the current user delete this course?
* @param int $courseid
* @return boolean
*
* Exception here to fix MDL-7796.
*
* FIXME
* Course creators who can manage activities in the course
* shoule be allowed to delete the course. We do it this
* way because we need a quick fix to bring the functionality
* in line with what we had pre-roles. We can't give the
* default course creator role moodle/course:delete at
* CONTEXT_SYSTEM level because this will allow them to
* delete any course in the site. So we hard code this here
* for now.
*
* @author vyshane AT gmail.com
*/
function can_delete_course($courseid) {

$context = get_context_instance(CONTEXT_COURSE, $courseid);

return ( has_capability('moodle/course:delete', $context)
|| (has_capability('moodle/legacy:coursecreator', $context)
&& has_capability('moodle/course:manageactivities', $context)) );
}




?>
30 changes: 0 additions & 30 deletions lib/db/access.php
Expand Up @@ -178,7 +178,6 @@
'contextlevel' => CONTEXT_SYSTEM, 'contextlevel' => CONTEXT_SYSTEM,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -190,7 +189,6 @@
'legacy' => array( 'legacy' => array(
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -213,7 +211,6 @@
'contextlevel' => CONTEXT_SYSTEM, 'contextlevel' => CONTEXT_SYSTEM,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -227,7 +224,6 @@
'legacy' => array( 'legacy' => array(
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand Down Expand Up @@ -348,7 +344,6 @@
'contextlevel' => CONTEXT_SYSTEM, 'contextlevel' => CONTEXT_SYSTEM,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand Down Expand Up @@ -477,7 +472,6 @@
'contextlevel' => CONTEXT_COURSE, 'contextlevel' => CONTEXT_COURSE,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -491,7 +485,6 @@
'student' => CAP_ALLOW, 'student' => CAP_ALLOW,
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -505,7 +498,6 @@
'legacy' => array( 'legacy' => array(
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -519,7 +511,6 @@
'legacy' => array( 'legacy' => array(
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -529,7 +520,6 @@
'captype' => 'read', 'captype' => 'read',
'contextlevel' => CONTEXT_COURSE, 'contextlevel' => CONTEXT_COURSE,
'legacy' => array( 'legacy' => array(
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -539,7 +529,6 @@
'captype' => 'write', 'captype' => 'write',
'contextlevel' => CONTEXT_COURSE, 'contextlevel' => CONTEXT_COURSE,
'legacy' => array( 'legacy' => array(
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -552,7 +541,6 @@
'contextlevel' => CONTEXT_COURSE, 'contextlevel' => CONTEXT_COURSE,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -565,7 +553,6 @@
'contextlevel' => CONTEXT_COURSE, 'contextlevel' => CONTEXT_COURSE,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -576,7 +563,6 @@
'contextlevel' => CONTEXT_COURSE, 'contextlevel' => CONTEXT_COURSE,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -587,7 +573,6 @@
'contextlevel' => CONTEXT_COURSE, 'contextlevel' => CONTEXT_COURSE,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -599,7 +584,6 @@
'legacy' => array( 'legacy' => array(
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -612,7 +596,6 @@
'student' => CAP_ALLOW, 'student' => CAP_ALLOW,
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -625,7 +608,6 @@
'student' => CAP_ALLOW, 'student' => CAP_ALLOW,
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -636,7 +618,6 @@
'contextlevel' => CONTEXT_COURSE, 'contextlevel' => CONTEXT_COURSE,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -647,7 +628,6 @@
'contextlevel' => CONTEXT_COURSE, 'contextlevel' => CONTEXT_COURSE,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -658,7 +638,6 @@
'contextlevel' => CONTEXT_COURSE, 'contextlevel' => CONTEXT_COURSE,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand Down Expand Up @@ -725,7 +704,6 @@
'legacy' => array( 'legacy' => array(
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -751,7 +729,6 @@
'legacy' => array( 'legacy' => array(
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand Down Expand Up @@ -791,7 +768,6 @@
'legacy' => array( 'legacy' => array(
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand Down Expand Up @@ -837,7 +813,6 @@
'contextlevel' => CONTEXT_COURSE, 'contextlevel' => CONTEXT_COURSE,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand Down Expand Up @@ -873,7 +848,6 @@
'contextlevel' => CONTEXT_COURSE, 'contextlevel' => CONTEXT_COURSE,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -894,7 +868,6 @@
'contextlevel' => CONTEXT_COURSE, 'contextlevel' => CONTEXT_COURSE,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -905,7 +878,6 @@
'contextlevel' => CONTEXT_COURSE, 'contextlevel' => CONTEXT_COURSE,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -919,7 +891,6 @@
'legacy' => array( 'legacy' => array(
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -932,7 +903,6 @@
'contextlevel' => CONTEXT_COURSE, 'contextlevel' => CONTEXT_COURSE,
'legacy' => array( 'legacy' => array(
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand Down
2 changes: 0 additions & 2 deletions mod/assignment/db/access.php
Expand Up @@ -42,7 +42,6 @@
'student' => CAP_ALLOW, 'student' => CAP_ALLOW,
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -63,7 +62,6 @@
'legacy' => array( 'legacy' => array(
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
) )
Expand Down
3 changes: 0 additions & 3 deletions mod/chat/db/access.php
Expand Up @@ -43,7 +43,6 @@
'student' => CAP_ALLOW, 'student' => CAP_ALLOW,
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -56,7 +55,6 @@
'student' => CAP_ALLOW, 'student' => CAP_ALLOW,
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
), ),
Expand All @@ -68,7 +66,6 @@
'legacy' => array( 'legacy' => array(
'teacher' => CAP_ALLOW, 'teacher' => CAP_ALLOW,
'editingteacher' => CAP_ALLOW, 'editingteacher' => CAP_ALLOW,
'coursecreator' => CAP_ALLOW,
'admin' => CAP_ALLOW 'admin' => CAP_ALLOW
) )
) )
Expand Down

0 comments on commit 2585a68

Please sign in to comment.