From 334d1acd3797931c6e9e74290f856ae03c9b6b98 Mon Sep 17 00:00:00 2001 From: mariomitte Date: Tue, 8 Sep 2026 06:59:53 +0200 Subject: [PATCH] fix: restore monthly archive download exports Re-add missing monthly archive export functions in fleetDashboardStore used by TaskCalendarWidget so the frontend Docker build resolves imports and starts cleanly. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- frontend/src/stores/fleetDashboardStore.js | 34 ++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/frontend/src/stores/fleetDashboardStore.js b/frontend/src/stores/fleetDashboardStore.js index 7e88851..9318966 100644 --- a/frontend/src/stores/fleetDashboardStore.js +++ b/frontend/src/stores/fleetDashboardStore.js @@ -1021,6 +1021,40 @@ export async function downloadMonthlyCostsReport(year, month) { } } +export async function downloadMonthlyServiceTasksArchive(year, month) { + try { + const payload = await api.post('fleet/reports/monthly-service-tasks-archive-request/', { year, month }); + await _refreshNotificationsAsync(); + if (payload?.status === 'ready' && payload?.download_url) { + showToast('ZIP arhiva servisnih taskova je spremna. Preuzmite je kroz notifikaciju.', 'success'); + return payload; + } + showToast('ZIP arhiva servisnih taskova se generira u pozadini. Preuzimanje je dostupno kroz notifikaciju.', 'info'); + _schedulePdfNotificationPolling(); + return payload; + } catch (err) { + showToast(err?.message || 'Pokretanje generiranja ZIP arhive servisnih taskova nije uspjelo.', 'error'); + throw err; + } +} + +export async function downloadMonthlyWorkOrdersArchive(year, month) { + try { + const payload = await api.post('fleet/reports/monthly-work-orders-archive-request/', { year, month }); + await _refreshNotificationsAsync(); + if (payload?.status === 'ready' && payload?.download_url) { + showToast('ZIP arhiva putnih naloga je spremna. Preuzmite je kroz notifikaciju.', 'success'); + return payload; + } + showToast('ZIP arhiva putnih naloga se generira u pozadini. Preuzimanje je dostupno kroz notifikaciju.', 'info'); + _schedulePdfNotificationPolling(); + return payload; + } catch (err) { + showToast(err?.message || 'Pokretanje generiranja ZIP arhive putnih naloga nije uspjelo.', 'error'); + throw err; + } +} + export async function downloadGeneratedPdfByUrl(downloadUrl, filename = 'document.pdf') { if (!downloadUrl) { showToast('Nedostaje URL za preuzimanje PDF-a.', 'error');