From 8a298519406b435977721ce164658aa79904916b Mon Sep 17 00:00:00 2001 From: kalugin66 Date: Thu, 2 Apr 2026 11:25:38 +0500 Subject: [PATCH] =?UTF-8?q?=D1=85=D0=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/reports.js | 13 +++++++++++-- public/ui.js | 10 ++++++++++ 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/public/reports.js b/public/reports.js index eca4ce1..0360146 100644 --- a/public/reports.js +++ b/public/reports.js @@ -49,14 +49,23 @@ function showReportsSection() { // Проверка, имеет ли пользователь право видеть все задачи function canViewAllTasks() { if (!currentUser) return false; + // Администратор if (currentUser.role === 'admin') return true; - // Проверка группы "Руководители" (предполагаем, что группы хранятся в currentUser.groups) + + // Секретарь (по роли) + if (currentUser.role === 'secretary') return true; + + // Проверка групп "Руководители" и "Секретарь" if (currentUser.groups && Array.isArray(currentUser.groups)) { - if (currentUser.groups.some(g => g === 'Руководители' || g.includes('Руководители'))) { + if (currentUser.groups.some(g => + g === 'Руководители' || g.includes('Руководители') || + g === 'Секретарь' || g.includes('Секретарь') + )) { return true; } } + return false; } diff --git a/public/ui.js b/public/ui.js index 4166db0..5174c09 100644 --- a/public/ui.js +++ b/public/ui.js @@ -115,6 +115,11 @@ function renderTasks() { if (!showDeleted) { filteredTasks = window.tasks.filter(task => task.status === 'active'); } +// Если есть развёрнутая задача – показываем только её +if (expandedTasks.size > 0) { + const expandedTaskId = Array.from(expandedTasks)[0]; + filteredTasks = filteredTasks.filter(task => task.id === expandedTaskId); +} if (statusFilter !== 'completed') { filteredTasks = filteredTasks.filter(task => { @@ -256,6 +261,11 @@ function renderTasksInContainer(containerId, tasksArray) { if (!container) return; let filteredTasks = tasksArray; +// Если есть развёрнутая задача – показываем только её +if (expandedTasks.size > 0) { + const expandedTaskId = Array.from(expandedTasks)[0]; + filteredTasks = filteredTasks.filter(task => task.id === expandedTaskId); +} if (containerId === 'runtasks-list' && window.currentTaskView === 'assigned_to_me' && currentUser) { filteredTasks = tasksArray.filter(task => { const myAssignment = task.assignments?.find(a => parseInt(a.user_id) === currentUser.id);