Actualiser assets/js/app.js
CI / PHP Syntax Check (push) Has been cancelled
CI / JavaScript Lint (push) Has been cancelled
CI / Docker Build Test (push) Has been cancelled
CI / Validate Translation Files (push) Has been cancelled
CI / Auto-merge develop → main (push) Has been cancelled
CI / Create GitHub Release (push) Has been cancelled
CI / PHP Syntax Check (push) Has been cancelled
CI / JavaScript Lint (push) Has been cancelled
CI / Docker Build Test (push) Has been cancelled
CI / Validate Translation Files (push) Has been cancelled
CI / Auto-merge develop → main (push) Has been cancelled
CI / Create GitHub Release (push) Has been cancelled
This commit is contained in:
@@ -3591,6 +3591,39 @@ async function _backupNow() {
|
||||
}
|
||||
}
|
||||
|
||||
async function _importMergeFile(input) {
|
||||
const file = input.files[0];
|
||||
if (!file) return;
|
||||
const statusEl = document.getElementById('import-merge-status');
|
||||
statusEl.style.display = 'block';
|
||||
statusEl.textContent = '⏳ Import en cours...';
|
||||
statusEl.className = 'settings-status';
|
||||
|
||||
const formData = new FormData();
|
||||
formData.append('file', file);
|
||||
|
||||
try {
|
||||
const resp = await fetch('api/index.php?action=import_merge', {
|
||||
method: 'POST',
|
||||
headers: { 'X-EverShelf-Request': '1' },
|
||||
body: formData,
|
||||
});
|
||||
const data = await resp.json();
|
||||
if (data.success) {
|
||||
const s = data.stats;
|
||||
statusEl.textContent = `✅ Import réussi — produits: ${s.products}, inventaire: ${s.inventory}, transactions: ${s.transactions}, recettes: ${s.recipe_library}`;
|
||||
statusEl.className = 'settings-status settings-status-success';
|
||||
} else {
|
||||
statusEl.textContent = '❌ Erreur: ' + (data.error || 'inconnue');
|
||||
statusEl.className = 'settings-status settings-status-error';
|
||||
}
|
||||
} catch (e) {
|
||||
statusEl.textContent = '❌ Erreur réseau: ' + e.message;
|
||||
statusEl.className = 'settings-status settings-status-error';
|
||||
}
|
||||
input.value = '';
|
||||
}
|
||||
|
||||
async function _backupDelete(filename) {
|
||||
if (!confirm(`${t('settings.backup.delete_confirm') || 'Eliminare il backup'} ${filename}?`)) return;
|
||||
const r = await api('backup_delete', {}, 'POST', { filename });
|
||||
|
||||
Reference in New Issue
Block a user