From 96c4e453ecfaba9cc5dca904301981e9d6e3492b Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bartosz=20Dziewo=C5=84ski?= Date: Mon, 30 Jun 2014 23:57:01 +0200 Subject: [PATCH] mediawiki.feedback: Resolve redirects when posting To make this possible, extended mw.Api#newSection with an 'additionalParams' parameters. Change-Id: I64102c920870e9d3ca6f1a6a712044b22029709e --- resources/src/mediawiki.api/mediawiki.api.edit.js | 14 +++++++++++--- resources/src/mediawiki/mediawiki.feedback.js | 3 ++- 2 files changed, 13 insertions(+), 4 deletions(-) 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 ); }, /** -- 2.20.1