From bd721f2c66d17fbe731d172cfe95b02363017f81 Mon Sep 17 00:00:00 2001 From: Balgyn Date: Fri, 21 Aug 2026 10:50:39 +0000 Subject: [PATCH] =?UTF-8?q?=D0=9E=D0=BF=D1=83=D0=B1=D0=BB=D0=B8=D0=BA?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=BE=20=D1=87=D0=B5=D1=80=D0=B5=D0=B7?= =?UTF-8?q?=20=D0=BA=D0=BD=D0=BE=D0=BF=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- auth.js | 46 ++++++++++++++ card.html | 59 +++++++++++++++--- index.html | 14 ++++- login.html | 165 ++++++++++++++++++++++++++++++++++++++++++++++++++ registry.html | 12 +++- server.js | 19 ++++++ 6 files changed, 304 insertions(+), 11 deletions(-) create mode 100644 auth.js create mode 100644 login.html diff --git a/auth.js b/auth.js new file mode 100644 index 0000000..68c18a3 --- /dev/null +++ b/auth.js @@ -0,0 +1,46 @@ +// Проверка авторизации +function getCurrentUser() { + const saved = localStorage.getItem("sdCurrentUser"); + return saved ? JSON.parse(saved) : null; +} + +function requireAuth() { + const user = getCurrentUser(); + if (!user) { + window.location = "login.html"; + return null; + } + return user; +} + +function canEdit() { + const user = getCurrentUser(); + return user && (user.role === "admin" || user.role === "pmo"); +} + +function canDelete() { + const user = getCurrentUser(); + return user && user.role === "admin"; +} + +function logout() { + localStorage.removeItem("sdCurrentUser"); + window.location = "login.html"; +} + +function renderUserMenu() { + const user = getCurrentUser(); + if (!user) return; + + const nav = document.querySelector(".nav"); + if (nav && !document.getElementById("userMenu")) { + const menu = document.createElement("span"); + menu.id = "userMenu"; + menu.style.cssText = "margin-left:24px;display:flex;align-items:center;gap:12px"; + menu.innerHTML = ` + ${user.name} (${user.role === "admin" ? "Админ" : user.role === "pmo" ? "ПО" : user.role === "rm" ? "РМ" : "Исполнитель"}) + + `; + nav.appendChild(menu); + } +} diff --git a/card.html b/card.html index 7c41326..594a490 100644 --- a/card.html +++ b/card.html @@ -11,10 +11,10 @@

Карточка поручения

-