Change showtoast

This commit is contained in:
FeFeClochette committed 2026-09-10 09:45:09 +02:00
1 parent dc8a2e5244
commit 094a5b2b91
9 files changed
+58 -56

No files matched your search

+3
View File
@@ -316,6 +316,9 @@ return [
'fc_err_fetch_gov' => 'Error en la connexió amb l\'API governamental.', 'fc_err_fetch_gov' => 'Error en la connexió amb l\'API governamental.',
'fc_err_no_data_gov' => 'No s\'han trobat dades a l\'API del govern per a aquest any.', 'fc_err_no_data_gov' => 'No s\'han trobat dades a l\'API del govern per a aquest any.',
'fc_err_action' => 'Error en l\'acció: ', 'fc_err_action' => 'Error en l\'acció: ',
'fc_err_select_leave' => "Si us plau, selecciona un tipus de permís.",
'fc_confirm_del_catalog' => "Voleu eliminar definitivament el permís %s del catàleg? Això també el retirarà dels membres que l'utilitzen.",
'fc_confirm_del_member_leave' => "Estàs segur que vols retirar aquest permís per a aquest membre?",
'fc_today_short' => 'Avui', 'fc_today_short' => 'Avui',
'fc_today_title' => 'Anar a avui', 'fc_today_title' => 'Anar a avui',
'fc_tab_foyer' => '🏡 Llar', 'fc_tab_foyer' => '🏡 Llar',
+3
View File
@@ -317,6 +317,9 @@ return [
'fc_err_fetch_gov' => 'Error connecting to the government API.', 'fc_err_fetch_gov' => 'Error connecting to the government API.',
'fc_err_no_data_gov' => 'No data found on the government API for this year.', 'fc_err_no_data_gov' => 'No data found on the government API for this year.',
'fc_err_action' => 'Error during action: ', 'fc_err_action' => 'Error during action: ',
'fc_err_select_leave' => "Please select a leave type.",
'fc_confirm_del_catalog' => "Permanently delete leave %s from the catalog? This will also remove it from members using it.",
'fc_confirm_del_member_leave' => "Do you really want to remove this leave for this member?",
'fc_today_short' => 'Today', 'fc_today_short' => 'Today',
'fc_today_title' => 'Today', 'fc_today_title' => 'Today',
'fc_tab_foyer' => '🏡 Household', 'fc_tab_foyer' => '🏡 Household',
+3
View File
@@ -318,6 +318,9 @@ return [
'fc_err_fetch_gov' => 'Erreur lors de la connexion à l\'API gouvernementale.', 'fc_err_fetch_gov' => 'Erreur lors de la connexion à l\'API gouvernementale.',
'fc_err_no_data_gov' => 'Aucune donnée trouvée sur l\'API du gouvernement pour cette année.', 'fc_err_no_data_gov' => 'Aucune donnée trouvée sur l\'API du gouvernement pour cette année.',
'fc_err_action' => 'Erreur lors de l\'action : ', 'fc_err_action' => 'Erreur lors de l\'action : ',
'fc_err_select_leave' => "Veuillez sélectionner un type de congé.",
'fc_confirm_del_catalog' => "Supprimer définitivement le congé %s du catalogue ? Cela le retirera également des membres qui l'utilisent.",
'fc_confirm_del_member_leave' => "Voulez-vous vraiment retirer ce congé pour ce membre ?",
'fc_today_short' => 'Auj.', 'fc_today_short' => 'Auj.',
'fc_today_title' => "Aujourd'hui", 'fc_today_title' => "Aujourd'hui",
'care_nounou' => 'Nounou', 'care_nounou' => 'Nounou',
+6 -6
View File
@@ -794,7 +794,7 @@ function duplicateMonth() {
const parentMap = window.CONFIG.parentMapping; const parentMap = window.CONFIG.parentMapping;
if (!sourceDateStr) { if (!sourceDateStr) {
alert(tr('bud_prev_err_no_history')); showToast(tr('bud_prev_err_no_history'), 'error');
return; return;
} }
@@ -955,10 +955,10 @@ async function validateTransfers(personCss, month) {
if(result.success) { if(result.success) {
window.location.reload(); window.location.reload();
} else { } else {
alert(tr('bud_err_tech') + " : " + result.error); showToast(tr('bud_err_tech') + " : " + (result.error || "Inconnue"), 'error');
} }
} catch(e) { } catch(e) {
alert(tr('bud_err_tech')); showToast(tr('bud_err_tech'), 'error');
} }
} }
@@ -1035,13 +1035,13 @@ async function handleAdvanceSubmit(event, form) {
if (result.success) { if (result.success) {
window.location.reload(); window.location.reload();
} else { } else {
alert((tr('bud_err_tech') || "Erreur") + " : " + (result.error || "Opération échouée")); showToast((tr('bud_err_tech') || "Erreur") + " : " + (result.error || "Opération échouée"), 'error');
btnSubmit.disabled = false; btnSubmit.disabled = false;
btnSubmit.innerHTML = oldText; btnSubmit.innerHTML = oldText;
} }
} catch (err) { } catch (err) {
console.error("AJAX Error:", err); console.error("AJAX Error:", err);
alert(tr('bud_err_tech') || "Une erreur technique est survenue."); showToast(tr('bud_err_tech') || "Une erreur technique est survenue.", 'error');
btnSubmit.disabled = false; btnSubmit.disabled = false;
btnSubmit.innerHTML = oldText; btnSubmit.innerHTML = oldText;
} }
@@ -1155,7 +1155,7 @@ document.querySelectorAll('#addCatModal form, #editCatModal form').forEach(form
alert((tr('bud_err_tech') || 'Erreur') + " : " + (result.error || "Inconnue")); alert((tr('bud_err_tech') || 'Erreur') + " : " + (result.error || "Inconnue"));
} }
} catch (error) { } catch (error) {
alert(tr('bud_err_tech') || "Une erreur technique est survenue."); showToast(tr('bud_err_tech') || "Une erreur technique est survenue.", 'error');
} finally { } finally {
submitBtn.disabled = false; submitBtn.disabled = false;
submitBtn.innerText = originalText; submitBtn.innerText = originalText;
+5 -5
View File
@@ -306,10 +306,10 @@ async function promptNewSavingsLine(owner, latestMonth) {
if (result.success) { if (result.success) {
window.location.reload(); window.location.reload();
} else { } else {
alert(window.I18N['bud_err_tech'] + " : " + (result.error || "Erreur")); showToast(window.I18N['bud_err_tech'] + " : " + (result.error || "Erreur"), 'error');
} }
} catch (err) { } catch (err) {
alert(window.I18N['bud_err_tech']); showToast(window.I18N['bud_err_tech'], 'error');
} }
} }
@@ -330,7 +330,7 @@ async function updateEpargneCell(month, category, owner, inputEl) {
return; return;
} }
} catch (err) { } catch (err) {
alert(window.I18N['bud_err_tech']); showToast(window.I18N['bud_err_tech'], 'error');
return; return;
} }
@@ -472,7 +472,7 @@ if (savingsForm) {
submitBtn.disabled = false; submitBtn.disabled = false;
} }
} catch (error) { } catch (error) {
alert(window.I18N['bud_err_tech']); showToast(window.I18N['bud_err_tech'], 'error');
submitBtn.innerText = originalText; submitBtn.innerText = originalText;
submitBtn.disabled = false; submitBtn.disabled = false;
} }
@@ -495,7 +495,7 @@ async function deleteEntireMonth(monthDate, owner) {
if (result.success) window.location.reload(); if (result.success) window.location.reload();
else alert(result.error || window.I18N['bud_err_delete']); else alert(result.error || window.I18N['bud_err_delete']);
} catch(err) { } catch(err) {
alert(window.I18N['bud_err_delete']); showToast(window.I18N['bud_err_tech'], 'error');
} }
} }
+2 -2
View File
@@ -184,7 +184,7 @@ if (formAdd) {
submitBtn.disabled = false; submitBtn.disabled = false;
} }
} catch (error) { } catch (error) {
alert(window.I18N['bud_err_tech']); showToast(window.I18N['bud_err_tech'], 'error');
submitBtn.innerText = originalText; submitBtn.innerText = originalText;
submitBtn.disabled = false; submitBtn.disabled = false;
} }
@@ -205,7 +205,7 @@ async function deleteProvision(id) {
alert(result.message); alert(result.message);
} }
} catch(err) { } catch(err) {
alert(window.I18N['bud_err_tech']); showToast(window.I18N['bud_err_tech'], 'error');
} }
} }
+2 -2
View File
@@ -1020,11 +1020,11 @@ document.addEventListener('DOMContentLoaded', () => {
formExpense.reset(); formExpense.reset();
window.location.reload(); window.location.reload();
} else { } else {
alert((window.I18N['error_occured'] || 'Erreur') + ' : ' + (result.error || 'Inconnue')); showToast((window.I18N['error_occured'] || 'Erreur') + ' : ' + (result.error || 'Inconnue'), 'error');
} }
} catch (error) { } catch (error) {
console.error("Erreur réseau :", error); console.error("Erreur réseau :", error);
alert(window.I18N['bud_err_tech'] || "Erreur critique réseau."); showToast(window.I18N['bud_err_tech'] || "Erreur critique réseau.", 'error');
} finally { } finally {
submitBtn.disabled = false; submitBtn.disabled = false;
submitBtn.innerText = originalBtnText; submitBtn.innerText = originalBtnText;
+27 -33
View File
@@ -54,7 +54,7 @@ async function openCalendarSettings() {
document.body.classList.add("no-scroll"); document.body.classList.add("no-scroll");
} }
} catch (err) { } catch (err) {
alert((tr("fc_error") || "Erreur : ") + err.message); showToast((tr("fc_error") || "Erreur : ") + err.message, "error");
} }
} }
@@ -137,11 +137,10 @@ async function submitCalFoyer(e) {
tr("fc_settings_updated") || "Configuration enregistrée !", tr("fc_settings_updated") || "Configuration enregistrée !",
"success", "success",
); );
else alert(tr("fc_settings_updated") || "Configuration enregistrée !");
setTimeout(() => window.location.reload(), 800); setTimeout(() => window.location.reload(), 800);
} catch (err) { } catch (err) {
alert("Erreur : " + err.message); showToast((tr("fc_error") || "Erreur : ") + err.message, "error");
} }
} }
@@ -162,7 +161,6 @@ window.submitChildCareModes = async function () {
if (!res.success) throw new Error(res.error); if (!res.success) throw new Error(res.error);
if (window.showToast) if (window.showToast)
showToast(tr("fc_child_saved") || "Sauvegardé !", "success"); showToast(tr("fc_child_saved") || "Sauvegardé !", "success");
else alert(tr("fc_child_saved") || "Sauvegardé !");
const currentPerson = calGlobalData.people.find( const currentPerson = calGlobalData.people.find(
(k) => parseInt(k.id) === window.currentSelectedMemberId, (k) => parseInt(k.id) === window.currentSelectedMemberId,
@@ -171,7 +169,7 @@ window.submitChildCareModes = async function () {
currentPerson.care_modes = JSON.stringify(selectedModes); currentPerson.care_modes = JSON.stringify(selectedModes);
} }
} catch (err) { } catch (err) {
alert("Erreur: " + err.message); showToast((tr("fc_error") || "Erreur : ") + err.message, "error");
} }
}; };
@@ -254,12 +252,11 @@ function resetLeaveTypeForm() {
} }
async function deleteLeaveType(code, label) { async function deleteLeaveType(code, label) {
if ( const msg = (
!confirm( tr("fc_confirm_del_catalog") ||
`Supprimer définitivement le congé "${label}" du catalogue ? Cela le retirera également des membres qui l'utilisent.`, "Supprimer définitivement le congé %s du catalogue ?"
) ).replace("%s", `"${label}"`);
) if (!(await pachaConfirm(tr("btn_delete") || "Supprimer", msg))) return;
return;
const fd = new FormData(); const fd = new FormData();
fd.append("action", "delete_leave_type"); fd.append("action", "delete_leave_type");
@@ -280,7 +277,7 @@ async function deleteLeaveType(code, label) {
loadMemberConfigView(); loadMemberConfigView();
} }
} catch (err) { } catch (err) {
alert("Erreur de suppression : " + err.message); showToast((tr("fc_error") || "Erreur : ") + err.message, "error");
} }
} }
@@ -290,10 +287,10 @@ async function saveLeaveType() {
const carryMax = document.getElementById("lt-carry-max").value; const carryMax = document.getElementById("lt-carry-max").value;
const carryDeadline = document.getElementById("lt-carry-deadline").value; const carryDeadline = document.getElementById("lt-carry-deadline").value;
if (!code || !label) if (!code || !label) {
return window.showToast showToast(tr("fc_err_code_label"), "error");
? showToast(tr("fc_err_code_label"), "error") return;
: alert(tr("fc_err_code_label")); }
const fd = new FormData(); const fd = new FormData();
fd.append("action", "save_leave_type"); fd.append("action", "save_leave_type");
@@ -314,7 +311,7 @@ async function saveLeaveType() {
resetLeaveTypeForm(); resetLeaveTypeForm();
loadLeaveCatalog(); loadLeaveCatalog();
} catch (err) { } catch (err) {
alert(tr("error_occured") + " " + err.message); showToast((tr("fc_error") || "Erreur : ") + err.message, "error");
} }
} }
@@ -571,9 +568,11 @@ async function addMemberLeave(personId) {
).value; ).value;
if (!leaveCode) { if (!leaveCode) {
return window.showToast showToast(
? showToast("Veuillez sélectionner un type de congé", "error") tr("fc_err_select_leave") || "Veuillez sélectionner un type de congé",
: alert("Veuillez sélectionner un type de congé"); "error",
);
return;
} }
const fd = new FormData(); const fd = new FormData();
@@ -597,17 +596,17 @@ async function addMemberLeave(personId) {
if (window.showToast) showToast("Opération réussie !", "success"); if (window.showToast) showToast("Opération réussie !", "success");
loadMemberConfigView(); loadMemberConfigView();
} catch (err) { } catch (err) {
if (window.showToast) showToast("Erreur : " + err.message, "error"); showToast((tr("error_occured") || "Erreur : ") + err.message, "error");
else alert("Erreur: " + err.message);
} }
} }
async function deleteMemberLeave(id, personId) { async function deleteMemberLeave(id, personId) {
if ( if (
!confirm( !(await pachaConfirm(
tr("confirm_delete") || tr("btn_delete") || "Supprimer",
tr("fc_confirm_del_member_leave") ||
"Voulez-vous vraiment retirer ce congé pour ce membre ?", "Voulez-vous vraiment retirer ce congé pour ce membre ?",
) ))
) )
return; return;
@@ -629,12 +628,7 @@ async function deleteMemberLeave(id, personId) {
); );
loadMemberConfigView(); // Recharge la vue des attributions du membre loadMemberConfigView(); // Recharge la vue des attributions du membre
} catch (err) { } catch (err) {
if (window.showToast) showToast((tr("error_occured") || "Erreur : ") + err.message, "error");
showToast(
(tr("error_occured") || "Erreur") + " : " + err.message,
"error",
);
else alert("Erreur: " + err.message);
} }
} }
@@ -2365,7 +2359,7 @@ document.addEventListener("DOMContentLoaded", () => {
await this.refreshAllData(); // Recharge les graphiques en direct await this.refreshAllData(); // Recharge les graphiques en direct
} catch (err) { } catch (err) {
alert(tr("error_occured") + " " + err.message); showToast((tr("fc_error") || "Erreur : ") + err.message, "error");
} finally { } finally {
if (btn) { if (btn) {
btn.innerHTML = originalText; btn.innerHTML = originalText;
@@ -2682,7 +2676,7 @@ document.addEventListener("DOMContentLoaded", () => {
} }
await this.refreshAllData(); await this.refreshAllData();
} catch (e) { } catch (e) {
alert("Erreur: " + e.message); showToast((tr("error_occured") || "Erreur : ") + e.message, "error");
} }
} }
} }
+7 -8
View File
@@ -1190,9 +1190,7 @@ function openGlobalPlanningModal() {
const holidayData = JSON.parse(holidayDataJsonEl.textContent).main; const holidayData = JSON.parse(holidayDataJsonEl.textContent).main;
if (!holidayData.start_date || !holidayData.end_date) { if (!holidayData.start_date || !holidayData.end_date) {
alert( showToast(tr("hdl_js_missing_global_dates"), "error");
"Veuillez d'abord définir les dates globales du voyage dans 'Modifier les bases' ⚙️",
);
return; return;
} }
@@ -1957,7 +1955,8 @@ async function addQuickTransitExpense(
"/modules/holidays/includes/api/save_checkpoint.php", "/modules/holidays/includes/api/save_checkpoint.php",
{ method: "POST", body: fd }, { method: "POST", body: fd },
); );
if (!data.success) alert("Erreur : " + data.error); if (!data.success)
showToast((tr("error_occured") || "Erreur : ") + data.error, "error");
} catch (err) { } catch (err) {
console.error(err); console.error(err);
} }
@@ -1977,7 +1976,7 @@ function updateFuelPrice() {
localStorage.setItem("holidays_fuel_price", newPrice); localStorage.setItem("holidays_fuel_price", newPrice);
window.location.reload(); window.location.reload();
} else { } else {
alert("Prix invalide."); showToast(tr("hdl_invalid_price"), "error");
} }
} }
} }
@@ -2177,11 +2176,11 @@ async function deleteAttachment(fileId, btnElement) {
'<p style="text-align: center; font-size: 0.85rem; color: var(--text-muted); font-style: italic;">Aucun document pour cette étape.</p>'; '<p style="text-align: center; font-size: 0.85rem; color: var(--text-muted); font-style: italic;">Aucun document pour cette étape.</p>';
} }
} else { } else {
alert("Erreur : " + data.error); showToast("Erreur : " + data.error, "error");
row.style.opacity = "1"; row.style.opacity = "1";
} }
} catch (err) { } catch (err) {
alert("Erreur réseau lors de la suppression."); showToast(tr("hdl_js_network_error"), "error");
row.style.opacity = "1"; row.style.opacity = "1";
} }
} }
@@ -2194,7 +2193,7 @@ window.generateTravelBook = function () {
const btn = document.querySelector('button[onclick="generateTravelBook()"]'); const btn = document.querySelector('button[onclick="generateTravelBook()"]');
if (!element) { if (!element) {
alert("Erreur : Le modèle de carnet de voyage est introuvable."); showToast(tr("hdl_err_travel_book_missing"), "error");
return; return;
} }