Исправление синтаксической ошибки в molecule_executor.py и обновление k8s preset'ов
- Исправлена незакрытая скобка в _build_test_command (строка 745) - Добавлена поддержка k8s preset'ов: выполнение create_k8s_cluster.py перед create.yml - Обновлены образы в k8s preset'ах: заменен недоступный ghcr.io/ansible-community/molecule-ubuntu-systemd:jammy на inecs/ansible-lab:ubuntu22-latest - Обновлены preset'ы в базе данных через SQL - Обновлены файлы: k8s-single.yml, k8s-multi.yml, k8s-istio-full.yml
This commit is contained in:
@@ -14,8 +14,7 @@
|
||||
<div x-data="presetEditor()">
|
||||
<form
|
||||
hx-post="/api/v1/presets/{{ preset.name }}/update?category={{ preset.category }}"
|
||||
hx-target="#result"
|
||||
hx-swap="innerHTML"
|
||||
hx-swap="none"
|
||||
@submit.prevent="submitForm"
|
||||
class="card"
|
||||
>
|
||||
@@ -374,9 +373,6 @@
|
||||
>
|
||||
{% endif %}
|
||||
|
||||
<!-- Результат -->
|
||||
<div id="result" class="card-body border-top"></div>
|
||||
|
||||
<!-- Кнопки -->
|
||||
<div class="card-footer">
|
||||
<div class="d-flex gap-2">
|
||||
@@ -514,5 +510,58 @@ function presetEditor() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Обработка ответа от HTMX для обновления пресета
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
document.body.addEventListener('htmx:afterRequest', function(event) {
|
||||
// Проверяем, что это запрос на обновление пресета
|
||||
if (event.detail.path && event.detail.path.includes('/api/v1/presets/') && event.detail.path.includes('/update')) {
|
||||
if (event.detail.xhr.status === 200) {
|
||||
try {
|
||||
const response = JSON.parse(event.detail.xhr.responseText);
|
||||
if (response.success) {
|
||||
// Показываем модальное окно с успешным сообщением
|
||||
if (window.showMessageModal) {
|
||||
window.showMessageModal(
|
||||
response.message || 'Preset успешно обновлен',
|
||||
'success',
|
||||
'Успешно',
|
||||
function() {
|
||||
// После закрытия модального окна обновляем страницу
|
||||
location.reload();
|
||||
}
|
||||
);
|
||||
} else {
|
||||
// Если функция недоступна, просто обновляем страницу
|
||||
location.reload();
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.error('Ошибка парсинга ответа:', e);
|
||||
if (window.showMessageModal) {
|
||||
window.showMessageModal('Ошибка при обновлении preset', 'error');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// Ошибка - показываем в модальном окне
|
||||
try {
|
||||
const response = JSON.parse(event.detail.xhr.responseText);
|
||||
const errorMessage = response.detail || response.message || 'Ошибка при обновлении preset';
|
||||
if (window.showMessageModal) {
|
||||
window.showMessageModal(errorMessage, 'error');
|
||||
} else {
|
||||
alert(errorMessage);
|
||||
}
|
||||
} catch (e) {
|
||||
if (window.showMessageModal) {
|
||||
window.showMessageModal('Ошибка при обновлении preset', 'error');
|
||||
} else {
|
||||
alert('Ошибка при обновлении preset');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
||||
Reference in New Issue
Block a user