заявки

This commit is contained in:
2026-02-08 23:36:52 +05:00
parent bb6090a135
commit 70a6cbed84
3 changed files with 167 additions and 1 deletions

View File

@@ -143,6 +143,118 @@ async function createTask(event) {
}
}
}
// Дополнительная проверка для задач типа "it"
if (taskType === 'it' && selectedUsers.length > 0) {
// Проверяем, что все выбранные пользователи - it
for (const userId of selectedUsers) {
const groups = await getUserGroups(userId);
const hasSecretaryGroup = groups.some(group =>
group.name === 'IT поддержка' ||
(typeof group === 'string' && group.includes('IT поддержка'))
);
if (!hasSecretaryGroup) {
alert('Для задачи можно выбирать только пользователей из группы "IT поддержка"');
return;
}
}
}
// Дополнительная проверка для задач типа "ahch"
if (taskType === 'ahch' && selectedUsers.length > 0) {
// Проверяем, что все выбранные пользователи - it
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;
}
}
}
// Дополнительная проверка для задач типа "psychologist"
if (taskType === 'psychologist' && selectedUsers.length > 0) {
// Проверяем, что все выбранные пользователи - it
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;
}
}
}
// Дополнительная проверка для задач типа "speech_therapist"
if (taskType === 'speech_therapist' && selectedUsers.length > 0) {
// Проверяем, что все выбранные пользователи - speech_therapist
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;
}
}
}
// Дополнительная проверка для задач типа "hr"
if (taskType === 'hr' && selectedUsers.length > 0) {
// Проверяем, что все выбранные пользователи - hr
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;
}
}
}
// Дополнительная проверка для задач типа "certificate"
if (taskType === 'certificate' && selectedUsers.length > 0) {
// Проверяем, что все выбранные пользователи - certificate
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;
}
}
}
// Дополнительная проверка для задач типа "e_journal"
if (taskType === 'e_journal' && selectedUsers.length > 0) {
// Проверяем, что все выбранные пользователи - e_journal
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);