MediaWiki:Gadget-userRightsManager.js: Difference between revisions
From Test Wiki
Content deleted Content added
fix user selection |
clean out code for updating markadmins.json since it's no longer necessary due to gadget changes |
||
| Line 17: | Line 17: | ||
'interface-admin': '{{done}}. ~~~~', |
'interface-admin': '{{done}}. ~~~~', |
||
}; |
}; |
||
var listKeys = { |
|||
'sysop': 'A', |
|||
'bureaucrat': 'B', |
|||
'interface-admin': 'F' |
|||
} |
|||
var api, |
var api, |
||
| Line 116: | Line 110: | ||
this.changeRightsProgressLabel = new OO.ui.LabelWidget(); |
this.changeRightsProgressLabel = new OO.ui.LabelWidget(); |
||
this.changeRightsProgressField = new OO.ui.FieldLayout( this.changeRightsProgressLabel ); |
this.changeRightsProgressField = new OO.ui.FieldLayout( this.changeRightsProgressLabel ); |
||
this.updateJsonProgressLabel = new OO.ui.LabelWidget(); |
|||
this.updateJsonProgressField = new OO.ui.FieldLayout( this.updateJsonProgressLabel ); |
|||
this.markAsDoneProgressLabel = new OO.ui.LabelWidget(); |
this.markAsDoneProgressLabel = new OO.ui.LabelWidget(); |
||
this.markAsDoneProgressField = new OO.ui.FieldLayout( this.markAsDoneProgressLabel ); |
this.markAsDoneProgressField = new OO.ui.FieldLayout( this.markAsDoneProgressLabel ); |
||
| Line 173: | Line 165: | ||
self.markAsDoneProgressField.setLabel( 'Marking request as done...' ); |
self.markAsDoneProgressField.setLabel( 'Marking request as done...' ); |
||
self.submitFieldset.addItems( [self.markAsDoneProgressField] ); |
self.submitFieldset.addItems( [self.markAsDoneProgressField] ); |
||
self.updateJsonProgressField.setLabel( 'Updating markadmins.json' ); |
|||
self.submitFieldset.addItems( [self.updateJsonProgressField] ); |
|||
self.changeRightsProgressField.setLabel( 'Assigning rights...' ); |
self.changeRightsProgressField.setLabel( 'Assigning rights...' ); |
||
self.submitFieldset.addItems( [self.changeRightsProgressField] ); |
self.submitFieldset.addItems( [self.changeRightsProgressField] ); |
||
| Line 182: | Line 172: | ||
markAsDone('\n:' + this.closingRemarksInput.getValue()) |
markAsDone('\n:' + this.closingRemarksInput.getValue()) |
||
).then(function(data) { |
).then(function(data) { |
||
addPromise( |
|||
self.updateJsonProgressField, |
|||
updateJson(data.edit.newrevid) |
|||
); |
|||
addPromise( |
addPromise( |
||
self.changeRightsProgressField, |
self.changeRightsProgressField, |
||
| Line 225: | Line 211: | ||
expiry: 'infinity', |
expiry: 'infinity', |
||
tags: 'userRightsManagerTW' |
tags: 'userRightsManagerTW' |
||
}); |
|||
} |
|||
function updateJson(revId) { |
|||
return api.get({ |
|||
'action': 'query', |
|||
'titles': 'MediaWiki:Gadget-markadmins.json', |
|||
'prop': 'revisions', |
|||
'rvslots': '*', |
|||
'rvlimit': 1, |
|||
'rvprop': 'content' |
|||
}).then(function(data){ |
|||
var newContent = JSON.parse(data['query']['pages'][Object.keys(data['query']['pages'])[0]]['revisions'][0]['slots']['main']['*']); |
|||
for(perm in perms){ |
|||
if(!newContent['userSet'][listKeys[perm]].includes(userName.replace(/_/g, ' '))){ |
|||
newContent['userSet'][listKeys[perm]].push(userName.replace(/_/g, ' ')) |
|||
} |
|||
newContent['userSet'][listKeys[perm]].sort() |
|||
} |
|||
newContent = JSON.stringify(newContent, null, 4) |
|||
return api.postWithToken( 'edit', { |
|||
'action': 'edit', |
|||
'title': 'MediaWiki:Gadget-markadmins.json', |
|||
'text': newContent, |
|||
'tags': 'userRightsManagerTW', |
|||
summary: 'Adding [[User:' + userName + '|' + userName.replace(/_/g, ' ') + ']] to ' + names[permission] + 's ' + '([[Special:Diff/' + revId + '|per request]])' |
|||
}) |
|||
}); |
}); |
||
} |
} |
||