/** * This function extends the category navigation to add learning plan links. * * @param navigation_node $navigation The navigation node to extend * @param context $coursecategorycontext The context of the course category */ function tool_lp_extend_navigation_category_settings($navigation, $coursecategorycontext) { if (!get_config('core_competency', 'enabled')) { return false; } // We check permissions before renderring the links. $templatereadcapability = \core_competency\template::can_read_context($coursecategorycontext); $competencyreadcapability = \core_competency\competency_framework::can_read_context($coursecategorycontext); if (!$templatereadcapability && !$competencyreadcapability) { return false; } // The link to the learning plan page. if ($templatereadcapability) { $title = get_string('templates', 'tool_lp'); $path = new moodle_url("/admin/tool/lp/learningplans.php", array('pagecontextid' => $coursecategorycontext->id)); $settingsnode = navigation_node::create($title, $path, navigation_node::TYPE_SETTING, null, null, new pix_icon('i/competencies', '')); if (isset($settingsnode)) { $navigation->add_node($settingsnode); } } // The link to the competency frameworks page. if ($competencyreadcapability) { $title = get_string('competencyframeworks', 'tool_lp'); $path = new moodle_url("/admin/tool/lp/competencyframeworks.php", array('pagecontextid' => $coursecategorycontext->id)); $settingsnode = navigation_node::create($title, $path, navigation_node::TYPE_SETTING, null, null, new pix_icon('i/competencies', '')); if (isset($settingsnode)) { $navigation->add_node($settingsnode); } } }
// Moodle is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with Moodle. If not, see <http://www.gnu.org/licenses/>. /** * This page lets users to manage site wide competencies. * * @package tool_lp * @copyright 2015 Damyon Wiese * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once __DIR__ . '/../../../config.php'; require_once $CFG->libdir . '/adminlib.php'; $pagecontextid = required_param('pagecontextid', PARAM_INT); $context = context::instance_by_id($pagecontextid); require_login(0, false); \core_competency\api::require_enabled(); if (!\core_competency\template::can_read_context($context)) { throw new required_capability_exception($context, 'moodle/competency:templateview', 'nopermissions', ''); } $url = new moodle_url('/admin/tool/lp/learningplans.php', array('pagecontextid' => $pagecontextid)); list($title, $subtitle) = \tool_lp\page_helper::setup_for_template($pagecontextid, $url); $output = $PAGE->get_renderer('tool_lp'); echo $output->header(); echo $output->heading($title); $page = new \tool_lp\output\manage_templates_page($context); echo $output->render($page); echo $output->footer();