[ВОЛК] Тест кнопка на фронте
ci/woodpecker/push/woodpecker Pipeline was successful

This commit is contained in:
2026-01-10 21:03:48 +03:00
parent 720ba0ed36
commit 96e7bb3da1
2 changed files with 49 additions and 0 deletions
+19
View File
@@ -26,6 +26,7 @@ from evtg_publish import tg_post_event_by_id, tg_post_all_events
from zk_load import load_json_all from zk_load import load_json_all
from volk_load import load_categories, load_all_events from volk_load import load_categories, load_all_events
from volk_cat_publish import tg_post_category_by_id, tg_post_all_categories from volk_cat_publish import tg_post_category_by_id, tg_post_all_categories
from test_tg_poster import make_test_post
# Загружаем настройки из .env # Загружаем настройки из .env
load_dotenv() load_dotenv()
@@ -985,6 +986,24 @@ def api_generate_all_shortnames():
log_event(error_msg) log_event(error_msg)
return jsonify({'success': False, 'error': error_msg}), 500 return jsonify({'success': False, 'error': error_msg}), 500
@bp.route('/api/test_post', methods=['POST'])
@login_required
def api_test_post():
try:
log_event("Запуск публикации тестового сообщения...")
result = make_test_post()
if result:
log_event("Тестовое сообщение успешно опубликовано")
return jsonify({'success': True})
else:
error_msg = "Не удалось опубликовать тестовое сообщение"
log_event(error_msg)
return jsonify({'success': False, 'error': error_msg}), 500
except Exception as e:
error_msg = f"Ошибка при публикации тестового сообщения: {str(e)}"
log_event(error_msg)
return jsonify({'success': False, 'error': error_msg}), 500
@bp.route('/api/generate_shortname/<int:post_id>', methods=['POST']) @bp.route('/api/generate_shortname/<int:post_id>', methods=['POST'])
@login_required @login_required
def api_generate_shortname(post_id): def api_generate_shortname(post_id):
+30
View File
@@ -478,6 +478,9 @@
<button class="btn btn-info" id="generate-names-btn"> <button class="btn btn-info" id="generate-names-btn">
<i class="fas fa-font me-1"></i> Названия <i class="fas fa-font me-1"></i> Названия
</button> </button>
<button class="btn btn-secondary ms-2" id="test-post-btn">
<i class="fas fa-vial me-1"></i> Тест
</button>
<div id="post-selected-event-info" class="cross-tab-info" style="display: none;"> <div id="post-selected-event-info" class="cross-tab-info" style="display: none;">
<span>Выбранное событие: </span> <span>Выбранное событие: </span>
<span id="post-selected-event-name"></span> <span id="post-selected-event-name"></span>
@@ -939,6 +942,7 @@
document.getElementById('mark-all-posts-pub-btn').addEventListener('click', markAllPostsForPublication); document.getElementById('mark-all-posts-pub-btn').addEventListener('click', markAllPostsForPublication);
document.getElementById('publish-btn').addEventListener('click', runPublishScript); document.getElementById('publish-btn').addEventListener('click', runPublishScript);
document.getElementById('generate-names-btn').addEventListener('click', generateAllShortnames); document.getElementById('generate-names-btn').addEventListener('click', generateAllShortnames);
document.getElementById('test-post-btn').addEventListener('click', runTestPost);
document.getElementById('refresh-events-btn').addEventListener('click', loadEvents); document.getElementById('refresh-events-btn').addEventListener('click', loadEvents);
// Обработчики для кнопок добавления события // Обработчики для кнопок добавления события
document.getElementById('add-event-btn').addEventListener('click', () => { document.getElementById('add-event-btn').addEventListener('click', () => {
@@ -1540,6 +1544,31 @@
alert('Произошла ошибка при генерации названий'); alert('Произошла ошибка при генерации названий');
}); });
} }
// Функция для запуска тестового поста
function runTestPost() {
showProcessingMessage("Публикация тестового сообщения...");
fetch(`${PREFIX}/api/test_post`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-Requested-With': 'XMLHttpRequest'
}
})
.then(response => response.json())
.then(data => {
hideProcessingMessage();
if (data.success) {
alert('Тестовое сообщение успешно опубликовано!');
} else {
alert('Ошибка публикации тестового сообщения: ' + (data.error || 'неизвестная ошибка'));
}
})
.catch(error => {
hideProcessingMessage();
console.error('Ошибка публикации тестового сообщения:', error);
alert('Произошла ошибка при публикации тестового сообщения');
});
}
// Функция для генерации названия для конкретного поста // Функция для генерации названия для конкретного поста
function generateShortname(postId) { function generateShortname(postId) {
showProcessingMessage("Генерация названия для поста..."); showProcessingMessage("Генерация названия для поста...");
@@ -2939,6 +2968,7 @@
window.deletePost = deletePost; window.deletePost = deletePost;
window.deleteEvent = deleteEvent; window.deleteEvent = deleteEvent;
window.generateAllShortnames = generateAllShortnames; window.generateAllShortnames = generateAllShortnames;
window.runTestPost = runTestPost;
window.generateShortname = generateShortname; window.generateShortname = generateShortname;
window.publishPost = publishPost; window.publishPost = publishPost;
window.publishCurrentEvent = publishCurrentEvent; window.publishCurrentEvent = publishCurrentEvent;