From bd7ee7ada46975b57dbce2c6b685b7a42ff34000 Mon Sep 17 00:00:00 2001 From: Sam Hemelryk Date: Thu, 31 Oct 2013 15:07:46 +0800 Subject: [PATCH] MDL-42629 course: moving a course now updates counts and pagination totals --- course/ajax/management.php | 22 +++++++++++++- .../moodle-course-management-debug.js | 29 +++++++++++++++++-- .../moodle-course-management-min.js | 2 +- .../moodle-course-management.js | 29 +++++++++++++++++-- course/yui/src/management/js/category.js | 29 +++++++++++++++++-- 5 files changed, 103 insertions(+), 8 deletions(-) diff --git a/course/ajax/management.php b/course/ajax/management.php index 3f85b130fe1..1051ac32bd1 100644 --- a/course/ajax/management.php +++ b/course/ajax/management.php @@ -54,7 +54,27 @@ switch ($action) { case 'movecourseintocategory': $courseid = required_param('courseid', PARAM_INT); $categoryid = required_param('categoryid', PARAM_INT); - $outcome->outcome = \core_course\management\helper::move_courses_into_category($categoryid, $courseid); + $course = get_course($courseid); + $oldcategory = coursecat::get($course->category); + $category = coursecat::get($categoryid); + $outcome->outcome = \core_course\management\helper::move_courses_into_category($category, $courseid); + $perpage = (int)get_user_preferences('coursecat_management_perpage', $CFG->coursesperpage); + $totalcourses = $oldcategory->get_courses_count(); + $totalpages = ceil($totalcourses / $perpage); + if ($totalpages == 0) { + $str = get_string('nocoursesyet'); + } else if ($totalpages == 1) { + $str = get_string('showingacourses', 'moodle', $totalcourses); + } else { + $a = new stdClass; + $a->start = ($page * $perpage) + 1; + $a->end = min((($page + 1) * $perpage), $totalcourses); + $a->total = $totalcourses; + $str = get_string('showingxofycourses', 'moodle', $a); + } + $outcome->newcatcourses = $category->get_courses_count(); + $outcome->oldcatcourses = $totalcourses; + $outcome->paginationtotals = $str; break; case 'movecourseafter' : $courseid = required_param('courseid', PARAM_INT); diff --git a/course/yui/build/moodle-course-management/moodle-course-management-debug.js b/course/yui/build/moodle-course-management/moodle-course-management-debug.js index 953ffab05e9..93212238c73 100644 --- a/course/yui/build/moodle-course-management/moodle-course-management-debug.js +++ b/course/yui/build/moodle-course-management/moodle-course-management-debug.js @@ -1246,12 +1246,15 @@ Category.prototype = { */ completeMoveCourse : function(transactionid, response, args) { var outcome = this.checkAjaxResponse(transactionid, response, args), - course; + console = this.get('console'), + category, + course, + totals; if (outcome === false) { Y.log('AJAX failed to move courses into this category: '+this.get('itemname'), 'warn', 'moodle-course-management'); return false; } - course = this.get('console').getCourseById(args.courseid); + course = console.getCourseById(args.courseid); if (!course) { Y.log('Course was moved but the course listing could not be found to reflect this', 'warn', 'moodle-course-management'); return false; @@ -1259,6 +1262,28 @@ Category.prototype = { Y.log('Moved the course ('+course.getName()+') into this category ('+this.getName()+')', 'info', 'moodle-course-management'); this.highlight(); if (course) { + if (outcome.paginationtotals) { + totals = console.get('courselisting').one('.listing-pagination-totals'); + if (totals) { + totals.set('innerHTML', outcome.paginationtotals); + } + } + if (outcome.newcatcourses !== 'undefined') { + totals = this.get('node').one('.course-count'); + if (totals) { + totals.set('innerHTML', totals.get('innerHTML').replace(/^\d+/, outcome.newcatcourses)); + } + } + if (outcome.oldcatcourses !== 'undefined') { + category = console.get('activecategoryid'); + category = console.getCategoryById(category); + if (category) { + totals = category.get('node').one('.course-count'); + if (totals) { + totals.set('innerHTML', totals.get('innerHTML').replace(/^\d+/, outcome.oldcatcourses)); + } + } + } course.remove(); } return true; diff --git a/course/yui/build/moodle-course-management/moodle-course-management-min.js b/course/yui/build/moodle-course-management/moodle-course-management-min.js index f6080c87b3e..6d52b0f98ef 100644 --- a/course/yui/build/moodle-course-management/moodle-course-management-min.js +++ b/course/yui/build/moodle-course-management/moodle-course-management-min.js @@ -1,3 +1,3 @@ YUI.add("moodle-course-management",function(e,t){function n(){n.superclass.constructor.apply(this,arguments)}function r(e){n.superclass.constructor.apply(this,[e])}function i(){i.superclass.constructor.apply(this,arguments)}function s(){s.superclass.constructor.apply(this,arguments)}function o(){o.superclass.constructor.apply(this,arguments)}n.NAME="moodle-course-management",n.CSS_PREFIX="management",n.ATTRS={element:{setter:function(t){return typeof t=="string"&&(t=e.one("#"+t)),t}},categorylisting:{value:null},courselisting:{value:null},coursedetails:{value:null},activecategoryid:{value:null},activecourseid:{value:null},categories:{setter:function(t,n){if(e.Lang.isArray(t))return t;var r=this.get(n);return r.push(t),r},value:[]},courses:{validator:function(t){return e.Lang.isArray(t)},value:[]},page:{getter:function(e,t){return e===null&&(e=this.get("element").getData(t),this.set(t,e)),e},value:null},totalpages:{getter:function(e,t){return e===null&&(e=this.get("element").getData(t),this.set(t,e)),e},value:null},totalcourses:{getter:function(e,t){return e===null&&(e=this.get("element").getData(t),this.set(t,e)),e},value:null},ajaxurl:{getter:function(e){return e===null&&(e=M.cfg.wwwroot+"/course/ajax/management.php"),e},value:null},dragdrop:{value:null}},n.prototype={categoriesinit:!1,initializer:function(){this.set("element","coursecat-management");var e=this.get("element"),t=e.one("#category-listing"),n=e.one("#course-listing"),i=null,s=null;t&&(i=t.one('.listitem[data-selected="1"]')),n&&(s=n.one('.listitem[data-selected="1"]')),this.set("categorylisting",t),this.set("courselisting",n),this.set("coursedetails",e.one("#course-detail")),i&&this.set("activecategoryid",i.getData("id")),s&&this.set("activecourseid",s.getData("id")),this.initialiseCategories(t),this.initialiseCourses(),n&&this.set("dragdrop",new r({console:this}))},initialiseCategories:function(e){var t=0;if(!e)return!1;e.all(".listitem[data-id]").each(function(e){this.set("categories",new s({node:e,console:this})),t++},this),this.categoriesinit||(this.get("categorylisting").delegate("click",this.handleCategoryDelegation,"a[data-action]",this),this.categoriesinit=!0)},initialiseCourses:function(){var e=this.getCategoryById(this.get("activecategoryid")),t=this.get("courselisting"),n=0;if(!t)return!1;if(!e)return!1;t.all(".listitem[data-id]").each(function(t){this.registerCourse(new o({node:t,console:this,category:e})),n++},this),t.delegate("click",this.handleCourseDelegation,"a[data-action]",this)},registerCourse:function(e){var t=this.get("courses");t.push(e),this.set("courses",t)},handleCourseDelegation:function(e){var t=e.currentTarget,n=t.getData("action"),r=t.ancestor(".listitem").getData("id"),i=this.getCourseById(r);i&&i.handle(n,e)},handleCategoryDelegation:function(e){var t=e.currentTarget,n=t.getData("action"),r=t.ancestor(".listitem").getData("id"),i=this.getCategoryById(r);i&&i.handle(n,e)},getCategoryById:function(e){var t,n,r=this.get("categories"),i=r.length;for(t=0;t .course-listing"),s=r?r.one("ul.ml"):null,o=i?i.one("ul.ml"):null,u=i?i.getData("canmoveoutof"):!1,a=u?n:o;if(!o)return!1;o.all("> li").each(function(e){this.initCourseListing(e,a)},this),o.setData("dd",new e.DD.Drop({node:o})),u&&s&&s.all("li > div").each(function(e){this.initCategoryListitem(e)},this),e.DD.DDM.on("drag:start",this.dragStart,this),e.DD.DDM.on("drag:end",this.dragEnd,this),e.DD.DDM.on("drag:drag",this.dragDrag,this),e.DD.DDM.on("drop:over",this.dropOver,this),e.DD.DDM.on("drop:enter",this.dropEnter,this),e.DD.DDM.on("drop:exit",this.dropExit,this),e.DD.DDM.on("drop:hit",this.dropHit,this)},initCourseListing:function(t,n){t.setData("dd",(new e.DD.Drag({node:t,target:{padding:"0 0 0 20"}})).addHandle(".drag-handle").plug(e.Plugin.DDProxy,{moveOnEnd:!1,borderStyle:!1}).plug(e.Plugin.DDConstrained,{constrain2node:n}))},initCategoryListitem:function(t){t.setData("dd",new e.DD.Drop({node:t}))},dragStart:function(e){var t=e.target,n=t.get("node"),r=t.get("dragNode");n.addClass("course-being-dragged"),r.addClass("course-being-dragged-proxy").set("innerHTML",n.one("a.coursename").get("innerHTML")),this.previoussibling=n.get("previousSibling")},dragEnd:function(e){var t=e.target,n=t.get("node");n.removeClass("course-being-dragged"),this.get("console").get("element").all("#category-listing li.highlight").removeClass("highlight")},dragDrag:function(e){var t=e.target.lastXY[1];t div a.action-moveup"),o=i.one(" > div a.action-movedown");if(!a||!o)s=i.one(" > div a.action-moveup"),f=u.one(" > div a.action-movedown"),!a&&!o?(l=e.Node.create(' '),f.replace(l),s.replace(f),l.replace(s),l.destroy()):o||s.insert(f,"after");this.updated(!0)}else window.location.reload()},movedown:function(t,n,r){var i,s,o,u,a,f,l,c=this.checkAjaxResponse(t,n,r);if(c===!1)return!1;i=this.get("node"),s=i.next(".listitem");if(s){i.insert(s,"before"),f=s.one(" > div a.action-movedown"),o=i.one(" > div a.action-moveup");if(!f||!o)a=s.one(" > div a.action-moveup"),u=i.one(" > div a.action-movedown"),!f&&!o?(l=e.Node.create(' '),a.replace(l),u.replace(a),l.replace(u),l.destroy()):o||u.insert(a,"before");this.updated(!0)}else window.location.reload()},show:function(e,t,n){var r=this.checkAjaxResponse(e,t,n);if(r===!1)return!1;this.markVisible(),this.updated()},markVisible:function(){return this.get("node").setAttribute("data-visible","1"),!0},hide:function(e,t,n){var r=this.checkAjaxResponse(e,t,n);if(r===!1)return!1;this.markHidden(),this.updated()},markHidden:function(){return this.get("node").setAttribute("data-visible","0"),!0},updated:function(e){e&&this.highlight()},highlight:function(){var e=this.get("node");e.siblings(".highlight").removeClass("highlight"),e.addClass("highlight"),this.highlighttimeout&&window.clearTimeout(this.highlighttimeout),this.highlighttimeout=window.setTimeout(function(){e.removeClass("highlight")},2500)}},e.extend(i,e.Base,i.prototype),s.NAME="moodle-course-management-category",s.CSS_PREFIX="management-category",s.ATTRS={categoryid:{getter:function(e,t){return e===null&&(e=this.get("node").getData("id"),this.set(t,e)),e},value:null,writeOnce:!0},selected:{getter:function(e,t){return e===null&&(e=this.get("node").getData(t),e===null&&(e=!1),this.set(t,e)),e},value:null},courses:{validator:function(t){return e.Lang.isArray(t)},value:[]}},s.prototype={initializer:function(){this.set("itemname","category")},getName:function(){return this.get("node").one("a.categoryname").get("innerHTML")},registerCourse:function(e){var t=this.get("courses");t.push(e),this.set("courses",t)},handle:function(e,t){var n={categoryid:this.get("categoryid")},r=this.get("console").get("activecategoryid");r&&r!==n.categoryid&&(n.selectedcategory=r);switch(e){case"moveup":t.preventDefault(),this.get("console").performAjaxAction("movecategoryup",n,this.moveup,this);break;case"movedown":t.preventDefault(),this.get("console").performAjaxAction("movecategorydown",n,this.movedown,this);break;case"show":t.preventDefault(),this.get("console").performAjaxAction("showcategory",n,this.show,this);break;case"hide":t.preventDefault(),this.get("console").performAjaxAction("hidecategory",n,this.hide,this);break;case"expand":t.preventDefault(),this.get("node").getData("expanded")==="0"&&(this.get("node").setAttribute("data-expanded","1").setData("expanded","true"),this.get("console").performAjaxAction("getsubcategorieshtml",n,this.loadSubcategories,this)),this.expand();break;case"collapse":t.preventDefault(),this.collapse();break;default:return!1}},expand:function(){var e=this.get("node"),t=e.one("a[data-action=expand]");e.removeClass("collapsed").setAttribute("aria-expanded","true"),t.setAttribute("data-action","collapse").one("img").setAttrs({src:M.util.image_url("t/switch_minus","moodle"),title:M.util.get_string("collapse","moodle"),alt:M.util.get_string("collapse","moodle")}),this.get("console").performAjaxAction("expandcategory",{categoryid:this.get("categoryid")},null,this)},collapse:function(){var e=this.get("node"),t=e.one("a[data-action=collapse]");e.addClass("collapsed").setAttribute("aria-expanded","false"),t.setAttribute("data-action","expand").one("img").setAttrs({src:M.util.image_url("t/switch_plus","moodle"),title:M.util.get_string("expand","moodle"),alt:M.util.get_string("expand","moodle")}),this.get("console").performAjaxAction("collapsecategory",{categoryid:this.get("categoryid")},null,this)},loadSubcategories:function(e,t,n){var r=this.checkAjaxResponse(e,t,n),i=this.get("node"),s=this.get("console");return r===!1?!1:(i.append(r.html),s.initialiseCategories(i),M.core&&M.core.actionmenu&&M.core.actionmenu.newDOMNode&&M.core.actionmenu.newDOMNode(i),!0)},moveCourseTo:function(t){var n=this;e.use("moodle-core-notification-confirm",function(){var e=new M.core.confirm({title:M.util.get_string("confirm","moodle"),question:M.util.get_string("confirmcoursemove","moodle",{course:t.getName(),category:n.getName()}),yesLabel:M.util.get_string("move","moodle"),noLabel:M.util.get_string("cancel","moodle")});e.on("complete-yes",function(){e.hide(),e.destroy(),this -.get("console").performAjaxAction("movecourseintocategory",{categoryid:this.get("categoryid"),courseid:t.get("courseid")},this.completeMoveCourse,this)},n),e.show()})},completeMoveCourse:function(e,t,n){var r=this.checkAjaxResponse(e,t,n),i;return r===!1?!1:(i=this.get("console").getCourseById(n.courseid),i?(this.highlight(),i&&i.remove(),!0):!1)},show:function(e,t,n){var r=this.checkAjaxResponse(e,t,n);if(r===!1)return!1;this.markVisible(),r.categoryvisibility&&this.updateChildVisibility(r.categoryvisibility),r.coursevisibility&&this.updateCourseVisiblity(r.coursevisibility),this.updated()},hide:function(e,t,n){var r=this.checkAjaxResponse(e,t,n);if(r===!1)return!1;this.markHidden(),r.categoryvisibility&&this.updateChildVisibility(r.categoryvisibility),r.coursevisibility&&this.updateCourseVisiblity(r.coursevisibility),this.updated()},updateCourseVisiblity:function(e){var t=this.get("console"),n,r;try{for(n in e)typeof e[n]=="object"&&(r=t.getCourseById(e[n].id),r&&(e[n].visible==="1"?r.markVisible():r.markHidden()))}catch(i){}return this},updateChildVisibility:function(e){var t=this.get("console"),n,r;try{for(n in e)typeof e[n]=="object"&&(r=t.getCategoryById(e[n].id),r&&(e[n].visible==="1"?r.markVisible():r.markHidden()))}catch(i){}return this}},e.extend(s,i,s.prototype),o.NAME="moodle-course-management-course",o.CSS_PREFIX="management-course",o.ATTRS={courseid:{},selected:{getter:function(e,t){return e===null&&(e=this.get("node").getData(t),this.set(t,e)),e},value:null},node:{},console:{writeOnce:"initOnly"},category:{writeOnce:"initOnly"}},o.prototype={initializer:function(){var e=this.get("node"),t=this.get("category");this.set("courseid",e.getData("id")),t&&t.registerCourse&&t.registerCourse(this),this.set("itemname","course")},getName:function(){return this.get("node").one("a.coursename").get("innerHTML")},handle:function(e,t){var n=this.get("console"),r={courseid:this.get("courseid")};switch(e){case"moveup":t.halt(),n.performAjaxAction("movecourseup",r,this.moveup,this);break;case"movedown":t.halt(),n.performAjaxAction("movecoursedown",r,this.movedown,this);break;case"show":t.halt(),n.performAjaxAction("showcourse",r,this.show,this);break;case"hide":t.halt(),n.performAjaxAction("hidecourse",r,this.hide,this);break;default:return!1}},remove:function(){this.get("console").removeCourseById(this.get("courseid")),this.get("node").remove()},moveAfter:function(e,t){var n=this.get("console"),r={courseid:this.get("courseid"),moveafter:e,previous:t};n.performAjaxAction("movecourseafter",r,this.moveAfterResponse,this)},moveAfterResponse:function(e,t,n){var r=this.checkAjaxResponse(e,t,n),i=this.get("node"),s;if(r===!1)return s=i.ancestor("ul").one("li[data-id="+n.previous+"]"),s?s.insertAfter(i,"after"):i.ancestor("ul").one("li").insert(i,"before"),!1;this.highlight()}},e.extend(o,i,o.prototype)},"@VERSION@",{requires:["base","node","io-base","moodle-core-notification-exception","json-parse","dd-constrain","dd-proxy","dd-drop","dd-delegate","node-event-delegate"]}); +.get("console").performAjaxAction("movecourseintocategory",{categoryid:this.get("categoryid"),courseid:t.get("courseid")},this.completeMoveCourse,this)},n),e.show()})},completeMoveCourse:function(e,t,n){var r=this.checkAjaxResponse(e,t,n),i=this.get("console"),s,o,u;return r===!1?!1:(o=i.getCourseById(n.courseid),o?(this.highlight(),o&&(r.paginationtotals&&(u=i.get("courselisting").one(".listing-pagination-totals"),u&&u.set("innerHTML",r.paginationtotals)),r.newcatcourses!=="undefined"&&(u=this.get("node").one(".course-count"),u&&u.set("innerHTML",u.get("innerHTML").replace(/^\d+/,r.newcatcourses))),r.oldcatcourses!=="undefined"&&(s=i.get("activecategoryid"),s=i.getCategoryById(s),s&&(u=s.get("node").one(".course-count"),u&&u.set("innerHTML",u.get("innerHTML").replace(/^\d+/,r.oldcatcourses)))),o.remove()),!0):!1)},show:function(e,t,n){var r=this.checkAjaxResponse(e,t,n);if(r===!1)return!1;this.markVisible(),r.categoryvisibility&&this.updateChildVisibility(r.categoryvisibility),r.coursevisibility&&this.updateCourseVisiblity(r.coursevisibility),this.updated()},hide:function(e,t,n){var r=this.checkAjaxResponse(e,t,n);if(r===!1)return!1;this.markHidden(),r.categoryvisibility&&this.updateChildVisibility(r.categoryvisibility),r.coursevisibility&&this.updateCourseVisiblity(r.coursevisibility),this.updated()},updateCourseVisiblity:function(e){var t=this.get("console"),n,r;try{for(n in e)typeof e[n]=="object"&&(r=t.getCourseById(e[n].id),r&&(e[n].visible==="1"?r.markVisible():r.markHidden()))}catch(i){}return this},updateChildVisibility:function(e){var t=this.get("console"),n,r;try{for(n in e)typeof e[n]=="object"&&(r=t.getCategoryById(e[n].id),r&&(e[n].visible==="1"?r.markVisible():r.markHidden()))}catch(i){}return this}},e.extend(s,i,s.prototype),o.NAME="moodle-course-management-course",o.CSS_PREFIX="management-course",o.ATTRS={courseid:{},selected:{getter:function(e,t){return e===null&&(e=this.get("node").getData(t),this.set(t,e)),e},value:null},node:{},console:{writeOnce:"initOnly"},category:{writeOnce:"initOnly"}},o.prototype={initializer:function(){var e=this.get("node"),t=this.get("category");this.set("courseid",e.getData("id")),t&&t.registerCourse&&t.registerCourse(this),this.set("itemname","course")},getName:function(){return this.get("node").one("a.coursename").get("innerHTML")},handle:function(e,t){var n=this.get("console"),r={courseid:this.get("courseid")};switch(e){case"moveup":t.halt(),n.performAjaxAction("movecourseup",r,this.moveup,this);break;case"movedown":t.halt(),n.performAjaxAction("movecoursedown",r,this.movedown,this);break;case"show":t.halt(),n.performAjaxAction("showcourse",r,this.show,this);break;case"hide":t.halt(),n.performAjaxAction("hidecourse",r,this.hide,this);break;default:return!1}},remove:function(){this.get("console").removeCourseById(this.get("courseid")),this.get("node").remove()},moveAfter:function(e,t){var n=this.get("console"),r={courseid:this.get("courseid"),moveafter:e,previous:t};n.performAjaxAction("movecourseafter",r,this.moveAfterResponse,this)},moveAfterResponse:function(e,t,n){var r=this.checkAjaxResponse(e,t,n),i=this.get("node"),s;if(r===!1)return s=i.ancestor("ul").one("li[data-id="+n.previous+"]"),s?s.insertAfter(i,"after"):i.ancestor("ul").one("li").insert(i,"before"),!1;this.highlight()}},e.extend(o,i,o.prototype)},"@VERSION@",{requires:["base","node","io-base","moodle-core-notification-exception","json-parse","dd-constrain","dd-proxy","dd-drop","dd-delegate","node-event-delegate"]}); diff --git a/course/yui/build/moodle-course-management/moodle-course-management.js b/course/yui/build/moodle-course-management/moodle-course-management.js index 68e88a8c2e2..d94acc7a831 100644 --- a/course/yui/build/moodle-course-management/moodle-course-management.js +++ b/course/yui/build/moodle-course-management/moodle-course-management.js @@ -1218,16 +1218,41 @@ Category.prototype = { */ completeMoveCourse : function(transactionid, response, args) { var outcome = this.checkAjaxResponse(transactionid, response, args), - course; + console = this.get('console'), + category, + course, + totals; if (outcome === false) { return false; } - course = this.get('console').getCourseById(args.courseid); + course = console.getCourseById(args.courseid); if (!course) { return false; } this.highlight(); if (course) { + if (outcome.paginationtotals) { + totals = console.get('courselisting').one('.listing-pagination-totals'); + if (totals) { + totals.set('innerHTML', outcome.paginationtotals); + } + } + if (outcome.newcatcourses !== 'undefined') { + totals = this.get('node').one('.course-count'); + if (totals) { + totals.set('innerHTML', totals.get('innerHTML').replace(/^\d+/, outcome.newcatcourses)); + } + } + if (outcome.oldcatcourses !== 'undefined') { + category = console.get('activecategoryid'); + category = console.getCategoryById(category); + if (category) { + totals = category.get('node').one('.course-count'); + if (totals) { + totals.set('innerHTML', totals.get('innerHTML').replace(/^\d+/, outcome.oldcatcourses)); + } + } + } course.remove(); } return true; diff --git a/course/yui/src/management/js/category.js b/course/yui/src/management/js/category.js index f8135eac33e..33125ce401f 100644 --- a/course/yui/src/management/js/category.js +++ b/course/yui/src/management/js/category.js @@ -242,12 +242,15 @@ Category.prototype = { */ completeMoveCourse : function(transactionid, response, args) { var outcome = this.checkAjaxResponse(transactionid, response, args), - course; + console = this.get('console'), + category, + course, + totals; if (outcome === false) { Y.log('AJAX failed to move courses into this category: '+this.get('itemname'), 'warn', 'moodle-course-management'); return false; } - course = this.get('console').getCourseById(args.courseid); + course = console.getCourseById(args.courseid); if (!course) { Y.log('Course was moved but the course listing could not be found to reflect this', 'warn', 'moodle-course-management'); return false; @@ -255,6 +258,28 @@ Category.prototype = { Y.log('Moved the course ('+course.getName()+') into this category ('+this.getName()+')', 'info', 'moodle-course-management'); this.highlight(); if (course) { + if (outcome.paginationtotals) { + totals = console.get('courselisting').one('.listing-pagination-totals'); + if (totals) { + totals.set('innerHTML', outcome.paginationtotals); + } + } + if (outcome.newcatcourses !== 'undefined') { + totals = this.get('node').one('.course-count'); + if (totals) { + totals.set('innerHTML', totals.get('innerHTML').replace(/^\d+/, outcome.newcatcourses)); + } + } + if (outcome.oldcatcourses !== 'undefined') { + category = console.get('activecategoryid'); + category = console.getCategoryById(category); + if (category) { + totals = category.get('node').one('.course-count'); + if (totals) { + totals.set('innerHTML', totals.get('innerHTML').replace(/^\d+/, outcome.oldcatcourses)); + } + } + } course.remove(); } return true;