mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-14 21:15:57 +00:00
user manager
This commit is contained in:
213
prefs.js
213
prefs.js
@@ -8,6 +8,7 @@ var xmlhttp = false;
|
||||
var active_feed = false;
|
||||
var active_filter = false;
|
||||
var active_label = false;
|
||||
var active_user = false;
|
||||
|
||||
var active_tab = false;
|
||||
|
||||
@@ -95,6 +96,28 @@ function labellist_callback() {
|
||||
}
|
||||
}
|
||||
|
||||
function userlist_callback() {
|
||||
var container = document.getElementById('prefContent');
|
||||
if (xmlhttp.readyState == 4) {
|
||||
container.innerHTML=xmlhttp.responseText;
|
||||
|
||||
/* if (active_filter) {
|
||||
var row = document.getElementById("ULRR-" + active_label);
|
||||
if (row) {
|
||||
if (!row.className.match("Selected")) {
|
||||
row.className = row.className + "Selected";
|
||||
}
|
||||
}
|
||||
var checkbox = document.getElementById("LICHK-" + active_label);
|
||||
|
||||
if (checkbox) {
|
||||
checkbox.checked = true;
|
||||
}
|
||||
} */
|
||||
p_notify("");
|
||||
}
|
||||
}
|
||||
|
||||
function prefslist_callback() {
|
||||
var container = document.getElementById('prefContent');
|
||||
if (xmlhttp.readyState == 4) {
|
||||
@@ -141,6 +164,23 @@ function updateFeedList() {
|
||||
|
||||
}
|
||||
|
||||
function updateUsersList() {
|
||||
|
||||
if (!xmlhttp_ready(xmlhttp)) {
|
||||
printLockingError();
|
||||
return
|
||||
}
|
||||
|
||||
// document.getElementById("prefContent").innerHTML = "Loading feeds, please wait...";
|
||||
|
||||
p_notify("Loading, please wait...");
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-users", true);
|
||||
xmlhttp.onreadystatechange=userlist_callback;
|
||||
xmlhttp.send(null);
|
||||
|
||||
}
|
||||
|
||||
function toggleSelectRow(sender) {
|
||||
var parent_row = sender.parentNode.parentNode;
|
||||
|
||||
@@ -233,6 +273,31 @@ function addFeed() {
|
||||
|
||||
}
|
||||
|
||||
function addUser() {
|
||||
|
||||
if (!xmlhttp_ready(xmlhttp)) {
|
||||
printLockingError();
|
||||
return
|
||||
}
|
||||
|
||||
var sqlexp = document.getElementById("uadd_box");
|
||||
|
||||
if (sqlexp.value.length == 0) {
|
||||
notify("Missing user login.");
|
||||
} else {
|
||||
notify("Adding user...");
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-users&subop=add&login=" +
|
||||
param_escape(sqlexp.value), true);
|
||||
|
||||
xmlhttp.onreadystatechange=userlist_callback;
|
||||
xmlhttp.send(null);
|
||||
|
||||
sqlexp.value = "";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
function editLabel(id) {
|
||||
|
||||
if (!xmlhttp_ready(xmlhttp)) {
|
||||
@@ -249,6 +314,22 @@ function editLabel(id) {
|
||||
|
||||
}
|
||||
|
||||
function editUser(id) {
|
||||
|
||||
if (!xmlhttp_ready(xmlhttp)) {
|
||||
printLockingError();
|
||||
return
|
||||
}
|
||||
|
||||
active_user = id;
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-users&subop=edit&id=" +
|
||||
param_escape(id), true);
|
||||
xmlhttp.onreadystatechange=userlist_callback;
|
||||
xmlhttp.send(null);
|
||||
|
||||
}
|
||||
|
||||
function editFilter(id) {
|
||||
|
||||
if (!xmlhttp_ready(xmlhttp)) {
|
||||
@@ -299,6 +380,22 @@ function getSelectedLabels() {
|
||||
return sel_rows;
|
||||
}
|
||||
|
||||
function getSelectedUsers() {
|
||||
|
||||
var content = document.getElementById("prefUserList");
|
||||
|
||||
var sel_rows = new Array();
|
||||
|
||||
for (i = 0; i < content.rows.length; i++) {
|
||||
if (content.rows[i].className.match("Selected")) {
|
||||
var row_id = content.rows[i].id.replace("UMRR-", "");
|
||||
sel_rows.push(row_id);
|
||||
}
|
||||
}
|
||||
|
||||
return sel_rows;
|
||||
}
|
||||
|
||||
|
||||
function getSelectedFilters() {
|
||||
|
||||
@@ -405,6 +502,29 @@ function removeSelectedLabels() {
|
||||
}
|
||||
}
|
||||
|
||||
function removeSelectedUsers() {
|
||||
|
||||
if (!xmlhttp_ready(xmlhttp)) {
|
||||
printLockingError();
|
||||
return
|
||||
}
|
||||
|
||||
var sel_rows = getSelectedUsers();
|
||||
|
||||
if (sel_rows.length > 0) {
|
||||
|
||||
notify("Removing selected users...");
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-users&subop=remove&ids="+
|
||||
param_escape(sel_rows.toString()), true);
|
||||
xmlhttp.onreadystatechange=userlist_callback;
|
||||
xmlhttp.send(null);
|
||||
|
||||
} else {
|
||||
notify("Please select some labels first.");
|
||||
}
|
||||
}
|
||||
|
||||
function removeSelectedFilters() {
|
||||
|
||||
if (!xmlhttp_ready(xmlhttp)) {
|
||||
@@ -535,6 +655,22 @@ function labelEditCancel() {
|
||||
|
||||
}
|
||||
|
||||
function userEditCancel() {
|
||||
|
||||
if (!xmlhttp_ready(xmlhttp)) {
|
||||
printLockingError();
|
||||
return
|
||||
}
|
||||
|
||||
active_user = false;
|
||||
|
||||
notify("Operation cancelled.");
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-users", true);
|
||||
xmlhttp.onreadystatechange=userlist_callback;
|
||||
xmlhttp.send(null);
|
||||
|
||||
}
|
||||
|
||||
function filterEditCancel() {
|
||||
|
||||
@@ -588,6 +724,40 @@ function labelEditSave() {
|
||||
|
||||
}
|
||||
|
||||
function userEditSave() {
|
||||
|
||||
var user = active_user;
|
||||
|
||||
if (!xmlhttp_ready(xmlhttp)) {
|
||||
printLockingError();
|
||||
return
|
||||
}
|
||||
|
||||
var login = document.getElementById("iedit_ulogin").value;
|
||||
var level = document.getElementById("iedit_ulevel").value;
|
||||
|
||||
if (login.length == 0) {
|
||||
notify("Login cannot be blank.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (level.length == 0) {
|
||||
notify("User level cannot be blank.");
|
||||
return;
|
||||
}
|
||||
|
||||
active_user = false;
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-users&subop=editSave&id=" +
|
||||
user + "&l=" + param_escape(login) + "&al=" + param_escape(level),
|
||||
true);
|
||||
|
||||
xmlhttp.onreadystatechange=labellist_callback;
|
||||
xmlhttp.send(null);
|
||||
|
||||
}
|
||||
|
||||
|
||||
function filterEditSave() {
|
||||
|
||||
var filter = active_filter;
|
||||
@@ -638,6 +808,47 @@ function editSelectedLabel() {
|
||||
|
||||
}
|
||||
|
||||
function editSelectedUser() {
|
||||
var rows = getSelectedUsers();
|
||||
|
||||
if (rows.length == 0) {
|
||||
notify("No users are selected.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (rows.length > 1) {
|
||||
notify("Please select one user.");
|
||||
return;
|
||||
}
|
||||
|
||||
editUser(rows[0]);
|
||||
}
|
||||
|
||||
function resetSelectedUserPass() {
|
||||
var rows = getSelectedUsers();
|
||||
|
||||
if (rows.length == 0) {
|
||||
notify("No users are selected.");
|
||||
return;
|
||||
}
|
||||
|
||||
if (rows.length > 1) {
|
||||
notify("Please select one user.");
|
||||
return;
|
||||
}
|
||||
|
||||
notify("Resetting password for selected user...");
|
||||
|
||||
var id = rows[0];
|
||||
|
||||
xmlhttp.open("GET", "backend.php?op=pref-users&subop=resetPass&id=" +
|
||||
param_escape(id), true);
|
||||
xmlhttp.onreadystatechange=userlist_callback;
|
||||
xmlhttp.send(null);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function editSelectedFilter() {
|
||||
var rows = getSelectedFilters();
|
||||
@@ -755,6 +966,8 @@ function selectTab(id) {
|
||||
updateLabelList();
|
||||
} else if (id == "genConfig") {
|
||||
updatePrefsList();
|
||||
} else if (id == "userConfig") {
|
||||
updateUsersList();
|
||||
}
|
||||
|
||||
var tab = document.getElementById(active_tab + "Tab");
|
||||
|
||||
Reference in New Issue
Block a user