Support adding servers
This commit is contained in:
@@ -53,8 +53,12 @@ class trdom_servermanager extends EventTarget {
|
|||||||
server.refreshTorrentList();
|
server.refreshTorrentList();
|
||||||
}
|
}
|
||||||
|
|
||||||
addServer(name, url, user, pass) {
|
addServer(name, url, user = null, pass = '') {
|
||||||
this.#registerServer(name, {'rpcurl': url, 'auth': `Basic ${btoa(`${user}:${pass}`)}`});
|
let initdata = {rpcurl: url};
|
||||||
|
if (user != null) {
|
||||||
|
initdata.auth = `Basic ${btoa(`${user}:${pass}`)}`
|
||||||
|
}
|
||||||
|
this.#registerServer(name, initdata);
|
||||||
this.#saveServers();
|
this.#saveServers();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -136,7 +140,43 @@ class trdom_servermanager extends EventTarget {
|
|||||||
switch (e.currentTarget.getAttributeNS('trweb', 'servermanagerbutton')) {
|
switch (e.currentTarget.getAttributeNS('trweb', 'servermanagerbutton')) {
|
||||||
case 'add':
|
case 'add':
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
window.alert('Server add form isn\'t implemented');
|
let addName = window.prompt('Enter name for the new server');
|
||||||
|
if (addName != null) {
|
||||||
|
if (addName == '') {
|
||||||
|
window.alert('No name was provided, aborting');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (this.#servers[addName] != null) {
|
||||||
|
window.alert('Server with the provided name already exists, aborting');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
let addUrl = window.prompt('Enter server URL', 'http://localhost:9091/transmission/rpc');
|
||||||
|
if (addUrl != null) {
|
||||||
|
if (addUrl == '') {
|
||||||
|
window.alert('No URL provided, aborting');
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
let addUser;
|
||||||
|
let addPass;
|
||||||
|
addUser = window.prompt('Enter username, leave empty of not required');
|
||||||
|
if (addUser == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (addUser == '') {
|
||||||
|
addUser = null;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
addPass = window.prompt(`Enter password for user ${addUser}`);
|
||||||
|
if (addPass == null) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.addServer(addName, addUrl, addUser, addPass);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case 'block':
|
case 'block':
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
|
|||||||
Reference in New Issue
Block a user