From: Bartosz DziewoƄski Date: Mon, 30 Jun 2014 21:57:01 +0000 (+0200) Subject: mediawiki.feedback: Resolve redirects when posting X-Git-Tag: 1.31.0-rc.0~14974 X-Git-Url: https://git.cyclocoop.org/%242?a=commitdiff_plain;h=96c4e453ecfaba9cc5dca904301981e9d6e3492b;p=lhc%2Fweb%2Fwiklou.git mediawiki.feedback: Resolve redirects when posting To make this possible, extended mw.Api#newSection with an 'additionalParams' parameters. Change-Id: I64102c920870e9d3ca6f1a6a712044b22029709e --- diff --git a/resources/src/mediawiki.api/mediawiki.api.edit.js b/resources/src/mediawiki.api/mediawiki.api.edit.js index edfb34a720..403d37216d 100644 --- a/resources/src/mediawiki.api/mediawiki.api.edit.js +++ b/resources/src/mediawiki.api/mediawiki.api.edit.js @@ -47,23 +47,31 @@ * @param {mw.Title|String} title Target page * @param {string} header * @param {string} message wikitext message + * @param {Object} [additionalParams] Additional API parameters, e.g. `{ redirect: true }` * @param {Function} [ok] Success handler (deprecated) * @param {Function} [err] Error handler (deprecated) * @return {jQuery.Promise} */ - newSection: function ( title, header, message, ok, err ) { + newSection: function ( title, header, message, additionalParams, ok, err ) { + // Until we remove 'ok' and 'err' parameters, we have to support code that passes them but not + // additionalParams... + if ( $.isFunction( additionalParams ) ) { + err = ok; + ok = additionalParams; + additionalParams = undefined; + } if ( ok || err ) { mw.track( 'mw.deprecate', 'api.cbParam' ); mw.log.warn( msg ); } - return this.postWithEditToken( { + return this.postWithEditToken( $.extend( { action: 'edit', section: 'new', format: 'json', title: String( title ), summary: header, text: message - } ).done( ok ).fail( err ); + }, additionalParams ) ).done( ok ).fail( err ); } } ); diff --git a/resources/src/mediawiki/mediawiki.feedback.js b/resources/src/mediawiki/mediawiki.feedback.js index 6533db1ab3..beff14ea30 100644 --- a/resources/src/mediawiki/mediawiki.feedback.js +++ b/resources/src/mediawiki/mediawiki.feedback.js @@ -296,7 +296,8 @@ this.displaySubmitting(); - this.api.newSection( this.title, subject, message ).done( ok ).fail( err ); + // Post the message, resolving redirects + this.api.newSection( this.title, subject, message, { redirect: true } ).done( ok ).fail( err ); }, /**