From bbdff818040c1073a383b1c2d957e2c8790a3517 Mon Sep 17 00:00:00 2001 From: Ohualtex <230626673+Ohualtex@users.noreply.github.com> Date: Tue, 9 Jun 2026 09:27:37 +0300 Subject: [PATCH 1/4] =?UTF-8?q?fix(rbac/ux):=20admin=20kendi=20rol-select'?= =?UTF-8?q?i=20disable=20+=20rol-scope=20alt=20ba=C5=9Fl=C4=B1klar?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - #1: admin kendi rolünü değiştiremez (backend lock-out koruması → 409) ama frontend select'i açıktı → admin deniyor, geri sekiyor, "değiştiremiyorum" sanıyordu. loadUsers'da kendi satırının rol-select'i disabled + açıklayıcı tooltip; başka kullanıcıların rolü değişebiliyor (doğrulandı: admin disabled, diğeri açık). - #2: page alt başlıkları statik çiftçi-odaklıydı ("Tarlanın özeti", "Çiftliklerine bağlı tarlalar"). Sistem rolleri (developer/overseer/admin) için kapsam-doğru metin (SYSTEM_SUBTITLES): "Sistem geneli özet", "Tüm çiftlikler ve tarlalar" vb. Hero ipuçları zaten rol-aware (FARMER/OVERSEER/ADMIN/DEVELOPER havuzları). Co-Authored-By: Claude Opus 4.8 --- frontend/src/lib/pages/account.js | 6 ++++-- frontend/src/lib/router.js | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/frontend/src/lib/pages/account.js b/frontend/src/lib/pages/account.js index 2736a4f..dfc6d22 100644 --- a/frontend/src/lib/pages/account.js +++ b/frontend/src/lib/pages/account.js @@ -9,7 +9,7 @@ import { _fmtDate, _escAttr, showToast } from "../utils.js"; import { getAuthToken, setAuthToken, clearAuthToken, apiAuth, API_BASE } from "../api.js"; import { _skeletonBlock, _setBusy } from "../skeleton.js"; -import { setCurrentUser } from "../session.js"; +import { setCurrentUser, getCurrentUser } from "../session.js"; import { navigate } from "../nav.js"; import { refreshBell, _hideBell } from "./alerts.js"; @@ -317,11 +317,13 @@ export async function loadUsers() { .map(r => ``).join(''); let html = '' + ''; + const me = getCurrentUser(); for (const u of list) { + const isSelf = me && u.id === me.id; html += ` - +
Kullanıcı listesi
AdE-postaRolÇiftlikKayıtİşlem
${_escAttr(u.name)} ${_escAttr(u.email)} ${u.owned_farms_count ?? 0} ${_fmtDate(u.created_at)}