MDL-53700 competency: Use URL resolver in events
authorFrederic Massart <fred@moodle.com>
Thu, 7 Apr 2016 11:34:17 +0000 (19:34 +0800)
committerFrederic Massart <fred@moodle.com>
Mon, 18 Apr 2016 03:06:00 +0000 (11:06 +0800)
37 files changed:
admin/tool/lp/classes/url_resolver.php
competency/classes/url.php
lib/classes/event/competency_created.php
lib/classes/event/competency_evidence_created.php
lib/classes/event/competency_framework_created.php
lib/classes/event/competency_framework_updated.php
lib/classes/event/competency_framework_viewed.php
lib/classes/event/competency_plan_approved.php
lib/classes/event/competency_plan_completed.php
lib/classes/event/competency_plan_created.php
lib/classes/event/competency_plan_reopened.php
lib/classes/event/competency_plan_review_request_cancelled.php
lib/classes/event/competency_plan_review_requested.php
lib/classes/event/competency_plan_review_started.php
lib/classes/event/competency_plan_review_stopped.php
lib/classes/event/competency_plan_unapproved.php
lib/classes/event/competency_plan_unlinked.php
lib/classes/event/competency_plan_updated.php
lib/classes/event/competency_plan_viewed.php
lib/classes/event/competency_template_created.php
lib/classes/event/competency_template_updated.php
lib/classes/event/competency_template_viewed.php
lib/classes/event/competency_updated.php
lib/classes/event/competency_user_competency_plan_viewed.php
lib/classes/event/competency_user_competency_rated.php
lib/classes/event/competency_user_competency_rated_in_course.php
lib/classes/event/competency_user_competency_rated_in_plan.php
lib/classes/event/competency_user_competency_review_request_cancelled.php
lib/classes/event/competency_user_competency_review_requested.php
lib/classes/event/competency_user_competency_review_started.php
lib/classes/event/competency_user_competency_review_stopped.php
lib/classes/event/competency_user_competency_viewed.php
lib/classes/event/competency_user_competency_viewed_in_course.php
lib/classes/event/competency_user_competency_viewed_in_plan.php
lib/classes/event/competency_user_evidence_created.php
lib/classes/event/competency_user_evidence_updated.php
lib/classes/event/competency_viewed.php

index 116c7a4..89a117b 100644 (file)
@@ -36,6 +36,34 @@ use moodle_url;
  */
 class url_resolver {
 
+    /**
+     * The URL where the competency can be found.
+     *
+     * @param int $competencyid The competency ID.
+     * @param int $pagecontextid The ID of the context we are in.
+     * @return moodle_url
+     */
+    public function competency($competencyid, $pagecontextid) {
+        return new moodle_url('/admin/tool/lp/editcompetency.php', array(
+            'id' => $competencyid,
+            'pagecontextid' => $pagecontextid
+        ));
+    }
+
+    /**
+     * The URL where the framework can be found.
+     *
+     * @param int $frameworkid The framework ID.
+     * @param int $pagecontextid The ID of the context we are in.
+     * @return moodle_url
+     */
+    public function framework($frameworkid, $pagecontextid) {
+        return new moodle_url('/admin/tool/lp/competencies.php', array(
+            'competencyframeworkid' => $frameworkid,
+            'pagecontextid' => $pagecontextid
+        ));
+    }
+
     /**
      * The URL where the frameworks can be found.
      *
@@ -66,16 +94,56 @@ class url_resolver {
         return new moodle_url('/admin/tool/lp/plans.php', array('userid' => $userid));
     }
 
+    /**
+     * The URL where the template can be found.
+     *
+     * @param int $templateid The template ID.
+     * @param int $pagecontextid The ID of the context we are in.
+     * @return moodle_url
+     */
+    public function template($templateid, $pagecontextid) {
+        return new moodle_url('/admin/tool/lp/templatecompetencies.php', array(
+            'templateid' => $templateid,
+            'pagecontextid' => $pagecontextid
+        ));
+    }
+
+    /**
+     * The URL where the templates can be found.
+     *
+     * @param int $pagecontextid The ID of the context that we are browsing.
+     * @return moodle_url
+     */
+    public function templates($pagecontextid) {
+        return new moodle_url('/admin/tool/lp/learningplans.php', array('pagecontextid' => $pagecontextid));
+    }
+
     /**
      * The URL where the user competency can be found.
      *
-     * @param int $usercompetency The user competency ID
+     * @param int $usercompetencyid 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 course.
+     *
+     * @param int $userid The user ID
+     * @param int $competencyid The competency ID.
+     * @param int $courseid The course ID.
+     * @return moodle_url
+     */
+    public function user_competency_in_course($userid, $competencyid, $courseid) {
+        return new moodle_url('/admin/tool/lp/user_competency_in_course.php', array(
+            'userid' => $userid,
+            'competencyid' => $competencyid,
+            'courseid' => $courseid
+        ));
+    }
+
     /**
      * The URL where the user competency can be found in the context of a plan.
      *
@@ -95,7 +163,7 @@ class url_resolver {
     /**
      * The URL where the user evidence (of prior learning) can be found.
      *
-     * @param int $usercompetency The user evidence ID
+     * @param int $userevidenceid The user evidence ID
      * @return moodle_url
      */
     public function user_evidence($userevidenceid) {
index ce45639..f9d8739 100644 (file)
@@ -72,6 +72,28 @@ class url {
         return call_user_func_array([static::$resolver, $resource], $args);
     }
 
+    /**
+     * The URL where the competency can be found.
+     *
+     * @param int $competencyid The competency ID.
+     * @param int $pagecontextid The ID of the context we are in.
+     * @return moodle_url
+     */
+    public static function competency($competencyid, $pagecontextid) {
+        return static::get(__FUNCTION__, func_get_args());
+    }
+
+    /**
+     * The URL where the framework can be found.
+     *
+     * @param int $frameworkid The framework ID.
+     * @param int $pagecontextid The ID of the context we are in.
+     * @return moodle_url
+     */
+    public static function framework($frameworkid, $pagecontextid) {
+        return static::get(__FUNCTION__, func_get_args());
+    }
+
     /**
      * The URL where the frameworks can be found.
      *
@@ -102,16 +124,49 @@ class url {
         return static::get(__FUNCTION__, func_get_args());
     }
 
+    /**
+     * The URL where the template can be found.
+     *
+     * @param int $templateid The template ID.
+     * @param int $pagecontextid The ID of the context we are in.
+     * @return moodle_url
+     */
+    public static function template($templateid, $pagecontextid) {
+        return static::get(__FUNCTION__, func_get_args());
+    }
+
+    /**
+     * The URL where the templates can be found.
+     *
+     * @param int $pagecontextid The ID of the context that we are browsing.
+     * @return moodle_url
+     */
+    public function templates($pagecontextid) {
+        return static::get(__FUNCTION__, func_get_args());
+    }
+
     /**
      * The URL where the user competency can be found.
      *
-     * @param int $usercompetency The user competency ID
+     * @param int $usercompetencyid The user competency ID
      * @return moodle_url
      */
     public static function user_competency($usercompetencyid) {
         return static::get(__FUNCTION__, func_get_args());
     }
 
+    /**
+     * The URL where the user competency can be found in the context of a course.
+     *
+     * @param int $userid The user ID
+     * @param int $competencyid The competency ID.
+     * @param int $courseid The course ID.
+     * @return moodle_url
+     */
+    public static function user_competency_in_course($userid, $competencyid, $courseid) {
+        return static::get(__FUNCTION__, func_get_args());
+    }
+
     /**
      * The URL where the user competency can be found in the context of a plan.
      *
@@ -127,7 +182,7 @@ class url {
     /**
      * The URL where the user evidence (of prior learning) can be found.
      *
-     * @param int $usercompetency The user evidence ID
+     * @param int $userevidenceid The user evidence ID
      * @return moodle_url
      */
     public static function user_evidence($userevidenceid) {
index badc99c..0ada2d4 100644 (file)
@@ -82,10 +82,7 @@ class competency_created extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/editcompetency.php', array(
-            'id' => $this->objectid,
-            'pagecontextid' => $this->contextid
-        ));
+        return \core_competency\url::competency($this->objectid, $this->contextid);
     }
 
     /**
index 685e1e8..605754c 100644 (file)
@@ -119,10 +119,7 @@ class competency_evidence_created extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        $urlparams = [
-            'id' => $this->other['usercompetencyid']
-        ];
-        return new \moodle_url('/admin/tool/lp/user_competency.php', $urlparams);
+        return \core_competency\url::user_competency($this->other['usercompetencyid']);
     }
 
     /**
index 5563bbe..66ea6a8 100644 (file)
@@ -84,8 +84,7 @@ class competency_framework_created extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/editcompetencyframework.php', array(
-            'id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::framework($this->objectid, $this->contextid);
     }
 
     /**
index f6113cf..8b81ac1 100644 (file)
@@ -85,8 +85,7 @@ class competency_framework_updated extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/editcompetencyframework.php',
-                               array('id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::framework($this->objectid, $this->contextid);
     }
 
     /**
index a70a415..3034de1 100644 (file)
@@ -81,10 +81,7 @@ class competency_framework_viewed extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/competencies.php', array(
-                                                                        'competencyframeworkid' => $this->objectid,
-                                                                        'pagecontextid' => $this->contextid
-                ));
+        return \core_competency\url::framework($this->objectid, $this->contextid);
     }
 
     /**
index 75d26f8..1c7ab02 100644 (file)
@@ -87,8 +87,7 @@ class competency_plan_approved extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/plan.php',
-                               array('id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::plan($this->objectid);
     }
 
     /**
index acf05fb..4de68a2 100644 (file)
@@ -87,8 +87,7 @@ class competency_plan_completed extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/plan.php',
-                               array('id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::plan($this->objectid);
     }
 
     /**
index fb5408d..762bd15 100644 (file)
@@ -84,8 +84,7 @@ class competency_plan_created extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/plan.php',
-                               array('id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::plan($this->objectid);
     }
 
     /**
index dde0743..016965b 100644 (file)
@@ -87,8 +87,7 @@ class competency_plan_reopened extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/plan.php',
-                               array('id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::plan($this->objectid);
     }
 
     /**
index 60be0c4..212c447 100644 (file)
@@ -87,8 +87,7 @@ class competency_plan_review_request_cancelled extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/plan.php',
-                               array('id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::plan($this->objectid);
     }
 
     /**
index 50f8e43..537d85d 100644 (file)
@@ -87,8 +87,7 @@ class competency_plan_review_requested extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/plan.php',
-                               array('id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::plan($this->objectid);
     }
 
     /**
index cf32e60..a0cee7a 100644 (file)
@@ -87,8 +87,7 @@ class competency_plan_review_started extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/plan.php',
-                               array('id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::plan($this->objectid);
     }
 
     /**
index 2812db1..da3f874 100644 (file)
@@ -87,8 +87,7 @@ class competency_plan_review_stopped extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/plan.php',
-                               array('id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::plan($this->objectid);
     }
 
     /**
index 2de04fd..51be01d 100644 (file)
@@ -87,8 +87,7 @@ class competency_plan_unapproved extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/plan.php',
-                               array('id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::plan($this->objectid);
     }
 
     /**
index 5247c38..58469cd 100644 (file)
@@ -84,8 +84,7 @@ class competency_plan_unlinked extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/plan.php',
-                               array('id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::plan($this->objectid);
     }
 
     /**
index e782b56..5844adb 100644 (file)
@@ -87,8 +87,7 @@ class competency_plan_updated extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/plan.php',
-                               array('id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::plan($this->objectid);
     }
 
     /**
index adcaa31..35d6077 100644 (file)
@@ -84,8 +84,7 @@ class competency_plan_viewed extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/plan.php',
-                               array('id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::plan($this->objectid);
     }
 
     /**
index f638522..471bcb6 100644 (file)
@@ -84,8 +84,7 @@ class competency_template_created extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/edittemplate.php',
-                               array('id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::template($this->objectid, $this->contextid);
     }
 
     /**
index de0b897..209c0b0 100644 (file)
@@ -87,8 +87,7 @@ class competency_template_updated extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/edittemplate.php',
-                               array('id' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::template($this->objectid, $this->contextid);
     }
 
     /**
index c6b28b1..f444d1c 100644 (file)
@@ -84,8 +84,7 @@ class competency_template_viewed extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/templatecompetencies.php',
-                               array('templateid' => $this->objectid, 'pagecontextid' => $this->contextid));
+        return \core_competency\url::template($this->objectid, $this->contextid);
     }
 
     /**
index 2422f9a..d147889 100644 (file)
@@ -82,10 +82,7 @@ class competency_updated extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/editcompetency.php', array(
-            'id' => $this->objectid,
-            'pagecontextid' => $this->contextid
-        ));
+        return \core_competency\url::competency($this->objectid, $this->contextid);
     }
 
     /**
index cbf829f..94fa341 100644 (file)
@@ -93,11 +93,8 @@ class competency_user_competency_plan_viewed extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/user_competency_in_plan.php', array(
-            'competencyid' => $this->other['competencyid'],
-            'userid' => $this->relateduserid,
-            'planid' => $this->other['planid']
-        ));
+        return \core_competency\url::user_competency_in_plan($this->relateduserid, $this->other['competencyid'],
+            $this->other['planid']);
     }
 
     /**
index 8756c11..bb2793d 100644 (file)
@@ -94,9 +94,7 @@ class competency_user_competency_rated extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/user_competency.php', array(
-                'id' => $this->objectid
-        ));
+        return \core_competency\url::user_competency($this->objectid);
     }
 
     /**
index 0aedba0..2051eaf 100644 (file)
@@ -100,11 +100,8 @@ class competency_user_competency_rated_in_course extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/user_competency_in_course.php', array(
-            'competencyid' => $this->other['competencyid'],
-            'userid' => $this->relateduserid,
-            'courseid' => $this->courseid
-        ));
+        return \core_competency\url::user_competency_in_course($this->relateduserid, $this->other['competencyid'],
+            $this->courseid);
     }
 
     /**
index 90663e2..41e0eed 100644 (file)
@@ -100,11 +100,8 @@ class competency_user_competency_rated_in_plan extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/user_competency_in_plan.php', array(
-            'competencyid' => $this->other['competencyid'],
-            'userid' => $this->relateduserid,
-            'planid' => $this->other['planid']
-        ));
+        return \core_competency\url::user_competency_in_plan($this->relateduserid, $this->other['competencyid'],
+            $this->other['planid']);
     }
 
     /**
index 7116b5c..a35f962 100644 (file)
@@ -84,9 +84,7 @@ class competency_user_competency_review_request_cancelled extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/user_competency.php', array(
-                'id' => $this->objectid
-        ));
+        return \core_competency\url::user_competency($this->objectid);
     }
 
     /**
index 690a6eb..4271042 100644 (file)
@@ -84,9 +84,7 @@ class competency_user_competency_review_requested extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/user_competency.php', array(
-                'id' => $this->objectid
-        ));
+        return \core_competency\url::user_competency($this->objectid);
     }
 
     /**
index a64f22b..b887d6a 100644 (file)
@@ -84,9 +84,7 @@ class competency_user_competency_review_started extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/user_competency.php', array(
-                'id' => $this->objectid
-        ));
+        return \core_competency\url::user_competency($this->objectid);
     }
 
     /**
index 6473568..560523f 100644 (file)
@@ -84,9 +84,7 @@ class competency_user_competency_review_stopped extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/user_competency.php', array(
-                'id' => $this->objectid
-        ));
+        return \core_competency\url::user_competency($this->objectid);
     }
 
     /**
index 981e275..c285e75 100644 (file)
@@ -93,9 +93,7 @@ class competency_user_competency_viewed extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/user_competency.php', array(
-                'id' => $this->objectid
-        ));
+        return \core_competency\url::user_competency($this->objectid);
     }
 
     /**
index 6d214f5..1081ab1 100644 (file)
@@ -96,11 +96,8 @@ class competency_user_competency_viewed_in_course extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/user_competency_in_course.php', array(
-            'competencyid' => $this->other['competencyid'],
-            'userid' => $this->relateduserid,
-            'courseid' => $this->courseid
-        ));
+        return \core_competency\url::user_competency_in_course($this->relateduserid, $this->other['competencyid'],
+            $this->courseid);
     }
 
     /**
index 0c6f246..de23838 100644 (file)
@@ -97,11 +97,8 @@ class competency_user_competency_viewed_in_plan extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/user_competency_in_plan.php', array(
-            'competencyid' => $this->other['competencyid'],
-            'userid' => $this->relateduserid,
-            'planid' => $this->other['planid']
-        ));
+        return \core_competency\url::user_competency_in_plan($this->relateduserid, $this->other['competencyid'],
+            $this->other['planid']);
     }
 
     /**
index 59e18d4..e9f5f7d 100644 (file)
@@ -85,8 +85,7 @@ class competency_user_evidence_created extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/user_evidence.php',
-                               array('id' => $this->objectid));
+        return \core_competency\url::user_evidence($this->objectid);
     }
 
     /**
index 69796be..d35f3fe 100644 (file)
@@ -85,8 +85,7 @@ class competency_user_evidence_updated extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/user_evidence.php',
-                               array('id' => $this->objectid));
+        return \core_competency\url::user_evidence($this->objectid);
     }
 
     /**
index ce12b04..da899a5 100644 (file)
@@ -82,10 +82,7 @@ class competency_viewed extends base {
      * @return \moodle_url
      */
     public function get_url() {
-        return new \moodle_url('/admin/tool/lp/editcompetency.php', array(
-            'id' => $this->objectid,
-            'pagecontextid' => $this->contextid
-        ));
+        return \core_competency\url::competency($this->objectid, $this->contextid);
     }
 
     /**