From de3b9193fa4f850fe9f68f6e196d9663ee1bec04 Mon Sep 17 00:00:00 2001 From: Frederic Massart Date: Mon, 21 Mar 2016 15:51:43 +0800 Subject: [PATCH] MDL-53529 tool_lp: Consistent 'add' buttons for templates and courses --- admin/tool/lp/amd/build/competencies.min.js | 2 +- admin/tool/lp/amd/src/competencies.js | 2 +- admin/tool/lp/lang/en/tool_lp.php | 4 ++-- .../course_competencies_page.mustache | 18 +++++++++-------- .../template_competencies_page.mustache | 20 ++++++++++--------- 5 files changed, 25 insertions(+), 21 deletions(-) diff --git a/admin/tool/lp/amd/build/competencies.min.js b/admin/tool/lp/amd/build/competencies.min.js index 7923c0bdaa5..f403b8d6398 100644 --- a/admin/tool/lp/amd/build/competencies.min.js +++ b/admin/tool/lp/amd/build/competencies.min.js @@ -1 +1 @@ -define(["jquery","core/notification","core/ajax","core/templates","core/str","tool_lp/competencypicker","tool_lp/dragdrop-reorder"],function(a,b,c,d,e,f,g){var h=function(b,c,d){this.itemid=b,this.itemtype=c,this.pageContextId=d,this.pickerInstance=null,a('[data-region="actions"] button').show(),this.registerEvents(),this.registerDragDrop()};return h.prototype.registerDragDrop=function(){var a=this;e.get_string("movecompetency","tool_lp").done(function(b){g.dragdrop("movecompetency",b,{identifier:"movecompetency",component:"tool_lp"},{identifier:"movecompetencyafter",component:"tool_lp"},"drag-samenode","drag-parentnode","drag-handlecontainer",function(b,c){a.handleDrop.call(a,b,c)})}).fail(b.exception)},h.prototype.handleDrop=function(d,e){var f=a(d).data("id"),g=a(e).data("id"),h=this,i=[];if("course"==h.itemtype)i=c.call([{methodname:"tool_lp_reorder_course_competency",args:{courseid:h.itemid,competencyidfrom:f,competencyidto:g}}]);else if("template"==h.itemtype)i=c.call([{methodname:"tool_lp_reorder_template_competency",args:{templateid:h.itemid,competencyidfrom:f,competencyidto:g}}]);else{if("plan"!=h.itemtype)return null;i=c.call([{methodname:"tool_lp_reorder_plan_competency",args:{planid:h.itemid,competencyidfrom:f,competencyidto:g}}])}i[0].fail(b.exception)},h.prototype.pickCompetency=function(){var e,g,h,i=this;i.pickerInstance||(i.pickerInstance=new f(i.pageContextId,void 0,"course"===i.itemtype?"parents":void 0),i.pickerInstance.on("save",function(f,j){var k=j.competencyIds;"course"===i.itemtype?(e=[],a.each(k,function(a,b){e.push({methodname:"tool_lp_add_competency_to_course",args:{courseid:i.itemid,competencyid:b}})}),e.push({methodname:"tool_lp_data_for_course_competencies_page",args:{courseid:i.itemid}}),g="tool_lp/course_competencies_page",h="coursecompetenciespage"):"template"===i.itemtype?(e=[],a.each(k,function(a,b){e.push({methodname:"tool_lp_add_competency_to_template",args:{templateid:i.itemid,competencyid:b}})}),e.push({methodname:"tool_lp_data_for_template_competencies_page",args:{templateid:i.itemid,pagecontext:{contextid:i.pageContextId}}}),g="tool_lp/template_competencies_page",h="templatecompetenciespage"):"plan"===i.itemtype&&(e=[],a.each(k,function(a,b){e.push({methodname:"tool_lp_add_competency_to_plan",args:{planid:i.itemid,competencyid:b}})}),e.push({methodname:"tool_lp_data_for_plan_page",args:{planid:i.itemid}}),g="tool_lp/plan_page",h="plan-page"),c.call(e)[e.length-1].then(function(b){return d.render(g,b).done(function(b,c){a('[data-region="'+h+'"]').replaceWith(b),d.runTemplateJS(c)})},b.exception)})),i.pickerInstance.display()},h.prototype.doDelete=function(e){var f=this,g=[],h="",i="";"course"==f.itemtype?(g=c.call([{methodname:"tool_lp_remove_competency_from_course",args:{courseid:f.itemid,competencyid:e}},{methodname:"tool_lp_data_for_course_competencies_page",args:{courseid:f.itemid}}]),h="tool_lp/course_competencies_page",i="coursecompetenciespage"):"template"==f.itemtype?(g=c.call([{methodname:"tool_lp_remove_competency_from_template",args:{templateid:f.itemid,competencyid:e}},{methodname:"tool_lp_data_for_template_competencies_page",args:{templateid:f.itemid,pagecontext:{contextid:f.pageContextId}}}]),h="tool_lp/template_competencies_page",i="templatecompetenciespage"):"plan"==f.itemtype&&(g=c.call([{methodname:"tool_lp_remove_competency_from_plan",args:{planid:f.itemid,competencyid:e}},{methodname:"tool_lp_data_for_plan_page",args:{planid:f.itemid}}]),h="tool_lp/plan_page",i="plan-page"),g[1].done(function(c){d.render(h,c).done(function(b,c){a('[data-region="'+i+'"]').replaceWith(b),d.runTemplateJS(c)}).fail(b.exception)}).fail(b.exception)},h.prototype.deleteHandler=function(a){var d,f=this,g=[];if("course"==f.itemtype)d="unlinkcompetencycourse";else if("template"==f.itemtype)d="unlinkcompetencytemplate";else{if("plan"!=f.itemtype)return;d="unlinkcompetencyplan"}g=c.call([{methodname:"tool_lp_read_competency",args:{id:a}}]),g[0].done(function(c){e.get_strings([{key:"confirm",component:"moodle"},{key:d,component:"tool_lp",param:c.shortname},{key:"confirm",component:"moodle"},{key:"cancel",component:"moodle"}]).done(function(c){b.confirm(c[0],c[1],c[2],c[3],function(){f.doDelete(a)})}).fail(b.exception)}).fail(b.exception)},h.prototype.registerEvents=function(){var e=this;"course"==e.itemtype&&a('[data-region="coursecompetenciespage"]').on("change",'select[data-field="ruleoutcome"]',function(f){var g=[],h="tool_lp/course_competencies_page",i="coursecompetenciespage",j=a(f.target).data("id"),k=a(f.target).val();g=c.call([{methodname:"tool_lp_set_course_competency_ruleoutcome",args:{coursecompetencyid:j,ruleoutcome:k}},{methodname:"tool_lp_data_for_course_competencies_page",args:{courseid:e.itemid}}]),g[1].done(function(c){d.render(h,c).done(function(b,c){a('[data-region="'+i+'"]').replaceWith(b),d.runTemplateJS(c)}).fail(b.exception)}).fail(b.exception)}),a('[data-region="actions"] button').click(function(a){a.preventDefault(),e.pickCompetency()}),a('[data-action="delete-competency-link"]').click(function(b){b.preventDefault();var c=a(b.target).closest("[data-id]").data("id");e.deleteHandler(c)})},h}); \ No newline at end of file +define(["jquery","core/notification","core/ajax","core/templates","core/str","tool_lp/competencypicker","tool_lp/dragdrop-reorder"],function(a,b,c,d,e,f,g){var h=function(b,c,d){this.itemid=b,this.itemtype=c,this.pageContextId=d,this.pickerInstance=null,a('[data-region="actions"] button').prop("disabled",!1),this.registerEvents(),this.registerDragDrop()};return h.prototype.registerDragDrop=function(){var a=this;e.get_string("movecompetency","tool_lp").done(function(b){g.dragdrop("movecompetency",b,{identifier:"movecompetency",component:"tool_lp"},{identifier:"movecompetencyafter",component:"tool_lp"},"drag-samenode","drag-parentnode","drag-handlecontainer",function(b,c){a.handleDrop.call(a,b,c)})}).fail(b.exception)},h.prototype.handleDrop=function(d,e){var f=a(d).data("id"),g=a(e).data("id"),h=this,i=[];if("course"==h.itemtype)i=c.call([{methodname:"tool_lp_reorder_course_competency",args:{courseid:h.itemid,competencyidfrom:f,competencyidto:g}}]);else if("template"==h.itemtype)i=c.call([{methodname:"tool_lp_reorder_template_competency",args:{templateid:h.itemid,competencyidfrom:f,competencyidto:g}}]);else{if("plan"!=h.itemtype)return null;i=c.call([{methodname:"tool_lp_reorder_plan_competency",args:{planid:h.itemid,competencyidfrom:f,competencyidto:g}}])}i[0].fail(b.exception)},h.prototype.pickCompetency=function(){var e,g,h,i=this;i.pickerInstance||(i.pickerInstance=new f(i.pageContextId,void 0,"course"===i.itemtype?"parents":void 0),i.pickerInstance.on("save",function(f,j){var k=j.competencyIds;"course"===i.itemtype?(e=[],a.each(k,function(a,b){e.push({methodname:"tool_lp_add_competency_to_course",args:{courseid:i.itemid,competencyid:b}})}),e.push({methodname:"tool_lp_data_for_course_competencies_page",args:{courseid:i.itemid}}),g="tool_lp/course_competencies_page",h="coursecompetenciespage"):"template"===i.itemtype?(e=[],a.each(k,function(a,b){e.push({methodname:"tool_lp_add_competency_to_template",args:{templateid:i.itemid,competencyid:b}})}),e.push({methodname:"tool_lp_data_for_template_competencies_page",args:{templateid:i.itemid,pagecontext:{contextid:i.pageContextId}}}),g="tool_lp/template_competencies_page",h="templatecompetenciespage"):"plan"===i.itemtype&&(e=[],a.each(k,function(a,b){e.push({methodname:"tool_lp_add_competency_to_plan",args:{planid:i.itemid,competencyid:b}})}),e.push({methodname:"tool_lp_data_for_plan_page",args:{planid:i.itemid}}),g="tool_lp/plan_page",h="plan-page"),c.call(e)[e.length-1].then(function(b){return d.render(g,b).done(function(b,c){a('[data-region="'+h+'"]').replaceWith(b),d.runTemplateJS(c)})},b.exception)})),i.pickerInstance.display()},h.prototype.doDelete=function(e){var f=this,g=[],h="",i="";"course"==f.itemtype?(g=c.call([{methodname:"tool_lp_remove_competency_from_course",args:{courseid:f.itemid,competencyid:e}},{methodname:"tool_lp_data_for_course_competencies_page",args:{courseid:f.itemid}}]),h="tool_lp/course_competencies_page",i="coursecompetenciespage"):"template"==f.itemtype?(g=c.call([{methodname:"tool_lp_remove_competency_from_template",args:{templateid:f.itemid,competencyid:e}},{methodname:"tool_lp_data_for_template_competencies_page",args:{templateid:f.itemid,pagecontext:{contextid:f.pageContextId}}}]),h="tool_lp/template_competencies_page",i="templatecompetenciespage"):"plan"==f.itemtype&&(g=c.call([{methodname:"tool_lp_remove_competency_from_plan",args:{planid:f.itemid,competencyid:e}},{methodname:"tool_lp_data_for_plan_page",args:{planid:f.itemid}}]),h="tool_lp/plan_page",i="plan-page"),g[1].done(function(c){d.render(h,c).done(function(b,c){a('[data-region="'+i+'"]').replaceWith(b),d.runTemplateJS(c)}).fail(b.exception)}).fail(b.exception)},h.prototype.deleteHandler=function(a){var d,f=this,g=[];if("course"==f.itemtype)d="unlinkcompetencycourse";else if("template"==f.itemtype)d="unlinkcompetencytemplate";else{if("plan"!=f.itemtype)return;d="unlinkcompetencyplan"}g=c.call([{methodname:"tool_lp_read_competency",args:{id:a}}]),g[0].done(function(c){e.get_strings([{key:"confirm",component:"moodle"},{key:d,component:"tool_lp",param:c.shortname},{key:"confirm",component:"moodle"},{key:"cancel",component:"moodle"}]).done(function(c){b.confirm(c[0],c[1],c[2],c[3],function(){f.doDelete(a)})}).fail(b.exception)}).fail(b.exception)},h.prototype.registerEvents=function(){var e=this;"course"==e.itemtype&&a('[data-region="coursecompetenciespage"]').on("change",'select[data-field="ruleoutcome"]',function(f){var g=[],h="tool_lp/course_competencies_page",i="coursecompetenciespage",j=a(f.target).data("id"),k=a(f.target).val();g=c.call([{methodname:"tool_lp_set_course_competency_ruleoutcome",args:{coursecompetencyid:j,ruleoutcome:k}},{methodname:"tool_lp_data_for_course_competencies_page",args:{courseid:e.itemid}}]),g[1].done(function(c){d.render(h,c).done(function(b,c){a('[data-region="'+i+'"]').replaceWith(b),d.runTemplateJS(c)}).fail(b.exception)}).fail(b.exception)}),a('[data-region="actions"] button').click(function(a){a.preventDefault(),e.pickCompetency()}),a('[data-action="delete-competency-link"]').click(function(b){b.preventDefault();var c=a(b.target).closest("[data-id]").data("id");e.deleteHandler(c)})},h}); \ No newline at end of file diff --git a/admin/tool/lp/amd/src/competencies.js b/admin/tool/lp/amd/src/competencies.js index bc06b55580f..73f67e77a82 100644 --- a/admin/tool/lp/amd/src/competencies.js +++ b/admin/tool/lp/amd/src/competencies.js @@ -42,7 +42,7 @@ define(['jquery', this.pageContextId = pagectxid; this.pickerInstance = null; - $('[data-region="actions"] button').show(); + $('[data-region="actions"] button').prop('disabled', false); this.registerEvents(); this.registerDragDrop(); }; diff --git a/admin/tool/lp/lang/en/tool_lp.php b/admin/tool/lp/lang/en/tool_lp.php index 7e65e3967ea..b1bee6bd937 100644 --- a/admin/tool/lp/lang/en/tool_lp.php +++ b/admin/tool/lp/lang/en/tool_lp.php @@ -26,6 +26,7 @@ $string['actions'] = 'Actions'; $string['activities'] = 'Activities'; $string['addcohorts'] = 'Add cohorts'; $string['addcompetency'] = 'Add competency'; +$string['addcoursecompetencies'] = 'Add competencies to course'; $string['addcrossreferencedcompetency'] = 'Add cross-referenced competency'; $string['addingcompetencywillresetparentrule'] = 'Adding a new competency will remove the rule set on \'{$a}\'. Do you want to continue?'; $string['addnewcompetency'] = 'Add new competency'; @@ -33,6 +34,7 @@ $string['addnewcompetencyframework'] = 'Add new competency framework'; $string['addnewplan'] = 'Add new learning plan'; $string['addnewtemplate'] = 'Add new learning plan template'; $string['addnewuserevidence'] = 'Add new evidence'; +$string['addtemplatecompetencies'] = 'Add competencies to learning plan template'; $string['aisrequired'] = '\'{$a}\' is required'; $string['allchildrenarecomplete'] = 'All children are complete'; $string['aplanswerecreated'] = '{$a} plans were created.'; @@ -190,11 +192,9 @@ $string['learningplans'] = 'Learning plans'; $string['levela'] = 'Level {$a}'; $string['linkcompetency'] = 'Link competency'; $string['linkcompetencies'] = 'Link competencies'; -$string['linkcoursecompetencies'] = 'Link course competencies'; $string['linkedcompetencies'] = 'Linked competencies'; $string['linkedcourses'] = 'Linked courses'; $string['linkedcourseslist'] = 'Linked courses:'; -$string['linktemplatecompetencies'] = 'Link template competencies'; $string['listcompetencyframeworkscaption'] = 'List of competency frameworks'; $string['listofevidence'] = 'List of evidence'; $string['listplanscaption'] = 'List of learning plans'; diff --git a/admin/tool/lp/templates/course_competencies_page.mustache b/admin/tool/lp/templates/course_competencies_page.mustache index cfc8b88583b..8223806d927 100644 --- a/admin/tool/lp/templates/course_competencies_page.mustache +++ b/admin/tool/lp/templates/course_competencies_page.mustache @@ -18,6 +18,13 @@ Course competencies template. }}
+
+
+ {{#canmanagecoursecompetencies}} + + {{/canmanagecoursecompetencies}} +
+
@@ -83,14 +90,9 @@ {{/competencies}}
-
-{{#canmanagecoursecompetencies}} - -{{/canmanagecoursecompetencies}} -
-{{#canmanagecompetencyframeworks}} -

{{#str}}managecompetenciesandframeworks, tool_lp{{/str}}

-{{/canmanagecompetencyframeworks}} + {{#canmanagecompetencyframeworks}} +

{{#str}}managecompetenciesandframeworks, tool_lp{{/str}}

+ {{/canmanagecompetencyframeworks}}
{{#js}} diff --git a/admin/tool/lp/templates/template_competencies_page.mustache b/admin/tool/lp/templates/template_competencies_page.mustache index c974328963d..12e07680dc2 100644 --- a/admin/tool/lp/templates/template_competencies_page.mustache +++ b/admin/tool/lp/templates/template_competencies_page.mustache @@ -21,18 +21,13 @@ {{#statistics}} {{> tool_lp/template_statistics }} {{/statistics}} -
- {{#canmanagecompetencyframeworks}} + {{#canmanagetemplatecompetencies}} +
-

{{#str}}managecompetenciesandframeworks, tool_lp{{/str}}

+
- {{/canmanagecompetencyframeworks}} - {{#canmanagetemplatecompetencies}} -

- -

- {{/canmanagetemplatecompetencies}}
+ {{/canmanagetemplatecompetencies}}
@@ -71,6 +66,13 @@

{{/competencies}}
+
+ {{#canmanagecompetencyframeworks}} + + {{/canmanagecompetencyframeworks}} +
{{#js}} require(['tool_lp/competencies'], function(mod) {