From 85734450789266982248ee5b5197448dbff00813 Mon Sep 17 00:00:00 2001 From: erickson Date: Tue, 30 Jan 2007 18:35:13 +0000 Subject: [PATCH] fixed bug in date builder that caused date correction on invalid dates git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_0@6832 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- .../xul/staff_client/server/admin/closed_dates.js | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/Open-ILS/xul/staff_client/server/admin/closed_dates.js b/Open-ILS/xul/staff_client/server/admin/closed_dates.js index 80d31eba21..a4bd38f3ba 100644 --- a/Open-ILS/xul/staff_client/server/admin/closed_dates.js +++ b/Open-ILS/xul/staff_client/server/admin/closed_dates.js @@ -286,21 +286,26 @@ function cdDateStrToDate( str ) { var data = str.split(/ /); var year = data[0]; - var time = data[1]; + var time = data[1]; if(!cdVerifyDate(year)) return alertId('cd_invalid_date'); if(!cdVerifyTime(time)) return alertId('cd_invalid_time'); var yeardata = year.split(/-/); var timedata = time.split(/:/); + + /* seed the date with day = 1, which is a valid day for any month. + this prevents automatic date correction by the date code for days that + fall outside of the current or target month */ + date.setDate(1); - date.setFullYear(yeardata[0]); - date.setMonth(yeardata[1] - 1); - date.setDate(yeardata[2]); + date.setFullYear(new Number(yeardata[0])); + date.setMonth(new Number(yeardata[1]) - 1); + date.setDate(new Number(yeardata[2])); - date.setHours(timedata[0]); - date.setMinutes(timedata[1]); - date.setSeconds(timedata[2]); + date.setHours(new Number(timedata[0])); + date.setMinutes(new Number(timedata[1])); + date.setSeconds(new Number(timedata[2])); return date; } @@ -313,6 +318,7 @@ function cdNew() { if( ! $('cd_edit_allday_row').className.match(/hide_me/) ) { var date = $('cd_edit_allday_start_date').value; + start = cdDateStrToDate(date + ' 00:00:00'); end = cdDateStrToDate(date + ' 23:59:59'); -- 2.11.0