From: erickson Date: Tue, 1 Apr 2008 14:24:23 +0000 (+0000) Subject: added style to indicate a hold thaw date is either invalid or <= today X-Git-Url: https://old-git.evergreen-ils.org/?a=commitdiff_plain;h=11e0e5b25624f70f006a125c52047e7a52874504;p=Evergreen.git added style to indicate a hold thaw date is either invalid or <= today git-svn-id: svn://svn.open-ils.org/ILS/branches/rel_1_2@9174 dcc99617-32d9-48b4-a31d-7c20da2025e4 --- diff --git a/Open-ILS/web/opac/skin/default/js/holds.js b/Open-ILS/web/opac/skin/default/js/holds.js index d987804532..57b042624f 100644 --- a/Open-ILS/web/opac/skin/default/js/holds.js +++ b/Open-ILS/web/opac/skin/default/js/holds.js @@ -27,6 +27,9 @@ function holdsHandleStaff() { }; } +$('holds_frozen_thaw_input').onkeyup = + function(){holdsVerifyThawDateUI('holds_frozen_thaw_input');} + function _holdsHandleStaffMe() { holdArgs.recipient = G.user; holdsDrawEditor(); @@ -707,10 +710,15 @@ function holdsBuildHoldFromWindow() { hold.frozen('t'); unHideMe($('hold_frozen_thaw_row')); thawDate = $('holds_frozen_thaw_input').value; - if(thawDate) - hold.thaw_date(thawDate); - else + if(thawDate) { + if(holdsVerifyThawDate(thawDate)) { + hold.thaw_date(thawDate); + } else { + /* XXX */ + } + } else { hold.thaw_date(null); + } } //check for alternate hold formats @@ -815,3 +823,31 @@ function holdsUpdate(hold, user) { } +/* verify that the thaw date is valid and after today */ +function holdsVerifyThawDate(thawDate) { + thawDate = Date.parseIso8601(thawDate); + if(thawDate) { + var today = new Date(); + today = new Date(today.getFullYear(), today.getMonth(), today.getDate()) + if(thawDate > today) + return thawDate.iso8601Format('YMD', false, false, true); + } + return null; +} + + +function holdsVerifyThawDateUI(element) { + value = $(element).value; + + if(!value) { + removeCSSClass($(element), 'invalid_field'); + return; + } + + if(!holdsVerifyThawDate(value)) { + addCSSClass($(element), 'invalid_field'); + } else { + removeCSSClass($(element), 'invalid_field'); + } +} + diff --git a/Open-ILS/web/opac/skin/default/js/myopac.js b/Open-ILS/web/opac/skin/default/js/myopac.js index 1f8170058c..ec1c057843 100644 --- a/Open-ILS/web/opac/skin/default/js/myopac.js +++ b/Open-ILS/web/opac/skin/default/js/myopac.js @@ -19,6 +19,9 @@ function clearNodes( node, keepArray ) { function myOPACInit() { if(!(G.user && G.user.session)) initLogin(); else myOPACChangePage( "summary" ); + + $('myopac_holds_thaw_date_input').onkeyup = + function(){holdsVerifyThawDateUI('myopac_holds_thaw_date_input'); } } function myopacReload() { @@ -1432,8 +1435,8 @@ function myopacDrawHoldThawDateForm() { function myopacApplyThawDate() { var dateString = $('myopac_holds_thaw_date_input').value; if(dateString) { - dateString = (dateString == null) ? null : - Date.parseIso8601(dateString).iso8601Format('YMDHM', false, false, true); + dateString = holdsVerifyThawDate(dateString); + if(!dateString) return; } else { dateString = null; } diff --git a/Open-ILS/web/opac/skin/default/xml/common/holds.xml b/Open-ILS/web/opac/skin/default/xml/common/holds.xml index 68367b8bc4..fdd251c67a 100644 --- a/Open-ILS/web/opac/skin/default/xml/common/holds.xml +++ b/Open-ILS/web/opac/skin/default/xml/common/holds.xml @@ -3,6 +3,7 @@ +
diff --git a/Open-ILS/web/opac/theme/default/css/colors.css b/Open-ILS/web/opac/theme/default/css/colors.css index f12fdb8a72..9bfe478d33 100644 --- a/Open-ILS/web/opac/theme/default/css/colors.css +++ b/Open-ILS/web/opac/theme/default/css/colors.css @@ -94,3 +94,5 @@ a:focus { background: #E0F0E0; color: #000000;} .check_mark { color: green; } #myopac_holds_thaw_date_form { border: 1px solid #E0E0E0; } + +.invalid_field { border: 3px solid red; }