fix: app version form now uses POST redirect with flash message instead of AJAX

This commit is contained in:
2026-06-09 17:15:47 -04:00
parent 53e9b92a8d
commit 086bbda6e8
2 changed files with 3 additions and 34 deletions

View File

@@ -227,7 +227,8 @@ class AdminController
} }
} }
$this->auditService->log('app_version_updated', 'App version config updated'); $this->auditService->log('app_version_updated', 'App version config updated');
$this->view->json(['success' => true, 'message' => 'App version updated successfully.']); Session::setFlash('success', 'App version updated successfully.');
$this->view->redirect('/admin/app-version');
return; return;
} }

View File

@@ -9,7 +9,7 @@
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<form id="versionForm"> <form method="POST" action="/admin/app-version">
<input type="hidden" name="_csrf_token" value="<?= $this->csrfToken() ?>"> <input type="hidden" name="_csrf_token" value="<?= $this->csrfToken() ?>">
<div class="form-group"> <div class="form-group">
@@ -52,35 +52,3 @@
</form> </form>
</div> </div>
</div> </div>
<script>
document.getElementById('versionForm').addEventListener('submit', function(e) {
e.preventDefault();
const btn = this.querySelector('button[type="submit"]');
btn.disabled = true;
btn.innerHTML = '<i class="fas fa-spinner fa-spin"></i> Saving...';
fetch('/admin/app-version', {
method: 'POST',
headers: {
'X-CSRF-Token': document.querySelector('meta[name="csrf-token"]')?.content || '',
},
body: new URLSearchParams(new FormData(this)),
})
.then(r => r.json())
.then(data => {
if (data.success) {
showToast('success', data.message);
} else {
showToast('error', data.message);
}
btn.disabled = false;
btn.innerHTML = '<i class="fas fa-save"></i> Save Version';
})
.catch(() => {
showToast('error', 'Failed to save version');
btn.disabled = false;
btn.innerHTML = '<i class="fas fa-save"></i> Save Version';
});
});
</script>