diff --git a/course/editcategory.php b/course/editcategory.php index b61ecaa0cc1..b7184b7c09a 100644 --- a/course/editcategory.php +++ b/course/editcategory.php @@ -131,25 +131,9 @@ if ($mform->is_cancelled()) { redirect('manage.php?id='.$newcategory->id); } -// Unfortunately the navigation never generates correctly for this page because technically this page doesn't actually -// exist on the navigation; you get here through the course management page. -// First up we'll try to make the course management page active seeing as that is where the user thinks they are. -// The big prolem here is that the course management page is a common page for both editing users and common users and -// is only added to the admin tree if the user has permission to edit at the system level. -$node = $PAGE->settingsnav->get('root'); -if ($node) { - $node = $node->get('courses'); - if ($node) { - $node = $node->get('coursemgmt'); - } -} -if ($node) { - // The course management page exists so make that active. - $node->make_active(); -} else { - // Failing that we'll override the URL, not as accurate and chances are things - // won't be 100% correct all the time but should work most times. - // A common reason to arrive here is having the management capability within only a particular category (not at system level). +// Page "Add new category" (with "Top" as a parent) does not exist in navigation. +// We pretend we are on course management page. +if (empty($id) && empty($parent)) { navigation_node::override_active_url(new moodle_url('/course/manage.php')); }