Социальный педагог

This commit is contained in:
2026-02-25 11:11:31 +05:00
parent 6820550cbd
commit 6f816f0685
6 changed files with 41 additions and 14 deletions

View File

@@ -122,6 +122,7 @@
<option value="ahch">АХЧ</option>
<option value="psychologist">Психолог</option>
<option value="speech_therapist">Логопед</option>
<option value="Social_educator">Социальный педагог</option>
<option value="hr">Диспетчер расписания</option>
<option value="certificate">Справка</option>
<option value="e_journal">Эл. журнал</option>
@@ -173,18 +174,11 @@
<button type="button" class="task-type-btn active" data-type="regular" onclick="selectTaskType('regular')"><i class="fas fa-tasks"></i> Обычная задача</button>
<button type="button" class="task-type-btn" data-type="document" onclick="selectTaskType('document')"><i class="fas fa-file-signature"></i> Согласование документа</button>
<button type="button" class="task-type-btn" data-type="it" onclick="selectTaskType('it')"><i class="fas fa-desktop"></i> Заявка в ИТ отдел</button>
<button type="button" class="task-type-btn" data-type="ahch" onclick="selectTaskType('ahch')">
<i class="fas fa-tools"></i> Заявка в АХЧ
</button>
<button type="button" class="task-type-btn" data-type="psychologist" onclick="selectTaskType('psychologist')">
<i class="fas fa-brain"></i> Заявка к психологу
</button>
<button type="button" class="task-type-btn" data-type="speech_therapist" onclick="selectTaskType('speech_therapist')">
<i class="fas fa-comment-medical"></i> Заявка к логопеду
</button>
<button type="button" class="task-type-btn" data-type="hr" onclick="selectTaskType('hr')">
<i class="fas fa-users"></i> Заявка диспетчеру расписания
</button>
<button type="button" class="task-type-btn" data-type="ahch" onclick="selectTaskType('ahch')"><i class="fas fa-tools"></i> Заявка в АХЧ</button>
<button type="button" class="task-type-btn" data-type="psychologist" onclick="selectTaskType('psychologist')"><i class="fas fa-brain"></i> Заявка к психологу</button>
<button type="button" class="task-type-btn" data-type="speech_therapist" onclick="selectTaskType('speech_therapist')"><i class="fas fa-comment-medical"></i> Заявка к логопеду</button>
<button type="button" class="task-type-btn" data-type="psychologist" onclick="selectTaskType('Social_educator')"><i class="fas fa-user-graduate"></i> Социальный педагог</button>
<button type="button" class="task-type-btn" data-type="hr" onclick="selectTaskType('hr')"><i class="fas fa-users"></i> Заявка диспетчеру расписания</button>
<button type="button" class="task-type-btn" data-type="certificate" onclick="selectTaskType('certificate')">
<i class="fas fa-book"></i> Заявка на справку
</button>

View File

@@ -386,6 +386,7 @@ function getTaskTypeDisplayName(type) {
'ahch': 'АХЧ',
'psychologist': 'Психолог',
'speech_therapist': 'Логопед',
'Social_educator': 'Социальный педагог',
'hr': 'Диспетчер расписания',
'certificate': 'Справка',
'e_journal': 'Эл. журнал'

View File

@@ -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);

View File

@@ -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: 'Нет задач по Социальный педагог'
}
};

View File

@@ -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'

View File

@@ -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': '(Админ ЭЖ)'