fix(settings): hide can_edit=1 keys on superadmin settings page

Filter program settings UI by generated system-key allowlist so editable
tenant settings (e.g. montzar_product_id) never appear in superadmin.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-19 18:49:08 +03:30
co-authored by Cursor
parent 8ccbb15fa4
commit d09d853764
2 changed files with 201 additions and 0 deletions
+2
View File
@@ -38,6 +38,7 @@ import {
normalizeSettingRow,
resolveSettingFieldType,
} from '@/config/khanegiSettingCatalog'
import { isSuperAdminSystemSettingKey } from '@/config/superAdminSettingKeys'
import type { KhanegiSettingRow } from '@/config/khanegiSettingRow'
import { useAuthStore } from '@/stores/auth'
@@ -133,6 +134,7 @@ const filteredRows = computed(() => {
const q = search.value.trim().toLowerCase()
return [...items.value]
.filter((row) => {
if (!isSuperAdminSystemSettingKey(row.key)) return false
if (!isSettingVisible(row.key)) return false
if (filterType.value && resolveSettingFieldType(row) !== filterType.value) return false
if (!q) return true