MDL-53700 competency: Migrating other competency related plugins

This commit is contained in:
Frederic Massart
2016-04-18 11:06:00 +08:00
parent ca94bcdbdb
commit a6a722d4ba
23 changed files with 65 additions and 59 deletions
+1 -1
View File
@@ -25,7 +25,7 @@ namespace tool_cohortroles;
use stdClass;
use context_system;
use tool_lp\invalid_persistent_exception;
use core_competency\invalid_persistent_exception;
/**
* Class for doing things with cohort roles.
@@ -24,7 +24,7 @@
namespace tool_cohortroles;
use lang_string;
use tool_lp\persistent;
use core_competency\persistent;
/**
* Class for loading/storing cohort_role_assignments from the DB.
+1 -1
View File
@@ -75,7 +75,7 @@ class tool_cohortroles_api_testcase extends advanced_testcase {
}
public function test_create_cohort_role_assignment_with_invalid_data() {
$this->setExpectedException('tool_lp\invalid_persistent_exception');
$this->setExpectedException('core_competency\invalid_persistent_exception');
$this->setAdminUser();
$params = (object) array(
'userid' => $this->userassignto->id,
@@ -25,7 +25,7 @@
namespace tool_lpmigrate;
defined('MOODLE_INTERNAL') || die();
use tool_lp\api;
use core_competency\api;
/**
* Framework mapper class.
@@ -27,10 +27,10 @@ defined('MOODLE_INTERNAL') || die();
use coding_exception;
use moodle_exception;
use tool_lp\api;
use tool_lp\competency;
use tool_lp\course_competency;
use tool_lp\course_module_competency;
use core_competency\api;
use core_competency\competency;
use core_competency\course_competency;
use core_competency\course_module_competency;
/**
* Processor class.
@@ -31,8 +31,10 @@ use moodle_url;
use renderable;
use templatable;
use stdClass;
use tool_lp\competency;
use tool_lp\competency_framework;
use core_competency\competency;
use core_competency\competency_framework;
use core_competency\external\competency_exporter;
use core_competency\external\competency_framework_exporter;
use tool_lpmigrate\framework_processor;
/**
@@ -95,9 +97,9 @@ class migrate_framework_results implements renderable, templatable {
$data->unmappedfrom = array();
$data->unmappedto = array();
$exporter = new \tool_lp\external\competency_framework_exporter($this->frameworkfrom);
$exporter = new competency_framework_exporter($this->frameworkfrom);
$data->frameworkfrom = $exporter->export($output);
$exporter = new \tool_lp\external\competency_framework_exporter($this->frameworkto);
$exporter = new competency_framework_exporter($this->frameworkto);
$data->frameworkto = $exporter->export($output);
$fromcontext = $this->frameworkfrom->get_context();
@@ -105,12 +107,12 @@ class migrate_framework_results implements renderable, templatable {
$compcontext = null;
foreach ($this->unmappedfrom as $comp) {
$exporter = new \tool_lp\external\competency_exporter($comp, array('context' => $fromcontext));
$exporter = new competency_exporter($comp, array('context' => $fromcontext));
$data->unmappedfrom[] = $exporter->export($output);
}
foreach ($this->unmappedto as $comp) {
$exporter = new \tool_lp\external\competency_exporter($comp, array('context' => $tocontext));
$exporter = new competency_exporter($comp, array('context' => $tocontext));
$data->unmappedto[] = $exporter->export($output);
}
+2 -1
View File
@@ -67,7 +67,8 @@ if ($form->is_cancelled()) {
$unmappedfrom = $mapper->get_unmapped_objects_from();
$unmappedto = $mapper->get_unmapped_objects_to();
$renderable = new \tool_lpmigrate\output\migrate_framework_results($context, $processor,
\tool_lp\api::read_framework($data->from), \tool_lp\api::read_framework($data->to), $unmappedfrom, $unmappedto);
\core_competency\api::read_framework($data->from), \core_competency\api::read_framework($data->to),
$unmappedfrom, $unmappedto);
echo $output->render($renderable);
} else {
+4 -2
View File
@@ -23,7 +23,9 @@
*/
defined('MOODLE_INTERNAL') || die();
if (\tool_lp\api::is_enabled()) {
if (\core_competency\api::is_enabled()) {
$parentname = 'competencies';
// Manage competency frameworks page.
$temp = new admin_externalpage(
@@ -32,6 +34,6 @@ if (\tool_lp\api::is_enabled()) {
new moodle_url('/admin/tool/lpmigrate/frameworks.php'),
array('tool/lpmigrate:frameworksmigrate')
);
$ADMIN->add('toollprootpage', $temp);
$ADMIN->add($parentname, $temp);
}
@@ -25,10 +25,10 @@
defined('MOODLE_INTERNAL') || die();
global $CFG;
use \tool_lp\course_competency;
use \tool_lp\course_module_competency;
use \tool_lpmigrate\framework_mapper;
use \tool_lpmigrate\framework_processor;
use core_competency\course_competency;
use core_competency\course_module_competency;
use tool_lpmigrate\framework_mapper;
use tool_lpmigrate\framework_processor;
/**
* Framework processor testcase.
@@ -49,7 +49,7 @@ class tool_lpmigrate_framework_processor_testcase extends advanced_testcase {
public function setUp() {
$this->resetAfterTest(true);
$dg = $this->getDataGenerator();
$lpg = $dg->get_plugin_generator('tool_lp');
$lpg = $dg->get_plugin_generator('core_competency');
$f1 = $lpg->create_framework(array('idnumber' => 'BIO2015'));
$f2 = $lpg->create_framework(array('idnumber' => 'BIO2016'));
@@ -313,7 +313,7 @@ class tool_lpmigrate_framework_processor_testcase extends advanced_testcase {
public function test_destination_competency_exists() {
$this->setAdminUser();
$lpg = $this->getDataGenerator()->get_plugin_generator('tool_lp');
$lpg = $this->getDataGenerator()->get_plugin_generator('core_competency');
// Pre-add the new competency to course 1.
$lpg->create_course_competency(array('courseid' => $this->c1->id, 'competencyid' => $this->f2comps['A1']->get_id()));
@@ -361,7 +361,7 @@ class tool_lpmigrate_framework_processor_testcase extends advanced_testcase {
public function test_destination_competency_exists_remove_original() {
$this->setAdminUser();
$lpg = $this->getDataGenerator()->get_plugin_generator('tool_lp');
$lpg = $this->getDataGenerator()->get_plugin_generator('core_competency');
// Pre-add the new competency to course 1.
$lpg->create_course_competency(array('courseid' => $this->c1->id, 'competencyid' => $this->f2comps['A1']->get_id()));
@@ -410,7 +410,7 @@ class tool_lpmigrate_framework_processor_testcase extends advanced_testcase {
$dg->enrol_user($u->id, $this->c1->id, 'editingteacher');
$dg->enrol_user($u->id, $this->c2->id, 'editingteacher');
assign_capability('tool/lp:coursecompetencymanage', CAP_PROHIBIT, $role, $sysctx->id);
assign_capability('moodle/competency:coursecompetencymanage', CAP_PROHIBIT, $role, $sysctx->id);
role_assign($role, $u->id, context_course::instance($this->c1->id)->id);
role_assign($role, $u->id, context_module::instance($this->cms[$this->c2->id]['F1']->cmid)->id);
+1 -1
View File
@@ -28,5 +28,5 @@ $plugin->version = 2016022401; // The current plugin version (Date: YYYYMMDDXX
$plugin->requires = 2014110400; // Requires this Moodle version.
$plugin->component = 'tool_lpmigrate'; // Full name of the plugin (used for diagnostics).
$plugin->dependencies = array(
'tool_lp' => 2016020904
'tool_lp' => ANY_VERSION
);
+1 -1
View File
@@ -60,6 +60,7 @@ class block_lp extends block_base {
if (isset($this->content)) {
return $this->content;
}
$this->content = new stdClass();
$summary = new \block_lp\output\summary();
if (!$summary->has_content()) {
@@ -67,7 +68,6 @@ class block_lp extends block_base {
}
$renderer = $this->page->get_renderer('block_lp');
$this->content = new stdClass();
$this->content->text = $renderer->render($summary);
$this->content->footer = '';
@@ -28,11 +28,11 @@ use renderable;
use templatable;
use renderer_base;
use stdClass;
use tool_lp\api;
use tool_lp\external\competency_exporter;
use tool_lp\external\user_competency_exporter;
use tool_lp\external\user_summary_exporter;
use moodle_url;
use core_competency\api;
use core_competency\external\competency_exporter;
use core_competency\external\user_competency_exporter;
use core_competency\external\user_summary_exporter;
/**
* Competencies to review renderable class.
@@ -28,10 +28,10 @@ use renderable;
use templatable;
use renderer_base;
use stdClass;
use tool_lp\api;
use tool_lp\external\plan_exporter;
use tool_lp\external\user_summary_exporter;
use moodle_url;
use core_competency\api;
use core_competency\external\plan_exporter;
use core_competency\external\user_summary_exporter;
/**
* Plans to review renderable class.
+7 -6
View File
@@ -25,11 +25,12 @@
namespace block_lp\output;
defined('MOODLE_INTERNAL') || die();
use tool_lp\api;
use tool_lp\external\competency_exporter;
use tool_lp\external\plan_exporter;
use tool_lp\external\user_competency_exporter;
use tool_lp\external\user_summary_exporter;
use core_competency\api;
use core_competency\external\competency_exporter;
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 renderable;
use renderer_base;
use templatable;
@@ -81,7 +82,7 @@ class summary implements renderable, templatable {
if (count($plans) >= 3) {
break;
}
if ($plan->get_status() == \tool_lp\plan::STATUS_ACTIVE) {
if ($plan->get_status() == plan::STATUS_ACTIVE) {
$plans[] = $plan;
}
}
+1 -1
View File
@@ -28,5 +28,5 @@ $plugin->version = 2016011100;
$plugin->requires = 2014110400;
$plugin->component = 'block_lp';
$plugin->dependencies = array(
'tool_lp' => 2015111035
'tool_lp' => ANY_VERSION
);
+1 -1
View File
@@ -1 +1 @@
define(["jquery","core/notification","core/str","core/ajax","core/log","core/templates","tool_lp/dialogue"],function(a,b,c,d,e,f,g){var h=function(b,c){this._regionSelector=b,this._userCompetencySelector=c,a(this._regionSelector).on("click",this._userCompetencySelector,this._handleClick.bind(this))};return h.prototype._handleClick=function(c){var f=a(c.target).closest(this._userCompetencySelector),g=a(f).data("competencyid"),h=a(f).data("courseid"),i=a(f).data("userid");e.debug("Clicked on cell: competencyId="+g+", courseId="+h+", userId="+i);var j=d.call([{methodname:"tool_lp_data_for_user_competency_summary_in_course",args:{userid:i,competencyid:g,courseid:h},done:this._contextLoaded.bind(this),fail:b.exception}]);j[0].then(function(){d.call([{methodname:"tool_lp_user_competency_viewed_in_course",args:{userid:i,competencyid:g,courseid:h},fail:b.exception}])})},h.prototype._contextLoaded=function(a){var d=this;a.displayuser=!0,f.render("tool_lp/user_competency_summary_in_course",a).done(function(a,e){c.get_string("usercompetencysummary","report_competency").done(function(b){new g(b,a,f.runTemplateJS.bind(f,e),d._refresh.bind(d),!0)}).fail(b.exception)}).fail(b.exception)},h.prototype._refresh=function(){var c=a(this._regionSelector),e=c.data("courseid"),f=c.data("userid");d.call([{methodname:"report_competency_data_for_report",args:{courseid:e,userid:f},done:this._pageContextLoaded.bind(this),fail:b.exception}])},h.prototype._pageContextLoaded=function(a){var c=this;f.render("report_competency/report",a).done(function(a,b){f.replaceNode(c._regionSelector,a,b)}).fail(b.exception)},h.prototype._regionSelector=null,h.prototype._userCompetencySelector=null,h});
define(["jquery","core/notification","core/str","core/ajax","core/log","core/templates","tool_lp/dialogue"],function(a,b,c,d,e,f,g){var h=function(b,c){this._regionSelector=b,this._userCompetencySelector=c,a(this._regionSelector).on("click",this._userCompetencySelector,this._handleClick.bind(this))};return h.prototype._handleClick=function(c){var f=a(c.target).closest(this._userCompetencySelector),g=a(f).data("competencyid"),h=a(f).data("courseid"),i=a(f).data("userid");e.debug("Clicked on cell: competencyId="+g+", courseId="+h+", userId="+i);var j=d.call([{methodname:"tool_lp_data_for_user_competency_summary_in_course",args:{userid:i,competencyid:g,courseid:h},done:this._contextLoaded.bind(this),fail:b.exception}]);j[0].then(function(){d.call([{methodname:"core_competency_user_competency_viewed_in_course",args:{userid:i,competencyid:g,courseid:h},fail:b.exception}])})},h.prototype._contextLoaded=function(a){var d=this;a.displayuser=!0,f.render("tool_lp/user_competency_summary_in_course",a).done(function(a,e){c.get_string("usercompetencysummary","report_competency").done(function(b){new g(b,a,f.runTemplateJS.bind(f,e),d._refresh.bind(d),!0)}).fail(b.exception)}).fail(b.exception)},h.prototype._refresh=function(){var c=a(this._regionSelector),e=c.data("courseid"),f=c.data("userid");d.call([{methodname:"report_competency_data_for_report",args:{courseid:e,userid:f},done:this._pageContextLoaded.bind(this),fail:b.exception}])},h.prototype._pageContextLoaded=function(a){var c=this;f.render("report_competency/report",a).done(function(a,b){f.replaceNode(c._regionSelector,a,b)}).fail(b.exception)},h.prototype._regionSelector=null,h.prototype._userCompetencySelector=null,h});
+1 -1
View File
@@ -61,7 +61,7 @@ define(['jquery', 'core/notification', 'core/str', 'core/ajax', 'core/log', 'cor
// Log the user competency viewed in course event.
requests[0].then(function(){
ajax.call([{
methodname : 'tool_lp_user_competency_viewed_in_course',
methodname : 'core_competency_user_competency_viewed_in_course',
args: { userid: userId, competencyid: competencyId, courseid: courseId },
fail: notification.exception
}]);
+3 -3
View File
@@ -33,10 +33,10 @@ use external_function_parameters;
use external_multiple_structure;
use external_single_structure;
use external_value;
use core_competency\external\user_competency_course_exporter;
use core_competency\external\user_summary_exporter;
use tool_lp\external\competency_summary_exporter;
use tool_lp\external\course_summary_exporter;
use tool_lp\external\user_competency_course_exporter;
use tool_lp\external\user_summary_exporter;
/**
* This is the external API for this report.
@@ -88,7 +88,7 @@ class external extends external_api {
);
$context = context_course::instance($params['courseid']);
self::validate_context($context);
if (!is_enrolled($context, $params['userid'], 'tool/lp:coursecompetencygradable')) {
if (!is_enrolled($context, $params['userid'], 'moodle/competency:coursecompetencygradable')) {
throw new coding_exception('invaliduser');
}
+6 -6
View File
@@ -24,18 +24,18 @@
namespace report_competency\output;
use context_course;
use tool_lp\external\competency_summary_exporter;
use tool_lp\external\course_summary_exporter;
use tool_lp\external\user_competency_course_exporter;
use tool_lp\external\user_summary_exporter;
use tool_lp\user_competency;
use renderable;
use core_user;
use templatable;
use renderer_base;
use moodle_url;
use stdClass;
use tool_lp\api;
use core_competency\api;
use core_competency\external\user_competency_course_exporter;
use core_competency\external\user_summary_exporter;
use core_competency\user_competency;
use tool_lp\external\competency_summary_exporter;
use tool_lp\external\course_summary_exporter;
/**
* Class containing data for learning plan template competencies page
@@ -27,7 +27,7 @@ use renderable;
use renderer_base;
use templatable;
use context_course;
use \tool_lp\external\user_summary_exporter;
use core_competency\external\user_summary_exporter;
use stdClass;
/**
@@ -78,7 +78,7 @@ class user_course_navigation implements renderable, templatable {
$data->baseurl = $this->baseurl;
$data->groupselector = '';
if (has_capability('tool/lp:coursecompetencymanage', $context)) {
if (has_capability('moodle/competency:coursecompetencymanage', $context)) {
$course = $DB->get_record('course', array('id' => $this->courseid));
$currentgroup = groups_get_course_group($course, true);
if ($currentgroup !== false) {
@@ -93,7 +93,7 @@ class user_course_navigation implements renderable, templatable {
// Fetch current active group.
$groupmode = groups_get_course_groupmode($course);
$users = get_enrolled_users($context, 'tool/lp:coursecompetencygradable', $currentgroup,
$users = get_enrolled_users($context, 'moodle/competency:coursecompetencygradable', $currentgroup,
'u.*', null, 0, 0, $showonlyactiveenrol);
$data->users = array();
+1 -1
View File
@@ -36,7 +36,7 @@ $functions = array(
'classpath' => '',
'description' => 'Load the data for the competency report in a course.',
'type' => 'read',
'capabilities' => 'tool/lp:coursecompetencyview',
'capabilities' => 'moodle/competency:coursecompetencyview',
'ajax' => true,
)
);
+2 -2
View File
@@ -36,14 +36,14 @@ $currentuser = optional_param('user', null, PARAM_INT);
$groupmode = groups_get_course_groupmode($course);
$currentgroup = groups_get_course_group($course, true);
if (empty($currentuser)) {
$gradable = get_enrolled_users($context, 'tool/lp:coursecompetencygradable', $currentgroup, 'u.id', null, 0, 1);
$gradable = get_enrolled_users($context, 'moodle/competency:coursecompetencygradable', $currentgroup, 'u.id', null, 0, 1);
if (empty($gradable)) {
$currentuser = 0;
} else {
$currentuser = array_pop($gradable)->id;
}
} else {
$gradable = get_enrolled_users($context, 'tool/lp:coursecompetencygradable', $currentgroup, 'u.id');
$gradable = get_enrolled_users($context, 'moodle/competency:coursecompetencygradable', $currentgroup, 'u.id');
if (count($gradable) == 0) {
$currentuser = 0;
} else if (!in_array($currentuser, array_keys($gradable))) {
+1 -1
View File
@@ -34,7 +34,7 @@ defined('MOODLE_INTERNAL') || die;
* @param stdClass $context The context of the course
*/
function report_competency_extend_navigation_course($navigation, $course, $context) {
if (has_capability('tool/lp:coursecompetencyview', $context)) {
if (has_capability('moodle/competency:coursecompetencyview', $context)) {
$url = new moodle_url('/report/competency/index.php', array('id' => $course->id));
$name = get_string('pluginname', 'report_competency');
$navigation->add($name, $url, navigation_node::TYPE_SETTING, null, null, new pix_icon('i/report', ''));