From: Mark Holmquist Date: Wed, 15 Jul 2015 20:41:36 +0000 (-0500) Subject: Add a bailout method for getEditToken X-Git-Tag: 1.31.0-rc.0~10759^2 X-Git-Url: https://git.cyclocoop.org/%7B%24admin_url%7Dmembres/fiche.php?a=commitdiff_plain;h=2281952d328eefb26fc1ad5d9578a30206f7e4c9;p=lhc%2Fweb%2Fwiklou.git Add a bailout method for getEditToken getEditToken is right handy for doing requests on the local wiki, but CentralAuth yells at you if you leave a token= parameter in the request, so we need to be able to turn this off. Change-Id: I6212c6aa2f52671f22e227950a37dde6b65d5316 --- diff --git a/resources/src/mediawiki.api/mediawiki.api.upload.js b/resources/src/mediawiki.api/mediawiki.api.upload.js index f147ac85f6..6347828a42 100644 --- a/resources/src/mediawiki.api/mediawiki.api.upload.js +++ b/resources/src/mediawiki.api/mediawiki.api.upload.js @@ -154,7 +154,7 @@ * @return {jQuery.Promise} */ uploadWithIframe: function ( file, data ) { - var tokenPromise, + var tokenPromise = $.Deferred(), api = this, filenameFound = false, deferred = $.Deferred(), @@ -224,9 +224,14 @@ return $.Deferred().reject( 'Filename not included in file data.' ); } - tokenPromise = this.getEditToken().then( function ( token ) { - $form.append( getHiddenInput( 'token', token ) ); - } ); + if ( this.needToken() ) { + this.getEditToken().then( function ( token ) { + $form.append( getHiddenInput( 'token', token ) ); + tokenPromise.resolve(); + }, tokenPromise.reject ); + } else { + tokenPromise.resolve(); + } $( 'body' ).append( $form, $iframe ); @@ -239,7 +244,7 @@ * @param {Object} data */ uploadWithFormData: function ( file, data ) { - var xhr, tokenPromise, + var xhr, api = this, formData = new FormData(), deferred = $.Deferred(), @@ -286,13 +291,15 @@ xhr.open( 'POST', this.defaults.ajax.url, true ); - tokenPromise = this.getEditToken().then( function ( token ) { - formData.append( 'token', token ); - xhr.send( formData ); - }, function () { - // Mark the edit token as bad, it's been used. - api.badToken( 'edit' ); - } ); + if ( this.needToken() ) { + this.getEditToken().then( function ( token ) { + formData.append( 'token', token ); + xhr.send( formData ); + }, function () { + // Mark the edit token as bad, it's been used. + api.badToken( 'edit' ); + } ); + } return deferred.promise(); }, @@ -349,6 +356,10 @@ return finishUpload; } ); + }, + + needToken: function () { + return true; } } );