diff --git a/admin/tool/lp/classes/url_resolver.php b/admin/tool/lp/classes/url_resolver.php new file mode 100644 index 00000000000..116c7a47629 --- /dev/null +++ b/admin/tool/lp/classes/url_resolver.php @@ -0,0 +1,105 @@ +. + +/** + * URL resolver. + * + * @package tool_lp + * @copyright 2016 Frédéric Massart - FMCorz.net + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ + +namespace tool_lp; +defined('MOODLE_INTERNAL') || die(); + +use moodle_url; + +/** + * URL resolver class. + * + * @package tool_lp + * @copyright 2016 Frédéric Massart - FMCorz.net + * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later + */ +class url_resolver { + + /** + * The URL where the frameworks can be found. + * + * @param int $pagecontextid The ID of the context that we are browsing. + * @return moodle_url + */ + public function frameworks($pagecontextid) { + return new moodle_url('/admin/tool/lp/competencyframeworks.php', array('pagecontextid' => $pagecontextid)); + } + + /** + * The URL where the plan can be found. + * + * @param int $planid The plan ID. + * @return moodle_url + */ + public function plan($planid) { + return new moodle_url('/admin/tool/lp/plan.php', array('id' => $planid)); + } + + /** + * The URL where the plans of a user can be found. + * + * @param int $userid The user ID. + * @return moodle_url + */ + public function plans($userid) { + return new moodle_url('/admin/tool/lp/plans.php', array('userid' => $userid)); + } + + /** + * The URL where the user competency can be found. + * + * @param int $usercompetency The user competency ID + * @return moodle_url + */ + public function user_competency($usercompetencyid) { + return new moodle_url('/admin/tool/lp/user_competency.php', array('id' => $usercompetencyid)); + } + + /** + * The URL where the user competency can be found in the context of a plan. + * + * @param int $userid The user ID + * @param int $competencyid The competency ID. + * @param int $planid The plan ID. + * @return moodle_url + */ + public function user_competency_in_plan($userid, $competencyid, $planid) { + return new moodle_url('/admin/tool/lp/user_competency_in_plan.php', array( + 'userid' => $userid, + 'competencyid' => $competencyid, + 'planid' => $planid + )); + } + + /** + * The URL where the user evidence (of prior learning) can be found. + * + * @param int $usercompetency The user evidence ID + * @return moodle_url + */ + public function user_evidence($userevidenceid) { + return new moodle_url('/admin/tool/lp/user_evidence.php', array('id' => $userevidenceid)); + } + +} diff --git a/admin/tool/lp/user_evidence.php b/admin/tool/lp/user_evidence.php index 8ec2af92838..dfb5dcb733d 100644 --- a/admin/tool/lp/user_evidence.php +++ b/admin/tool/lp/user_evidence.php @@ -30,10 +30,10 @@ if (isguestuser()) { } \core_competency\api::require_enabled(); -$id = optional_param('id', null, PARAM_INT); +$id = required_param('id', PARAM_INT); $userevidence = \core_competency\api::read_user_evidence($id); -$url = new moodle_url('/admin/tool/lp/user_evidence_list.php', array('id' => $id)); +$url = new moodle_url('/admin/tool/lp/user_evidence.php', array('id' => $id)); list($title, $subtitle) = \tool_lp\page_helper::setup_for_user_evidence($userevidence->get_userid(), $url, $userevidence); $output = $PAGE->get_renderer('tool_lp'); diff --git a/admin/tool/lpmigrate/classes/output/migrate_framework_results.php b/admin/tool/lpmigrate/classes/output/migrate_framework_results.php index 065f63aec08..5665bc6dca3 100644 --- a/admin/tool/lpmigrate/classes/output/migrate_framework_results.php +++ b/admin/tool/lpmigrate/classes/output/migrate_framework_results.php @@ -35,6 +35,7 @@ use core_competency\competency; use core_competency\competency_framework; use core_competency\external\competency_exporter; use core_competency\external\competency_framework_exporter; +use core_competency\url; use tool_lpmigrate\framework_processor; /** @@ -147,7 +148,7 @@ class migrate_framework_results implements renderable, templatable { } $data->pluginbaseurl = (new moodle_url('/admin/tool/lpmigrate'))->out(false); - $data->cbebaseurl = (new moodle_url('/admin/tool/lp'))->out(false); + $data->frameworksurl = url::frameworks($this->pagecontext->id)->out(false); return $data; } diff --git a/admin/tool/lpmigrate/templates/migrate_frameworks_results.mustache b/admin/tool/lpmigrate/templates/migrate_frameworks_results.mustache index abb47ee89b4..fc6e074f06d 100644 --- a/admin/tool/lpmigrate/templates/migrate_frameworks_results.mustache +++ b/admin/tool/lpmigrate/templates/migrate_frameworks_results.mustache @@ -155,7 +155,7 @@

{{#str}}migratemore, tool_lpmigrate{{/str}} - {{#str}}continuetoframeworks, tool_lpmigrate{{/str}} + {{#str}}continuetoframeworks, tool_lpmigrate{{/str}}

{{#js}} diff --git a/blocks/lp/classes/output/competencies_to_review_page.php b/blocks/lp/classes/output/competencies_to_review_page.php index 233ab632369..86099304efd 100644 --- a/blocks/lp/classes/output/competencies_to_review_page.php +++ b/blocks/lp/classes/output/competencies_to_review_page.php @@ -78,7 +78,6 @@ class competencies_to_review_page implements renderable, templatable { $data = array( 'competencies' => $compstoreview, - 'cbebaseurl' => (new moodle_url('/admin/tool/lp'))->out(false), 'pluginbaseurl' => (new moodle_url('/blocks/lp'))->out(false), ); diff --git a/blocks/lp/classes/output/plans_to_review_page.php b/blocks/lp/classes/output/plans_to_review_page.php index 4920f1f0fb2..2cd63090859 100644 --- a/blocks/lp/classes/output/plans_to_review_page.php +++ b/blocks/lp/classes/output/plans_to_review_page.php @@ -73,7 +73,6 @@ class plans_to_review_page implements renderable, templatable { $data = array( 'plans' => $planstoreview, - 'cbebaseurl' => (new moodle_url('/admin/tool/lp'))->out(false), 'pluginbaseurl' => (new moodle_url('/blocks/lp'))->out(false), ); diff --git a/blocks/lp/classes/output/summary.php b/blocks/lp/classes/output/summary.php index ff6459d78ac..22c81298608 100644 --- a/blocks/lp/classes/output/summary.php +++ b/blocks/lp/classes/output/summary.php @@ -31,6 +31,7 @@ use core_competency\external\plan_exporter; use core_competency\external\user_competency_exporter; use core_competency\external\user_summary_exporter; use core_competency\plan; +use core_competency\url; use renderable; use renderer_base; use templatable; @@ -130,7 +131,7 @@ class summary implements renderable, templatable { 'hasplanstoreview' => $this->planstoreview['count'] > 0, 'hasmoreplanstoreview' => $this->planstoreview['count'] > 3, - 'cbebaseurl' => (new \moodle_url('/admin/tool/lp'))->out(false), + 'plansurl' => url::plans($this->user->id)->out(false), 'pluginbaseurl' => (new \moodle_url('/blocks/lp'))->out(false), 'userid' => $this->user->id, ); diff --git a/blocks/lp/templates/competencies_to_review_page.mustache b/blocks/lp/templates/competencies_to_review_page.mustache index 30d41360483..43e83784a8a 100644 --- a/blocks/lp/templates/competencies_to_review_page.mustache +++ b/blocks/lp/templates/competencies_to_review_page.mustache @@ -39,7 +39,7 @@ {{#competencies}} - {{competency.shortname}} + {{competency.shortname}} {{user.fullname}} {{usercompetency.statusname}} diff --git a/blocks/lp/templates/plans_to_review_page.mustache b/blocks/lp/templates/plans_to_review_page.mustache index 0b1ef8649a9..9267a353155 100644 --- a/blocks/lp/templates/plans_to_review_page.mustache +++ b/blocks/lp/templates/plans_to_review_page.mustache @@ -39,7 +39,7 @@ {{#plans}} - {{plan.name}} + {{plan.name}} {{user.fullname}} {{plan.statusname}} diff --git a/blocks/lp/templates/summary.mustache b/blocks/lp/templates/summary.mustache index 1533f04c8a6..cc2514389f0 100644 --- a/blocks/lp/templates/summary.mustache +++ b/blocks/lp/templates/summary.mustache @@ -42,15 +42,15 @@ {{#hasactiveplans}} {{/hasactiveplans}} {{^hasactiveplans}} -

No active plans at the moment. {{#str}}viewotherplans, block_lp{{/str}}

+

No active plans at the moment. {{#str}}viewotherplans, block_lp{{/str}}

{{/hasactiveplans}} {{/hasplans}} @@ -60,7 +60,7 @@