show default expiration date in hold editor and allow for expire date editing. pass...
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 11 Aug 2008 19:30:50 +0000 (19:30 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 11 Aug 2008 19:30:50 +0000 (19:30 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@10339 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/web/opac/locale/en-US/opac.dtd
Open-ILS/web/opac/skin/default/js/holds.js
Open-ILS/web/opac/skin/default/xml/common/holds.xml

index 0ef11d9..7e3ff99 100644 (file)
@@ -223,6 +223,7 @@ If an item has already been selected to fulfill the hold, it will not be suspend
 <!ENTITY opac.holds.freeze "Suspend this hold">
 <!ENTITY opac.holds.freeze.help "A suspended hold will retain its place in the queue, but will not be fulfilled until it has been activated.">
 <!ENTITY opac.holds.freeze.thaw_date "Automatically activate hold on:">
+<!ENTITY opac.holds.expire_time "Hold expiration date">
 
 <!--   ================================================================= 
        MyOPAC Preferences Page 
index 930f17c..0e44dab 100644 (file)
@@ -143,12 +143,14 @@ function _holdsUpdateEditHold() {
                $('holds_enable_email').checked = false;
        }
 
+    dijit.byId('holds_expire_time').setValue(dojo.date.stamp.fromISOString(hold.expire_time()));
+
     /* populate the hold freezing info */
     if(!frozenbox.disabled && isTrue(hold.frozen())) {
         frozenbox.checked = true;
         unHideMe($('hold_frozen_thaw_row'));
         if(hold.thaw_date()) {
-            dijit.byId('holds_frozen_thaw_input').setValue(hold.thaw_date());
+            dijit.byId('holds_frozen_thaw_input').setValue(dojo.date.stamp.fromISOString(hold.thaw_date()));
         } else {
             dijit.byId('holds_frozen_thaw_input').setValue('');
         }
@@ -451,7 +453,6 @@ function __holdsDrawWindow() {
                }
        }
 
-    //if(!G.user.email()) {
     if(!holdArgs.recipient.email()) {
                $('holds_enable_email').checked = false;        
                $('holds_enable_email').disabled = true;
@@ -479,6 +480,13 @@ function __holdsDrawWindow() {
     $('holds_frozen_chkbox').checked = false;
     hideMe($('hold_frozen_thaw_row'));
 
+    var interval = fetchOrgSettingDefault(holdArgs.recipient.home_ou(), 'circ.hold_expire_interval');
+    var secs = 0;
+    if(interval)
+        secs = interval_to_seconds(interval);
+    var expire = new Date();
+    expire.setTime(expire.getTime() + Number(secs + '000'));
+    dijit.byId('holds_expire_time').setValue(expire);
 }
 
 function holdsParseMRFormats(str) {
@@ -717,6 +725,13 @@ function holdsBuildHoldFromWindow() {
        hold.target(target);
        hold.hold_type(holdArgs.type);
 
+    var expireDate = dojo.date.stamp.toISOString(dijit.byId('holds_expire_time').getValue())
+    expireDate = holdsVerifyThawDate(expireDate); 
+    if(expireDate)
+        hold.expire_time(expireDate);
+    else 
+        return;
+
     // see if this hold should be frozen and for how long
     if($('holds_frozen_chkbox').checked) {
         hold.frozen('t');
index b5899e7..ea7aec0 100644 (file)
                                        </td>
                                </tr>
 
+                               <tr>
+                                       <td class='holds_cell'>&opac.holds.expire_time;</td>
+                                       <td class='holds_cell'>
+                        <input dojoType="dijit.form.DateTextBox" size='10' maxlength='10' id='holds_expire_time' />
+                                       </td>
+                               </tr>
+
                 <tr>
                     <td class='holds_cell'>
                         &opac.holds.freeze;