From 6f816f06856660f1321b20feb4586c58da23f2e9 Mon Sep 17 00:00:00 2001 From: kalugin66 Date: Wed, 25 Feb 2026 11:11:31 +0500 Subject: [PATCH] =?UTF-8?q?=D0=A1=D0=BE=D1=86=D0=B8=D0=B0=D0=BB=D1=8C?= =?UTF-8?q?=D0=BD=D1=8B=D0=B9=20=D0=BF=D0=B5=D0=B4=D0=B0=D0=B3=D0=BE=D0=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- public/index.html | 18 ++++++------------ public/loadMyCreatedTasks.js | 1 + public/main.js | 16 ++++++++++++++++ public/tasks-type.js | 7 +++++++ public/ui.js | 9 ++++++++- public/users.js | 4 +++- 6 files changed, 41 insertions(+), 14 deletions(-) diff --git a/public/index.html b/public/index.html index 3a9f91d..ca8bc09 100644 --- a/public/index.html +++ b/public/index.html @@ -122,6 +122,7 @@ + @@ -173,18 +174,11 @@ - - - - + + + + + diff --git a/public/loadMyCreatedTasks.js b/public/loadMyCreatedTasks.js index 71fb297..41fe09d 100644 --- a/public/loadMyCreatedTasks.js +++ b/public/loadMyCreatedTasks.js @@ -386,6 +386,7 @@ function getTaskTypeDisplayName(type) { 'ahch': 'АХЧ', 'psychologist': 'Психолог', 'speech_therapist': 'Логопед', + 'Social_educator': 'Социальный педагог', 'hr': 'Диспетчер расписания', 'certificate': 'Справка', 'e_journal': 'Эл. журнал' diff --git a/public/main.js b/public/main.js index 8475803..6d96811 100644 --- a/public/main.js +++ b/public/main.js @@ -255,6 +255,22 @@ async function createTask(event) { } } } + // Дополнительная проверка для задач типа "Social_educator" + if (taskType === 'Social_educator' && selectedUsers.length > 0) { + // Проверяем, что все выбранные пользователи - Social_educator + for (const userId of selectedUsers) { + const groups = await getUserGroups(userId); + const hasSecretaryGroup = groups.some(group => + group.name === 'Социальный педагог' || + (typeof group === 'string' && group.includes('Социальный педагог')) + ); + + if (!hasSecretaryGroup) { + alert('Для задачи можно выбирать только пользователей из группы "Социальный педагог"'); + return; + } + } + } const formData = new FormData(); formData.append('title', title); formData.append('description', description); diff --git a/public/tasks-type.js b/public/tasks-type.js index 72dc7c0..d70890a 100644 --- a/public/tasks-type.js +++ b/public/tasks-type.js @@ -65,6 +65,13 @@ const TasksType = (function() { icon: '📊', badgeClass: 'e_journal', emptyMessage: 'Нет задач по ЭЖ' + }, + 'Social_educator': { + endpoint: '/api/tasks_by_type?task_type=Social_educator', + title: 'Социальный педагог', + icon: '📊', + badgeClass: 'Social_educator', + emptyMessage: 'Нет задач по Социальный педагог' } }; diff --git a/public/ui.js b/public/ui.js index a8a5697..2477588 100644 --- a/public/ui.js +++ b/public/ui.js @@ -1073,12 +1073,13 @@ async function selectTaskType(type) { try { if (type === 'document') { await reloadUsersForDocumentType(); - } else if (['it', 'ahch', 'psychologist', 'speech_therapist', 'hr', 'certificate', 'e_journal'].includes(type)) { + } else if (['it', 'ahch', 'psychologist', 'speech_therapist', 'Social_educator', 'hr', 'certificate', 'e_journal'].includes(type)) { const groupNames = { 'it': 'ИТ специалист', 'ahch': 'АХЧ', 'psychologist': 'психолог', 'speech_therapist': 'логопед', + 'Social_educator': 'Социальный педагог', 'hr': 'Диспетчер', 'certificate': 'Администрация', 'e_journal': 'Админ ЭЖ' @@ -1189,6 +1190,7 @@ function suggestDefaultTitle(type) { 'ahch': 'Заявка в АХЧ: ', 'psychologist': 'Заявка к психологу: ', 'speech_therapist': 'Заявка к логопеду: ', + 'Social_educator': 'Заявка к cоциальному педагогу: ', 'hr': 'Заявка диспетчеру расписания: ', 'certificate': 'Заявка на получение справки: ', 'e_journal': 'Заявка на доступ в электронный журнал: ' @@ -1209,6 +1211,7 @@ function updateTaskFormBasedOnType(type) { 'ahch': 'Поиск АХЧ сотрудников...', 'psychologist': 'Поиск психологов...', 'speech_therapist': 'Поиск логопедов...', + 'Social_educator': 'Поиск cоциальных педагогов...: ', 'hr': 'Поиск сотрудников кадровой службы...', 'certificate': 'Поиск секретаря/завуча...', 'e_journal': 'Поиск администратора электронного журнала...' @@ -1226,6 +1229,7 @@ function updateTaskFormBasedOnType(type) { 'ahch': 'Доступны сотрудники АХЧ', 'psychologist': 'Доступны психологи', 'speech_therapist': 'Доступны логопеды', + 'Social_educator': 'Доступны cоциальные педагоги: ', 'hr': 'Доступны сотрудники кадровой службы', 'certificate': 'Доступны секретари и завучи', 'e_journal': 'Доступны администраторы электронного журнала' @@ -1270,6 +1274,7 @@ function getTaskTypeName(type) { 'ahch': 'описание заявки', 'psychologist': 'повод для обращения к психологу', 'speech_therapist': 'повод для обращения к логопеду', + 'Social_educator': 'повод для обращения к cоциальному педагогу: ', 'hr': 'вопрос к кадровой службе', 'certificate': 'тип необходимой справки', 'e_journal': 'информацию для доступа к журналу' @@ -1285,6 +1290,7 @@ function getTaskTypeDisplayName(type) { 'ahch': 'АХЧ', 'psychologist': 'Психолог', 'speech_therapist': 'Логопед', + 'Social_educator': 'Социальный педагог: ', 'hr': 'Кадры', 'certificate': 'Справка', 'e_journal': 'Эл. журнал' @@ -1300,6 +1306,7 @@ function getTaskTypeIcon(type) { 'ahch': 'fas fa-tools', 'psychologist': 'fas fa-brain', 'speech_therapist': 'fas fa-comment-medical', + 'Social_educator': 'fas fa-brain', 'hr': 'fas fa-users', 'certificate': 'fas fa-file-certificate', 'e_journal': 'fas fa-book' diff --git a/public/users.js b/public/users.js index e2a0438..33e766e 100644 --- a/public/users.js +++ b/public/users.js @@ -160,7 +160,7 @@ async function filterUsers() { try { if (taskType === 'document' || taskType === 'it' || taskType === 'ahch' || - taskType === 'psychologist' || taskType === 'speech_therapist' || + taskType === 'psychologist' || taskType === 'speech_therapist' || taskType === 'Social_educator' || taskType === 'hr' || taskType === 'certificate' || taskType === 'e_journal') { // Фильтруем по поиску @@ -178,6 +178,7 @@ async function filterUsers() { 'ahch': 'АХЧ', 'psychologist': 'психолог', 'speech_therapist': 'логопед', + 'Social_educator': 'Социальный педагог', 'hr': 'Диспетчер', 'certificate': 'Администрация', 'e_journal': 'Админ ЭЖ' @@ -325,6 +326,7 @@ function getUserTypeLabel(user, taskType) { 'ahch': '(АХЧ)', 'psychologist': '(Психолог)', 'speech_therapist': '(Логопед)', + 'Social_educator': '(Социальный педагог)', 'hr': '(Диспетчер)', 'certificate': '(Администрация)', 'e_journal': '(Админ ЭЖ)'