// 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/>. /** * Plan page. * * @package tool_lp * @copyright 2015 Frédéric Massart - FMCorz.net * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require __DIR__ . '/../../../config.php'; $id = required_param('id', PARAM_INT); require_login(null, false); if (isguestuser()) { throw new require_login_exception('Guests are not allowed here.'); } \core_competency\api::require_enabled(); $plan = \core_competency\api::read_plan($id); $url = new moodle_url('/admin/tool/lp/plan.php', array('id' => $id)); list($title, $subtitle) = \tool_lp\page_helper::setup_for_plan($plan->get_userid(), $url, $plan); $output = $PAGE->get_renderer('tool_lp'); echo $output->header(); $page = new \tool_lp\output\plan_page($plan); echo $output->render($page); // Trigger viewed event. \core_competency\api::plan_viewed($plan); echo $output->footer();
$returntype = optional_param('return', null, PARAM_ALPHA); require_login(0, false); \core_competency\api::require_enabled(); $url = new moodle_url('/admin/tool/lp/editplan.php', array('id' => $id, 'userid' => $userid, 'return' => $returntype)); $plan = null; if (empty($id)) { $pagetitle = get_string('addnewplan', 'tool_lp'); list($title, $subtitle, $returnurl) = \tool_lp\page_helper::setup_for_plan($userid, $url, null, $pagetitle, $returntype); } else { $plan = \core_competency\api::read_plan($id); // The userid parameter must be the same as the owner of the plan. if ($userid != $plan->get_userid()) { throw new coding_exception('Inconsistency between the userid parameter and the userid of the plan'); } $pagetitle = get_string('editplan', 'tool_lp'); list($title, $subtitle, $returnurl) = \tool_lp\page_helper::setup_for_plan($userid, $url, $plan, $pagetitle, $returntype); } $output = $PAGE->get_renderer('tool_lp'); // Custom data to pass to the form. $customdata = array('userid' => $userid, 'context' => $PAGE->context, 'persistent' => $plan); // User can create plan if he can_manage_user with active/complete status // or if he can_manage_user_draft with draft status. $cancreate = \core_competency\plan::can_manage_user_draft($userid) || \core_competency\plan::can_manage_user($userid); // If editing plan, check if user has permissions to edit it. if ($plan != null) { if (!$plan->can_manage()) { throw new required_capability_exception($PAGE->context, 'moodle/competency:planmanage', 'nopermissions', ''); } if (!$plan->can_be_edited()) { throw new coding_exception('Completed plan can not be edited'); }
// (at your option) any later version. // // 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 see their learning plans. * * @package tool_lp * @copyright 2015 David Monllao * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later */ require_once __DIR__ . '/../../../config.php'; require_login(null, false); if (isguestuser()) { throw new require_login_exception('Guests are not allowed here.'); } \core_competency\api::require_enabled(); $userid = optional_param('userid', $USER->id, PARAM_INT); $url = new moodle_url('/admin/tool/lp/plans.php', array('userid' => $userid)); list($title, $subtitle) = \tool_lp\page_helper::setup_for_plan($userid, $url); $output = $PAGE->get_renderer('tool_lp'); echo $output->header(); echo $output->heading($title); $page = new \tool_lp\output\plans_page($userid); echo $output->render($page); echo $output->footer();