This commit is contained in:
@@ -668,6 +668,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-success me-2" id="publish-all-categories-btn">
|
||||
<i class="fas fa-paper-plane me-1"></i> Опубликовать все
|
||||
</button>
|
||||
<button class="btn btn-info" id="load-categories-btn">
|
||||
<i class="fas fa-sync-alt me-1"></i> Площадки
|
||||
</button>
|
||||
@@ -1007,6 +1010,10 @@
|
||||
{% endif %}
|
||||
document.getElementById('publish-all-events-btn').addEventListener('click', publishAllEvents);
|
||||
{% if g.workmode == 'VOLK' %}
|
||||
const publishAllCategoriesBtn = document.getElementById('publish-all-categories-btn');
|
||||
if (publishAllCategoriesBtn) {
|
||||
publishAllCategoriesBtn.addEventListener('click', publishAllCategories);
|
||||
}
|
||||
const loadCategoriesBtn = document.getElementById('load-categories-btn');
|
||||
if (loadCategoriesBtn) {
|
||||
loadCategoriesBtn.addEventListener('click', loadCategories);
|
||||
@@ -2050,6 +2057,9 @@
|
||||
<div class="d-flex justify-content-between align-items-center mb-4">
|
||||
<div></div>
|
||||
<div>
|
||||
<button class="btn btn-sm btn-success me-2" id="publish-category-btn" ${!category.marked_for_publication || category.is_tg_published ? 'style="display: none;"' : ''}>
|
||||
<i class="fas fa-paper-plane me-1"></i>Опубликовать
|
||||
</button>
|
||||
<button class="btn btn-sm btn-info me-2" id="toggle-category-pub-btn">
|
||||
${category.marked_for_publication ?
|
||||
'<i class="fas fa-times-circle me-1"></i>Снять с публикации' :
|
||||
@@ -2103,6 +2113,14 @@
|
||||
detailsHtml += `</div>`;
|
||||
detailsPanel.innerHTML = detailsHtml;
|
||||
|
||||
// Обработчик для кнопки публикации категории
|
||||
const publishBtn = document.getElementById('publish-category-btn');
|
||||
if (publishBtn) {
|
||||
publishBtn.addEventListener('click', () => {
|
||||
publishCategory(category.id);
|
||||
});
|
||||
}
|
||||
|
||||
// Обработчик для кнопки переключения публикации категории
|
||||
const togglePubBtn = document.getElementById('toggle-category-pub-btn');
|
||||
if (togglePubBtn) {
|
||||
@@ -2226,6 +2244,66 @@
|
||||
alert('Произошла ошибка при удалении площадки');
|
||||
}
|
||||
}
|
||||
// Публикация категории
|
||||
async function publishCategory(categoryId) {
|
||||
showProcessingMessage("Публикация площадки...");
|
||||
try {
|
||||
const response = await fetch(`${PREFIX}/api/publish_category/${encodeURIComponent(categoryId)}`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'X-Requested-With': 'XMLHttpRequest'
|
||||
}
|
||||
});
|
||||
const data = await response.json();
|
||||
hideProcessingMessage();
|
||||
if (data.success) {
|
||||
alert('Площадка успешно опубликована!');
|
||||
// Обновляем детали категории
|
||||
showCategoryDetails(categoryId);
|
||||
// Обновляем список категорий
|
||||
loadCategoriesList();
|
||||
} else {
|
||||
alert('Ошибка публикации площадки: ' + (data.error || 'неизвестная ошибка'));
|
||||
}
|
||||
} catch (error) {
|
||||
hideProcessingMessage();
|
||||
console.error('Ошибка публикации площадки:', error);
|
||||
alert('Произошла ошибка при публикации площадки');
|
||||
}
|
||||
}
|
||||
// Публикация всех категорий
|
||||
function publishAllCategories() {
|
||||
const currentCategoryId = selectedCategoryId;
|
||||
showProcessingMessage("Публикация всех площадок...");
|
||||
fetch(`${PREFIX}/api/publish_all_categories`, {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
'X-Requested-With': 'XMLHttpRequest'
|
||||
}
|
||||
})
|
||||
.then(response => response.json())
|
||||
.then(data => {
|
||||
hideProcessingMessage();
|
||||
if (data.success) {
|
||||
alert('Публикация всех площадок выполнена успешно!');
|
||||
loadCategoriesList().then(() => {
|
||||
if (currentCategoryId) {
|
||||
highlightSelectedCategory(currentCategoryId);
|
||||
showCategoryDetails(currentCategoryId);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
alert('Ошибка публикации всех площадок: ' + (data.error || 'неизвестная ошибка'));
|
||||
}
|
||||
})
|
||||
.catch(error => {
|
||||
hideProcessingMessage();
|
||||
console.error('Ошибка публикации всех площадок:', error);
|
||||
alert('Произошла ошибка при публикации всех площадок');
|
||||
});
|
||||
}
|
||||
// Функция загрузки постов
|
||||
async function loadPosts() {
|
||||
const tableBody = document.getElementById('posts-table');
|
||||
|
||||
Reference in New Issue
Block a user