- roles
This commit is contained in:
Alexandrina-Kuzeleva
2025-11-25 13:14:13 +03:00
parent 7aabbbd497
commit ce51371e62

View File

@@ -205,10 +205,11 @@ async function loadData() {
try {
loading.value = true
const [logsResponse, usersResponse] = await Promise.all([
logsResource.fetch(),
usersResource.fetch()
])
const [logsResponse, usersResponse, rolesResponse] = await Promise.all([
logsResource.fetch(),
usersResource.fetch(),
rolesResource.fetch()
])
console.log("Energy Point Log:", logsResponse)
console.log("Users с ролями:", usersResponse)
@@ -220,14 +221,22 @@ async function loadData() {
console.warn("ВНИМАНИЕ: Не загружены пользователи!")
}
const usersMap = {}
usersResponse.forEach(u => {
usersMap[u.name] = {
full_name: u.full_name || u.name,
username: u.username || u.name.split('@')[0],
roles: (u.roles || []).map(r => r.role)
}
})
// Собираем роли
const rolesMap = {}
rolesResponse.forEach(r => {
if (!rolesMap[r.parent]) rolesMap[r.parent] = []
rolesMap[r.parent].push(r.role)
})
// Формируем usersMap
const usersMap = {}
usersResponse.forEach(u => {
usersMap[u.name] = {
full_name: u.full_name || u.name,
username: u.username || u.name.split('@')[0],
roles: rolesMap[u.name] || []
}
})
const pointsMap = {}
logsResponse.forEach(log => {
@@ -272,14 +281,24 @@ const usersResource = createResource({
url: "frappe.client.get_list",
params: {
doctype: "User",
fields: ["name", "full_name", "username", "roles"],
fields: ["name", "full_name", "username"],
filters: [["enabled", "=", 1]],
limit_page_length: 2000
},
auto: false,
onError: (err) => console.error("Ошибка загрузки Users:", err)
auto: false
})
const rolesResource = createResource({
url: "frappe.client.get_list",
params: {
doctype: "Has Role",
fields: ["parent", "role"],
limit_page_length: 5000
},
auto: false
})
// Остальные computed без изменений
const filteredLeaderboard = computed(() =>
leaderboard.value.filter(u => u.roles.includes(selectedRole.value))