diff --git a/public/ui.js b/public/ui.js index 1d39a79..75432a9 100644 --- a/public/ui.js +++ b/public/ui.js @@ -86,7 +86,9 @@ function renderTasks() { ${currentUser && currentUser.login === 'minicrm' ? `` : ''} - ${currentUser && currentUser.login === 'minicrm' ? `` : ''} + ${currentUser && currentUser.login === 'kalugin.o' ? `` : ''} +${currentUser && currentUser.login === 'kalugin.o' ? `` : ''} +${currentUser && currentUser.login === 'kalugin.o' ? `` : ''} ${currentUser && currentUser.login === 'minicrm' ? `` : ''} ${currentUser && currentUser.login === 'minicrm' ? `` : ''} @@ -1297,6 +1299,140 @@ async function openManageAssigneesModal(taskId) { alert('Ошибка загрузки данных пользователей'); } } +// ========== ДОБАВЛЕНИЯ ИСПОЛНИТЕЛЕЙ ========== +async function assignAdd_openModal(taskId) { + // Находим задачу + const task = tasks.find(t => t.id === taskId); + if (!task) { + alert('Задача не найдена'); + return; + } + + // Проверяем права + if (!canUserEditTask(task)) { + alert('У вас нет прав для управления исполнителями этой задачи'); + return; + } + + // Получаем текущих исполнителей + const currentAssignees = task.assignments || []; + + // Получаем доступных для добавления исполнителей + try { + const response = await fetch(`/api/tasks/${taskId}/available-assignees`); + const availableUsers = await response.json(); + + // Создаем модальное окно + const modalHtml = ` +