From 73b9a3d8906ce9eea70bbbd7a1afac7af8dfa948 Mon Sep 17 00:00:00 2001 From: "r.mubarakzyanov" Date: Sat, 18 Apr 2026 16:25:20 +0300 Subject: [PATCH] dueDate autofill --- public/userarea/scadenzario/index.php | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/public/userarea/scadenzario/index.php b/public/userarea/scadenzario/index.php index aa2a259..780884d 100644 --- a/public/userarea/scadenzario/index.php +++ b/public/userarea/scadenzario/index.php @@ -735,6 +735,32 @@ $today = date('Y-m-d'); width: '100%' }); + // --- Auto-calc due_date from document_date + recurrence --- + var RECURRENCE_OFFSETS = { + monthly: { months: 1 }, + quarterly: { months: 3 }, + semiannual: { months: 6 }, + annual: { years: 1 }, + biennial: { years: 2 }, + triennial: { years: 3 }, + quinquennial: { years: 5 } + }; + function computeDueDate() { + var docVal = document.getElementById('dlDocDate').value; + var recurrence = document.getElementById('dlRecurrence').value; + var offset = RECURRENCE_OFFSETS[recurrence]; + if (!docVal || !offset) return; + var d = new Date(docVal + 'T00:00:00'); + if (isNaN(d.getTime())) return; + if (offset.months) d.setMonth(d.getMonth() + offset.months); + if (offset.years) d.setFullYear(d.getFullYear() + offset.years); + var iso = d.getFullYear() + '-' + + String(d.getMonth() + 1).padStart(2, '0') + '-' + + String(d.getDate()).padStart(2, '0'); + document.getElementById('dlDueDate').value = iso; + } + $('#dlDocDate, #dlRecurrence').on('change', computeDueDate); + // --- DataTables custom filters --- $.fn.dataTable.ext.search.push(function(settings, data, dataIndex) { if (settings.nTable.id !== 'deadlinesTable') return true;