MediaWiki:FR2014/Resources/ChangeBucket-AtoC-BtoD.js

From Meta, a Wikimedia project coordination wiki

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
/* MediaWiki:FR2014/Resources/ChangeBucket-AtoC-BtoD.js
 * Change user's bucket for this campaign. A to C, B to D
 * Although if it was a test (triggered using banner= in URL)
 * then don't bother as there was no campaign.
 */

(function(mw) {
    var currentBucket, newBucket;
    if ( !mw.centralNotice.data.getVars.banner ) {

        if ( mw.cnBannerControllerLib ) {
            // Legacy method
            currentBucket = mw.cnBannerControllerLib.bucketsByCampaign['{{{campaign}}}'].val;
            if ( (currentBucket !== null) && (currentBucket <= 1) ) {
                newBucket = currentBucket + 2;
                mw.cnBannerControllerLib.bucketsByCampaign['{{{campaign}}}'].val = newBucket;
                mw.cnBannerControllerLib.storeBuckets();
            } 
        } else {
            // Shiny new method
            currentBucket = mw.centralNotice.data.bucket;
            if ( (currentBucket !== null) && (currentBucket <= 1) ) {
                newBucket = currentBucket + 2;
                mw.centralNotice.setBucket( newBucket );
            }
        }
    }
})(mediaWiki);