Index: debian/changelog =================================================================== --- debian/changelog (Revision 31530) +++ debian/changelog (Revision 31723) @@ -1,3 +1,10 @@ +univention-management-console-frontend (1.0.309-1) unstable; urgency=low + + * Wizard: next/previous functions now accept deferred objects + as return value (Bug #26603) + + -- Jascha Geerds Fri, 23 Mar 2012 15:29:20 +0100 + univention-management-console-frontend (1.0.308-1) unstable; urgency=low * Form: on save, distinguish between put() and add(); Bug #26542 Index: umc/widgets/Wizard.js =================================================================== --- umc/widgets/Wizard.js (Revision 31530) +++ umc/widgets/Wizard.js (Revision 31723) @@ -188,12 +188,14 @@ _next: function(/*String*/ currentPage) { // update visibilty of buttons and show next page - var nextPage = this.next(currentPage); - if (!nextPage) { - throw new Error('ERROR: received invalid page name [' + dojo.toJson(nextPage) + '] for Wizard.next(' + dojo.toJson(currentPage) + ')'); - } - this._updateButtons(nextPage); - this.selectChild(this._pages[nextPage]); + dojo.when(this.next(currentPage), dojo.hitch(this, function(nextPage) { + this._updateButtons(nextPage); + if (!nextPage) { + throw new Error('ERROR: received invalid page name [' + dojo.toJson(nextPage) + '] for Wizard.next(' + dojo.toJson(currentPage) + ')'); + } + this._updateButtons(nextPage); + this.selectChild(this._pages[nextPage]); + })); }, next: function(/*String*/ pageName) { @@ -226,9 +228,10 @@ _previous: function(/*String*/ currentPage) { // update visibilty of buttons and show previous page - var previousPage = this.previous(currentPage); - this._updateButtons(previousPage); - this.selectChild(this._pages[previousPage]); + dojo.when(this.previous(currentPage), dojo.hitch(this, function(previousPage) { + this._updateButtons(previousPage); + this.selectChild(this._pages[previousPage]); + })); }, previous: function(/*String*/ pageName) {