Jump to content

User:TheTVExpert/submitRMTR.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by TheTVExpert (talk | contribs) at 19:42, 25 September 2020. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
//submitRMTR
//<nowiki>
$(function() {
function publishRMTR(content){
var params = {
action: 'edit',
title: 'Wikipedia:Requested moves/Technical requests',
text: content,
summary: "Add request using [[]]"
},
api = new mw.Api();

api.postWithToken('csrf',params).done(function(data){
console.log(data);
});
}

function submitRMTR() {
var oldTitle = $('input[name=wpOldTitle]').val();
var newNamespace = mw.config.get('wgFormattedNamespaces')[$('select[name=wpNewTitleNs]').val()];
var newTitle = $('input[name=wpNewTitleMain]').val();
var newTitleFull = (newNamespace === '' ? newTitle : newNamespace + ':' + newTitle); 
var reason = $('input[name=wpReason]').val();
var rmtrText = '{{subst:RMassist|1=' + oldTitle + '|2=' + newTitleFull + '|reason=' + reason + '}}';
var textToFind = /---- and enter on a new line.* -->/;
var result;
var api = new mw.Api();
var params = {
action: 'query',
prop: 'revisions',
rvprop: 'content',
rvlimit: 1,
titles: 'Wikipedia:Requested moves/Technical requests'
};
api.get(params).done(function(data) {
var page;
for (page in data.query.pages){
result = data.query.pages[page].revisions[0]['*'];
var newResult = result.replace(textToFind, '$&\n' + rmtrText);
publishRMTR(newResult);
}
});
}

if (window.location.href.match('Special:MovePage')) {
var $rmtrButton = new OO.ui.ButtonWidget({
label:'Submit Technical Request',
flags: ['primary','progressive']
}).$element
.on('click',submitRMTR)
.appendTo($('button[name=wpMove]').parent().parent())
;
}
});
//</nowiki>