MDL-51967 cbe: Fix some wonky service descriptions

Some of the webservices return data is not matching it's signature.
Also some of the templates/contexts needed aligning.
This commit is contained in:
Damyon Wiese
2016-04-18 10:58:45 +08:00
committed by Frederic Massart
parent 49c5b8b440
commit 721813033d
6 changed files with 30 additions and 18 deletions
+1 -1
View File
@@ -1 +1 @@
define(["jquery","core/notification","core/ajax","core/templates","core/str","tool_lp/dialogue"],function(a,b,c,d,e,f){var g=function(b){this.options={includerelated:!1,includecourses:!1},a.extend(this.options,b)};return g.prototype.enhanceDialogue=function(a){var b=new g({includerelated:!1});b.watch(a.getContent())},g.prototype.showDialogue=function(a){var c=this.getCompetencyDataPromise(a),e=this;c.done(function(a){d.render("tool_lp/competency_summary",a).done(function(b){new f(a.shortname,b,e.enhanceDialogue)}).fail(b.exception)}).fail(b.exception)},g.prototype.showDialogueFromData=function(a){var c=this;d.render("tool_lp/competency_summary",a).done(function(b){new f(a.shortname,b,c.enhanceDialogue)}).fail(b.exception)},g.prototype.clickEventHandler=function(b){var c=b.data.compdialogue,d=a(b.target).data("id");c.showDialogue(d),b.preventDefault()},g.prototype.getCompetencyDataPromise=function(a){var d=c.call([{methodname:"tool_lp_data_for_competency_summary",args:{competencyid:a,includerelated:this.options.includerelated,includecourses:this.options.includecourses}}]);return d[0].then(function(a){return a}).fail(b.exception)},g.prototype.watch=function(b){a(b).off("click",'[data-action="competency-dialogue"]',this.clickEventHandler),a(b).on("click",'[data-action="competency-dialogue"]',{compdialogue:this},this.clickEventHandler)},g});
define(["jquery","core/notification","core/ajax","core/templates","core/str","tool_lp/dialogue"],function(a,b,c,d,e,f){var g=function(b){this.options={includerelated:!1,includecourses:!1},a.extend(this.options,b)};return g.prototype.enhanceDialogue=function(a){var b=new g({includerelated:!1});b.watch(a.getContent())},g.prototype.showDialogue=function(a){var c=this.getCompetencyDataPromise(a),e=this;c.done(function(a){d.render("tool_lp/competency_summary",a).done(function(b){new f(a.competency.shortname,b,e.enhanceDialogue)}).fail(b.exception)}).fail(b.exception)},g.prototype.showDialogueFromData=function(a){var c=this;d.render("tool_lp/competency_summary",a).done(function(b){new f(a.shortname,b,c.enhanceDialogue)}).fail(b.exception)},g.prototype.clickEventHandler=function(b){var c=b.data.compdialogue,d=a(b.target).data("id");c.showDialogue(d),b.preventDefault()},g.prototype.getCompetencyDataPromise=function(a){var d=c.call([{methodname:"tool_lp_data_for_competency_summary",args:{competencyid:a,includerelated:this.options.includerelated,includecourses:this.options.includecourses}}]);return d[0].then(function(a){return a}).fail(b.exception)},g.prototype.watch=function(b){a(b).off("click",'[data-action="competency-dialogue"]',this.clickEventHandler),a(b).on("click",'[data-action="competency-dialogue"]',{compdialogue:this},this.clickEventHandler)},g});
+1 -1
View File
@@ -72,7 +72,7 @@ define(['jquery',
templates.render('tool_lp/competency_summary', data)
.done(function(html) {
new Dialogue(
data.shortname,
data.competency.shortname,
html,
localthis.enhanceDialogue
);
+20 -9
View File
@@ -47,6 +47,7 @@ use tool_lp\external\user_summary_exporter;
use tool_lp\external\user_competency_exporter;
use tool_lp\external\user_competency_plan_exporter;
use tool_lp\external\competency_exporter;
use tool_lp\external\course_competency_exporter;
use tool_lp\external\course_summary_exporter;
use tool_lp\external\plan_exporter;
use tool_lp\external\template_exporter;
@@ -1625,12 +1626,13 @@ class external extends external_api {
'canmanagecoursecompetencies' => new external_value(PARAM_BOOL, 'User can manage linked course competencies'),
'competencies' => new external_multiple_structure(new external_single_structure(array(
'competency' => competency_exporter::get_read_structure(),
'coursecompetency' => competency_exporter::get_read_structure(),
'ruleoutcomeoptions' => new external_single_structure(array(
'value' => new external_value(PARAM_INT, 'The option value'),
'text' => new external_value(PARAM_NOTAGS, 'The name of the option'),
'selected' => new external_value(PARAM_BOOL, 'If this is the currently selected option'),
))
'coursecompetency' => course_competency_exporter::get_read_structure(),
'ruleoutcomeoptions' => new external_multiple_structure(
new external_single_structure(array(
'value' => new external_value(PARAM_INT, 'The option value'),
'text' => new external_value(PARAM_NOTAGS, 'The name of the option'),
'selected' => new external_value(PARAM_BOOL, 'If this is the currently selected option'),
)))
))),
'manageurl' => new external_value(PARAM_LOCALURL, 'Url to the manage competencies page.'),
));
@@ -2710,8 +2712,9 @@ class external extends external_api {
public static function data_for_template_competencies_page_returns() {
return new external_single_structure(array (
'templateid' => new external_value(PARAM_INT, 'The current template id'),
'pagecontextid' => new external_value(PARAM_INT, 'Context ID'),
'canmanagecompetencyframeworks' => new external_value(PARAM_BOOL, 'User can manage competency frameworks'),
'canmanagetemplates' => new external_value(PARAM_BOOL, 'User can manage learning plan templates'),
'canmanagetemplatecompetencies' => new external_value(PARAM_BOOL, 'User can manage learning plan templates'),
'competencies' => new external_multiple_structure(
competency_summary_exporter::get_read_structure()
),
@@ -2764,15 +2767,23 @@ class external extends external_api {
* @return \external_description
*/
public static function data_for_plan_competencies_page_returns() {
$uc = user_competency_exporter::get_read_structure();
$ucp = user_competency_plan_exporter::get_read_structure();
$uc->required = VALUE_OPTIONAL;
$ucp->required = VALUE_OPTIONAL;
return new external_single_structure(array (
'planid' => new external_value(PARAM_INT, 'Learning Plan id'),
'canmanage' => new external_value(PARAM_BOOL, 'User can manage learning plan'),
'canbeedited' => new external_value(PARAM_BOOL, 'Plan can be edited'),
'iscompleted' => new external_value(PARAM_BOOL, 'Is the plan completed'),
'contextid' => $id = new external_value(PARAM_INT, 'Context ID.'),
'competencies' => new external_multiple_structure(
new external_single_structure(array(
'competency' => competency_exporter::get_read_structure(),
'usercompetency' => user_competency_exporter::get_read_structure(),
'usercompetencyplan' => user_competency_plan_exporter::get_read_structure()
'usercompetency' => $uc,
'usercompetencyplan' => $ucp
))
)
));
@@ -62,7 +62,7 @@ class competency_summary implements renderable, templatable {
$this->competency = $competency;
$this->framework = $framework;
if ($includerelated) {
$this->relatedcompetencies = api::get_related_competencies($competency->get_id());
$this->relatedcompetencies = api::list_related_competencies($competency->get_id());
}
if ($includecourses) {
+4 -3
View File
@@ -100,12 +100,13 @@ class plan_page implements renderable, templatable {
$scale = $scales[$framework->get_scaleid()];
// Prepare the data.
$record = new stdClass();
$exporter = new competency_exporter($comp, array('context' => $framework->get_context()));
$competency = $exporter->export($output);
$record->competency = $exporter->export($output);
$exporter = new $ucexporter($usercomp, array('scale' => $scale));
$competency->$ucproperty = $exporter->export($output);
$record->$ucproperty = $exporter->export($output);
$data->competencies[] = $competency;
$data->competencies[] = $record;
}
return $data;
}
+3 -3
View File
@@ -34,14 +34,14 @@
</thead>
<tbody class="drag-parentnode">
{{#competencies}}
<tr class="drag-samenode" data-id="{{id}}">
<tr class="drag-samenode" data-id="{{competency.id}}">
<td>
{{#canmanage}}
{{#canbeedited}}
<span class="drag-handlecontainer pull-left"></span>
{{/canbeedited}}
{{/canmanage}}
<a href="#" data-action="competency-dialogue" data-id="{{id}}">{{shortname}}</a>
<a href="#" data-action="competency-dialogue" data-id="{{competency.id}}">{{competency.shortname}}</a>
</td>
{{#iscompleted}}
<td>{{usercompetencyplan.gradename}}</td>
@@ -56,7 +56,7 @@
<td>
{{#canbeedited}}
<div class="pull-left">
<a href="#" data-action="delete-competency-link" data-id="{{id}}">{{#pix}}t/delete, core, {{#str}}delete{{/str}}{{/pix}}</a>
<a href="#" data-action="delete-competency-link" data-id="{{competency.id}}">{{#pix}}t/delete, core, {{#str}}delete{{/str}}{{/pix}}</a>
</div>
{{/canbeedited}}
</td>