From de56ca9528ab5a9ba3f5edf432eb28c9d758feac Mon Sep 17 00:00:00 2001 From: Nicole Rappe Date: Fri, 19 Sep 2025 19:59:20 -0600 Subject: [PATCH] Fixed User Modification Interaction Logic and Script Editor Text --- .../WebUI/src/Admin/User_Management.jsx | 29 +++++++++++++++---- .../WebUI/src/Scripting/Script_Editor.jsx | 2 +- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/Data/Server/WebUI/src/Admin/User_Management.jsx b/Data/Server/WebUI/src/Admin/User_Management.jsx index f52407e..4bf1cef 100644 --- a/Data/Server/WebUI/src/Admin/User_Management.jsx +++ b/Data/Server/WebUI/src/Admin/User_Management.jsx @@ -75,6 +75,7 @@ export default function UserManagement() { const [menuAnchor, setMenuAnchor] = useState(null); const [menuUser, setMenuUser] = useState(null); const [resetOpen, setResetOpen] = useState(false); + const [resetTarget, setResetTarget] = useState(null); const [newPassword, setNewPassword] = useState(""); const [createOpen, setCreateOpen] = useState(false); const [createForm, setCreateForm] = useState({ username: "", display_name: "", password: "", role: "User" }); @@ -191,6 +192,11 @@ export default function UserManagement() { const openChangeRole = (user) => { if (!user) return; + if (me && user.username && String(me.username).toLowerCase() === String(user.username).toLowerCase()) { + setWarnMessage("You cannot change your own role."); + setWarnOpen(true); + return; + } const nextRole = (String(user.role || "User").toLowerCase() === "admin") ? "User" : "Admin"; setChangeRoleTarget(user); setChangeRoleNext(nextRole); @@ -224,7 +230,7 @@ export default function UserManagement() { }; const doResetPassword = async () => { - const user = menuUser; + const user = resetTarget; if (!user) return; const pw = newPassword || ""; if (!pw.trim()) return; @@ -242,6 +248,7 @@ export default function UserManagement() { return; } setResetOpen(false); + setResetTarget(null); setNewPassword(""); } catch (e) { console.error(e); @@ -249,7 +256,12 @@ export default function UserManagement() { } }; - const openReset = () => { setResetOpen(true); setNewPassword(""); closeMenu(); }; + const openReset = (user) => { + if (!user) return; + setResetTarget(user); + setResetOpen(true); + setNewPassword(""); + }; const openCreate = () => { setCreateOpen(true); setCreateForm({ username: "", display_name: "", password: "", role: "User" }); }; const doCreate = async () => { @@ -408,15 +420,20 @@ export default function UserManagement() { > Delete User - { openReset(); }}>Reset Password - { const u = menuUser; closeMenu(); openChangeRole(u); }}>Change Role + { const u = menuUser; closeMenu(); openReset(u); }}>Reset Password + { const u = menuUser; closeMenu(); openChangeRole(u); }} + > + Change Role + setResetOpen(false)} PaperProps={{ sx: { bgcolor: "#121212", color: "#fff" } }}> Reset Password - Enter a new password for {menuUser?.username}. + Enter a new password for {resetTarget?.username}. - + diff --git a/Data/Server/WebUI/src/Scripting/Script_Editor.jsx b/Data/Server/WebUI/src/Scripting/Script_Editor.jsx index cbed249..0f93e72 100644 --- a/Data/Server/WebUI/src/Scripting/Script_Editor.jsx +++ b/Data/Server/WebUI/src/Scripting/Script_Editor.jsx @@ -535,7 +535,7 @@ export default function ScriptEditor() { Scripts - Create, edit, and rearrange scripts in folders. + Create, edit, and organize various types of scripts.