implemented transfer of list ownership. this resolves #4
Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
@@ -211,6 +211,11 @@ function showListResult(result){
|
||||
|
||||
function showMembers(data){
|
||||
var list_mail = data.list.email.prefix+'@'+data.list.email.domain;
|
||||
console.log("data",data);
|
||||
var owner = false;
|
||||
for (let member of data.members){
|
||||
if (member.email == data.user.email && member.state.includes("owner")) owner = member.email;
|
||||
}
|
||||
for (let i in data.members){
|
||||
let member = data.members[i];
|
||||
let row = $('<tr/>');
|
||||
@@ -218,11 +223,17 @@ function showMembers(data){
|
||||
$('<td/>').text(member.email).appendTo(row);
|
||||
$('<td/>').text(member.state).appendTo(row);
|
||||
let col = $('<td/>');
|
||||
console.log("data",data);
|
||||
if (member.state.includes("moderator")) {
|
||||
if (!member.state.includes("owner")) $('<button/>',{onclick:'dropMod("'+member.email+'","'+list_mail+'")'}).text("- moderator").appendTo(col);
|
||||
} else $('<button/>',{onclick:'addMod("'+member.email+'","'+list_mail+'")'}).text("+ moderator").appendTo(col);
|
||||
if (!member.state.includes("owner")) $('<button/>',{onclick:'dropMember("'+member.email+'","'+list_mail+'")'}).text("remove").appendTo(col);
|
||||
if (member.email != owner){
|
||||
$('<button/>',{onclick:'dropMod("'+member.email+'","'+list_mail+'")'}).text("- moderator").appendTo(col);
|
||||
if (data.user.email == owner) $('<button/>',{onclick:'transfer("'+member.email+'","'+list_mail+'")'}).text("transfer ownership").appendTo(col);
|
||||
}
|
||||
} else {
|
||||
$('<button/>',{onclick:'addMod("'+member.email+'","'+list_mail+'")'}).text("+ moderator").appendTo(col);
|
||||
}
|
||||
if (!member.state.includes("owner")) {
|
||||
$('<button/>',{onclick:'dropMember("'+member.email+'","'+list_mail+'")'}).text("remove").appendTo(col);
|
||||
}
|
||||
col.appendTo(row);
|
||||
|
||||
row.appendTo('#memberlist');
|
||||
@@ -273,6 +284,12 @@ function testList(listEmail){
|
||||
$.post('/api/list/test',{list:listEmail},showListResult,'json');
|
||||
}
|
||||
|
||||
function transfer(newOwner,listEmail){
|
||||
if (confirm("Really transfer "+listEmail+" to "+newOwner+"?")){
|
||||
$.post('/api/list/transfer',{email:newOwner,list:listEmail},reload,'json');
|
||||
}
|
||||
}
|
||||
|
||||
function unsubscribeFrom(listEmail){
|
||||
window.location.href='unsubscribe?list='+listEmail;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user