commento/frontend/js/dashboard-moderation.js
Adhityaa ef0f45527a everywhere: use different session cookie names
If the user is hosting the dashboard in the same domain as
their blog (with a nginx suburi, for example), the two session
cookies clash; logging into one service logs you out of the other.
With this patch, both have separate names.

Fixes https://gitlab.com/commento/commento-ce/issues/49
2018-06-20 08:59:55 +05:30

83 lines
2.1 KiB
JavaScript

(function (global, document) {
// Opens the moderatiosn settings window.
global.moderationOpen = function() {
$(".view").hide();
$("#moderation-view").show();
};
// Adds a moderator.
global.moderatorNewHandler = function() {
var data = global.dashboard.$data;
var email = $("#new-mod").val();
var json = {
"ownerToken": global.cookieGet("ownerToken"),
"domain": data.domains[data.cd].domain,
"email": email,
}
var idx = -1;
for (var i = 0; i < data.domains[data.cd].moderators.length; i++) {
if (data.domains[data.cd].moderators[i].email == email) {
idx = i;
break;
}
}
if (idx == -1) {
data.domains[data.cd].moderators.push({"email": email, "timeAgo": "just now"});
global.buttonDisable("#new-mod-button");
global.post(global.commentoOrigin + "/api/domain/moderator/new", json, function(resp) {
global.buttonEnable("#new-mod-button");
if (!resp.success) {
global.globalErrorShow(resp.message);
return
}
global.globalOKShow("Added a new moderator!");
$("#new-mod").val("");
$("#new-mod").focus();
});
}
else {
global.globalErrorShow("Already a moderator.");
}
}
// Deletes a moderator.
global.moderatorDeleteHandler = function(email) {
var data = global.dashboard.$data;
var json = {
"ownerToken": global.cookieGet("ownerToken"),
"domain": data.domains[data.cd].domain,
"email": email,
}
var idx = -1;
for (var i = 0; i < data.domains[data.cd].moderators.length; i++) {
if (data.domains[data.cd].moderators[i].email == email) {
idx = i;
break;
}
}
if (idx != -1) {
data.domains[data.cd].moderators.splice(idx, 1);
global.post(global.commentoOrigin + "/api/domain/moderator/delete", json, function(resp) {
if (!resp.success) {
global.globalErrorShow(resp.message);
return
}
globalOKShow("Removed!");
});
}
}
} (window, document));