This commit is contained in:
+103
-1
@@ -469,8 +469,11 @@
|
||||
<button class="btn btn-primary" id="rescan-btn">
|
||||
<i class="fas fa-search me-1"></i> Рескан ВК
|
||||
</button>
|
||||
<button class="btn btn-warning me-2" id="mark-all-posts-pub-btn">
|
||||
<i class="fas fa-check-double me-1"></i> Все - для публикации
|
||||
</button>
|
||||
<button class="btn btn-success" id="publish-btn">
|
||||
<i class="fas fa-paper-plane me-1"></i> Опубликовать
|
||||
<i class="fas fa-paper-plane me-1"></i> Опубликовать все
|
||||
</button>
|
||||
<button class="btn btn-info" id="generate-names-btn">
|
||||
<i class="fas fa-font me-1"></i> Названия
|
||||
@@ -578,6 +581,9 @@
|
||||
<i class="fas fa-search me-1"></i> Рескан Зилант-сервера
|
||||
</button>
|
||||
{% endif %}
|
||||
<button class="btn btn-warning me-2" id="mark-all-events-pub-btn">
|
||||
<i class="fas fa-check-double me-1"></i> Все - для публикации
|
||||
</button>
|
||||
<button class="btn btn-success" id="publish-all-events-btn">
|
||||
<i class="fas fa-paper-plane me-1"></i> Опубликовать все
|
||||
</button>
|
||||
@@ -668,6 +674,9 @@
|
||||
<!-- Вкладка площадок -->
|
||||
<div class="tab-pane fade" id="categories-tab-pane" role="tabpanel" aria-labelledby="categories-tab" tabindex="0">
|
||||
<div class="top-action-buttons d-flex align-items-center">
|
||||
<button class="btn btn-warning me-2" id="mark-all-categories-pub-btn">
|
||||
<i class="fas fa-check-double me-1"></i> Все - для публикации
|
||||
</button>
|
||||
<button class="btn btn-success me-2" id="publish-all-categories-btn">
|
||||
<i class="fas fa-paper-plane me-1"></i> Опубликовать все
|
||||
</button>
|
||||
@@ -927,6 +936,7 @@
|
||||
loadPosts();
|
||||
// Добавляем обработчики для кнопок запуска скриптов
|
||||
document.getElementById('rescan-btn').addEventListener('click', runRescanScript);
|
||||
document.getElementById('mark-all-posts-pub-btn').addEventListener('click', markAllPostsForPublication);
|
||||
document.getElementById('publish-btn').addEventListener('click', runPublishScript);
|
||||
document.getElementById('generate-names-btn').addEventListener('click', generateAllShortnames);
|
||||
document.getElementById('refresh-events-btn').addEventListener('click', loadEvents);
|
||||
@@ -1008,8 +1018,13 @@
|
||||
zkRescanBtn.addEventListener('click', runZkRescan);
|
||||
}
|
||||
{% endif %}
|
||||
document.getElementById('mark-all-events-pub-btn').addEventListener('click', markAllEventsForPublication);
|
||||
document.getElementById('publish-all-events-btn').addEventListener('click', publishAllEvents);
|
||||
{% if g.workmode == 'VOLK' %}
|
||||
const markAllCategoriesPubBtn = document.getElementById('mark-all-categories-pub-btn');
|
||||
if (markAllCategoriesPubBtn) {
|
||||
markAllCategoriesPubBtn.addEventListener('click', markAllCategoriesForPublication);
|
||||
}
|
||||
const publishAllCategoriesBtn = document.getElementById('publish-all-categories-btn');
|
||||
if (publishAllCategoriesBtn) {
|
||||
publishAllCategoriesBtn.addEventListener('click', publishAllCategories);
|
||||
@@ -1164,6 +1179,64 @@
|
||||
alert('Произошла ошибка при рескане ВОЛК');
|
||||
});
|
||||
}
|
||||
// Отметить все посты для публикации
|
||||
function markAllPostsForPublication() {
|
||||
if (!confirm('Вы уверены, что хотите отметить все посты для публикации?')) {
|
||||
return;
|
||||
}
|
||||
showProcessingMessage("Отметка всех постов для публикации...");
|
||||
fetch(`${PREFIX}/api/posts/mark_all_for_publication`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'X-Requested-With': 'XMLHttpRequest'
|
||||
}
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
hideProcessingMessage();
|
||||
if (data.success) {
|
||||
alert(`Отмечено для публикации: ${data.count || 0} постов`);
|
||||
loadPosts();
|
||||
} else {
|
||||
alert('Ошибка: ' + (data.error || 'неизвестная ошибка'));
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
hideProcessingMessage();
|
||||
console.error('Ошибка:', error);
|
||||
alert('Произошла ошибка при отметке постов');
|
||||
});
|
||||
}
|
||||
// Отметить все события для публикации
|
||||
function markAllEventsForPublication() {
|
||||
if (!confirm('Вы уверены, что хотите отметить все события для публикации?')) {
|
||||
return;
|
||||
}
|
||||
showProcessingMessage("Отметка всех событий для публикации...");
|
||||
fetch(`${PREFIX}/api/events/mark_all_for_publication`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'X-Requested-With': 'XMLHttpRequest'
|
||||
}
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
hideProcessingMessage();
|
||||
if (data.success) {
|
||||
alert(`Отмечено для публикации: ${data.count || 0} событий`);
|
||||
loadEvents();
|
||||
} else {
|
||||
alert('Ошибка: ' + (data.error || 'неизвестная ошибка'));
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
hideProcessingMessage();
|
||||
console.error('Ошибка:', error);
|
||||
alert('Произошла ошибка при отметке событий');
|
||||
});
|
||||
}
|
||||
// Функция для публикации всех событий
|
||||
function publishAllEvents() {
|
||||
const currentEventId = selectedEventId;
|
||||
@@ -2272,6 +2345,35 @@
|
||||
alert('Произошла ошибка при публикации площадки');
|
||||
}
|
||||
}
|
||||
// Отметить все категории для публикации
|
||||
function markAllCategoriesForPublication() {
|
||||
if (!confirm('Вы уверены, что хотите отметить все площадки для публикации?')) {
|
||||
return;
|
||||
}
|
||||
showProcessingMessage("Отметка всех площадок для публикации...");
|
||||
fetch(`${PREFIX}/api/categories/mark_all_for_publication`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'X-Requested-With': 'XMLHttpRequest'
|
||||
}
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
hideProcessingMessage();
|
||||
if (data.success) {
|
||||
alert(`Отмечено для публикации: ${data.count || 0} площадок`);
|
||||
loadCategoriesList();
|
||||
} else {
|
||||
alert('Ошибка: ' + (data.error || 'неизвестная ошибка'));
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
hideProcessingMessage();
|
||||
console.error('Ошибка:', error);
|
||||
alert('Произошла ошибка при отметке площадок');
|
||||
});
|
||||
}
|
||||
// Публикация всех категорий
|
||||
function publishAllCategories() {
|
||||
const currentCategoryId = selectedCategoryId;
|
||||
|
||||
Reference in New Issue
Block a user