From: erickson Date: Tue, 30 Jan 2007 18:35:13 +0000 (+0000) Subject: fixed bug in date builder that caused date correction on invalid dates X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=c75d8ae90b601dd7baac5e67d672a343653ddaea;p=Evergreen.git fixed bug in date builder that caused date correction on invalid dates git-svn-id: svn://svn.open-ils.org/ILS/trunk@6832 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- 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');