Змінено директорії

Додано скрипти CRON
Поліпшено механізм запису стендів та їх редагування
This commit is contained in:
2025-10-27 00:11:18 +02:00
parent 1d9f9a1468
commit 04f39da611
196 changed files with 4962 additions and 4065 deletions

View File

@@ -33,122 +33,127 @@ const SheepsEvents = {
init() {
if (this.initialized) return;
const sheepEditorForm = document.getElementById("sheep-editor");
const sheepEditorButton = document.getElementById('sheep-editor-button');
sheepEditorForm.addEventListener("submit", async (event) => {
event.preventDefault();
document.addEventListener('submit', async (e) => {
const editorForm = e.target.closest('#sheep-editor');
if (editorForm) {
e.preventDefault();
const sheepEditorButton = document.getElementById('sheep-editor-button');
const form = event.target;
const formData = new FormData(form);
const uuidValue = form.elements["uuid"].value;
const sheep = Sheeps.sheeps_list.list.find(item => item.uuid === uuidValue);
const form = event.target;
const formData = new FormData(form);
const uuidValue = form.elements["uuid"].value;
const sheep = Sheeps.sheeps_list.list.find(item => item.uuid === uuidValue);
if (!sheep) {
console.error("Sheep not found for uuid:", uuidValue);
return;
}
if (!sheep) {
console.error("Sheep not found for uuid:", uuidValue);
sheep.name = form.elements["name"].value;
sheep.group_id = Number(formData.get("group_id"));
sheep.mode = formData.get("mode");
sheep.mode_title = ["Користувач", "Модератор", "Адміністратор"][sheep.mode] || "Користувач";
const permKeys = [
"can_view_sheeps",
"can_view_schedule",
"can_view_stand",
"can_view_territory",
"can_add_sheeps",
"can_add_territory",
"can_manager_territory",
"can_add_stand",
"can_manager_stand",
"can_add_schedule"
];
for (const key of permKeys) {
sheep.possibilities[key] = form.elements[key].checked;
}
sheepEditorButton.innerText = "Зачекайте...";
try {
const uuid = localStorage.getItem('uuid');
const URL = `${CONFIG.api}sheep`;
const response = await fetch(URL, {
method: 'PUT',
headers: {
"Content-Type": "application/json",
"Authorization": uuid
},
body: JSON.stringify(sheep)
});
if (response.ok) {
sheepEditorButton.innerText = "Успішно збережено";
const data = await response.json();
console.log(data);
Sheeps.sheeps_list.list = [];
await Sheeps.sheeps_list.setHTML();
setTimeout(() => {
sheepEditorButton.innerText = "Зберегти";
}, 3000);
} else {
console.error('Помилка збереження');
sheepEditorButton.innerText = "Помилка збереження";
}
} catch (err) {
console.error(err);
sheepEditorButton.innerText = "Помилка збереження";
}
// тот же код, что был в _onSheepEditorSubmit, но обращаемся к editorForm
return;
}
sheep.name = form.elements["name"].value;
sheep.group_id = Number(formData.get("group_id"));
sheep.mode = formData.get("mode");
sheep.mode_title = ["Користувач", "Модератор", "Адміністратор"][sheep.mode] || "Користувач";
const addedsForm = e.target.closest('#sheep-addeds');
if (addedsForm) {
e.preventDefault();
const sheepAddedsButton = document.getElementById('sheep-addeds-button');
const permKeys = [
"can_view_sheeps",
"can_view_schedule",
"can_view_stand",
"can_view_territory",
"can_add_sheeps",
"can_add_territory",
"can_manager_territory",
"can_add_stand",
"can_manager_stand",
"can_add_schedule"
];
for (const key of permKeys) {
sheep.possibilities[key] = form.elements[key].checked;
}
const form = event.target;
const formData = new FormData(form);
const data = Object.fromEntries(formData.entries());
sheepEditorButton.innerText = "Зачекайте...";
sheepAddedsButton.innerText = "Зачекайте...";
try {
const uuid = localStorage.getItem('uuid');
const URL = `${CONFIG.api}sheep`;
const response = await fetch(URL, {
method: 'PUT',
headers: {
"Content-Type": "application/json",
"Authorization": uuid
},
body: JSON.stringify(sheep)
});
try {
const uuid = localStorage.getItem('uuid');
const URL = `${CONFIG.api}sheep`;
const response = await fetch(URL, {
method: 'POST',
headers: {
"Content-Type": "application/json",
"Authorization": uuid
},
body: JSON.stringify(data)
});
if (response.ok) {
sheepEditorButton.innerText = "Успішно збережено";
const data = await response.json();
console.log(data);
if (response.ok) {
sheepAddedsButton.innerText = "Вісника додано";
const data = await response.json();
console.log(data);
Sheeps.sheeps_list.list = [];
await Sheeps.sheeps_list.setHTML();
Sheeps.sheeps_list.list = [];
setTimeout(() => {
sheepEditorButton.innerText = "Зберегти";
}, 3000);
} else {
console.error('Помилка збереження');
sheepEditorButton.innerText = "Помилка збереження";
}
} catch (err) {
console.error(err);
sheepEditorButton.innerText = "Помилка збереження";
}
});
const randomNumber = Math.floor(Math.random() * Sheeps_icon.length);
const sheepAddedsForm = document.getElementById("sheep-addeds");
const sheepAddedsButton = document.getElementById('sheep-addeds-button');
sheepAddedsForm.addEventListener("submit", async (event) => {
event.preventDefault();
Sheeps.addeds.close();
await Sheeps.editor.setHTML(data.id, randomNumber);
const form = event.target;
const formData = new FormData(form);
const data = Object.fromEntries(formData.entries());
sheepAddedsButton.innerText = "Зачекайте...";
try {
const uuid = localStorage.getItem('uuid');
const URL = `${CONFIG.api}sheep`;
const response = await fetch(URL, {
method: 'POST',
headers: {
"Content-Type": "application/json",
"Authorization": uuid
},
body: JSON.stringify(data)
});
if (response.ok) {
sheepAddedsButton.innerText = "Вісника додано";
const data = await response.json();
console.log(data);
Sheeps.sheeps_list.list = [];
const randomNumber = Math.floor(Math.random() * Sheeps_icon.length);
Sheeps.addeds.close();
await Sheeps.editor.setHTML(data.id, randomNumber);
setTimeout(() => {
sheepAddedsButton.innerText = "Додати";
}, 3000);
} else {
console.error('Помилка додавання');
setTimeout(() => {
sheepAddedsButton.innerText = "Додати";
}, 3000);
} else {
console.error('Помилка додавання');
sheepAddedsButton.innerText = "Помилка додавання";
}
} catch (err) {
console.error(err);
sheepAddedsButton.innerText = "Помилка додавання";
}
} catch (err) {
console.error(err);
sheepAddedsButton.innerText = "Помилка додавання";
return;
}
});
@@ -469,7 +474,7 @@ const Sheeps = {
const URL = `${CONFIG.api}house/list?mode=admin&sheep_id=${id}`;
const list = await Sheeps.territory.loadAPI(URL);
if ((USER.possibilities.can_view_territory || USER.mode == 2) && list.length > 0){
if ((USER.possibilities.can_view_territory || USER.mode == 2) && list.length > 0) {
document.getElementById('editor-blocks-territory').style.display = "";
Sheeps.territory.renderCards(list, "house");
}
@@ -479,7 +484,7 @@ const Sheeps = {
const URL = `${CONFIG.api}homestead/list?mode=admin&sheep_id=${id}`;
const list = await Sheeps.territory.loadAPI(URL);
if ((USER.possibilities.can_view_territory || USER.mode == 2) && list.length > 0){
if ((USER.possibilities.can_view_territory || USER.mode == 2) && list.length > 0) {
document.getElementById('editor-blocks-territory').style.display = "";
Sheeps.territory.renderCards(list, "homestead");
}