changed checks and Xs to yes/no to make IE happy. moved thaw date from prompt to...
authorerickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 4 Mar 2008 20:41:23 +0000 (20:41 +0000)
committererickson <erickson@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Tue, 4 Mar 2008 20:41:23 +0000 (20:41 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@8863 dcc99617-32d9-48b4-a31d-7c20da2025e4

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

index b194663..b45c40b 100644 (file)
@@ -209,23 +209,22 @@ avoid using bookbags all together.  Thank you.">
 <!ENTITY myopac.holds.edit "Edit">
 <!ENTITY myopac.holds.cancel "Cancel">
 <!ENTITY myopac.holds.verify "If you wish to cancel the selected hold, click OK, otherwise click Cancel.">
-<!ENTITY myopac.holds.freeze_selected "Freeze">
-<!ENTITY myopac.holds.thaw_selected "Un-freeze">
-<!ENTITY myopac.holds.thaw_date_selected "Set Un-freeze date">
+<!ENTITY myopac.holds.freeze_selected "Suspend">
+<!ENTITY myopac.holds.thaw_selected "Activate">
+<!ENTITY myopac.holds.thaw_date_selected "Set Active Date">
 <!ENTITY myopac.holds.cancel_selected "Cancel">
 <!ENTITY myopac.holds.processing "Processing holds... This may take a moment.">
 <!ENTITY myopac.holds.actions 'Actions for selected holds'>
 <!ENTITY myopac.holds.cancel.confirm 'Are you sure you wish to cancel the selected holds?'>
-<!ENTITY myopac.holds.freeze.confirm 'Are you sure you wish to freeze the selected holds?
-Note that if an item has already been selected to fulfill the hold, it will not be frozen'>
-<!ENTITY myopac.holds.thaw.confirm 'Are you sure you wish to un-freeze the selected holds?'>
-<!ENTITY myopac.holds.thaw_date.confirm 'Are you sure you wish to change the un-freeze date for the selected holds?'>
-<!ENTITY myopac.holds.freeze.select_thaw "Select an 'Un-Freeze' date.  This is the date at which the holds will become active again.
-If no date is chosen, the holds will remain frozen until they are manually un-frozen.">
-
-<!ENTITY opac.holds.freeze "Freeze this hold">
-<!ENTITY opac.holds.freeze.help "A 'frozen' will retain its place in the queue, but will not be fulfilled until it has been unfrozen.">
-<!ENTITY opac.holds.freeze.thaw_date "Automatically un-freeze hold on:">
+<!ENTITY myopac.holds.freeze.confirm 'Are you sure you wish to suspend the selected holds?
+If an item has already been selected to fulfill the hold, it will not be suspended'>
+<!ENTITY myopac.holds.thaw.confirm 'Are you sure you wish to activate the selected holds?'>
+<!ENTITY myopac.holds.thaw_date.confirm 'Are you sure you wish to change the activate date for the selected holds?'>
+<!ENTITY myopac.holds.freeze.select_thaw "Select a 'Suspend' date.  This is the date at which the holds will become active again.  If no date is chosen, the holds will remain suspended until they are manually activated.">
+
+<!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.freeze.thaw_date.format "YYYY-MM-DD">
 
 <!--   ================================================================= 
@@ -249,8 +248,8 @@ If no date is chosen, the holds will remain frozen until they are manually un-fr
 <!ENTITY myopac.prefs.help "This setting defines how you will be notified of holds that are ready to be picked up from the library.
 By default, holds will use the notification style you choose here.  
 However, you will still have the option to change individual holds regardless of this setting.">
-<!ENTITY myopac.holds.unfrozen "Un-Frozen">
-<!ENTITY myopac.holds.frozen.until "Frozen Until">
+<!ENTITY myopac.holds.unfrozen "Active">
+<!ENTITY myopac.holds.frozen.until "Suspend Until...">
 
 <!--   ================================================================= 
         MyOPAC Summary page
index e2b6188..e16fb41 100644 (file)
@@ -1340,7 +1340,7 @@ function myopacSelectedHoldsRows() {
 }
 
 var myopacProcessedHolds = 0;
-var myopacTotalHoldsToProcess = 0;
+var myopacHoldsToProcess = 0;
 function myopacDoHoldAction() {
 
     var selectedRows = myopacSelectedHoldsRows();
@@ -1351,7 +1351,6 @@ function myopacDoHoldAction() {
     myopacProcessedHolds = 0;
 
     if(!confirmId('myopac.holds.'+action+'.confirm')) return;
-
     myopacSelectNoneHolds(); /* clear the selection */
 
 
@@ -1376,17 +1375,23 @@ function myopacDoHoldAction() {
                 break;
         }
     }
-    myopacTotalHoldsToProcess = holds.length;
-    if(myopacTotalHoldsToProcess == 0) return;
-    myopacShowHoldProcessing();
+    myopacHoldsToProcess = holds;
+    if(myopacHoldsToProcess.length == 0) return;
+
+    if(action == 'thaw_date' || action == 'freeze') 
+        myopacDrawHoldThawDateForm();
+    else
+    myopacProcessHolds(action);
+}
 
-    var thawDate = null;
-    var thawDateSet = false;
 
+function myopacProcessHolds(action, thawDate) {
+
+    myopacShowHoldProcessing();
     /* now we process them */
-    for(var i = 0; i < holds.length; i++) {
+    for(var i = 0; i < myopacHoldsToProcess.length; i++) {
 
-        hold = holds[i];
+        hold = myopacHoldsToProcess[i];
         
         var req;
         switch(action) { 
@@ -1402,23 +1407,12 @@ function myopacDoHoldAction() {
                 break;
 
             case 'thaw_date':
-                if(!thawDateSet)
-                    thawDate = prompt($('myopac.holds.freeze.select_thaw').innerHTML) || null;
-                thawDateSet = true;
-                hold.thaw_date(thawDate);
-                req = new Request(UPDATE_HOLD, G.user.session, hold);
-                break;
-
-
             case 'freeze':
-                if(!thawDateSet)
-                    thawDate = prompt($('myopac.holds.freeze.select_thaw').innerHTML);
-                thawDateSet = true;
                 hold.frozen('t');
-                if(thawDate) 
-                    hold.thaw_date(thawDate); 
+                hold.thaw_date(thawDate); 
                 req = new Request(UPDATE_HOLD, G.user.session, hold);
                 break;
+                //thawDate = prompt($('myopac.holds.freeze.select_thaw').innerHTML);
 
         }
 
@@ -1428,6 +1422,25 @@ function myopacDoHoldAction() {
     }
 }
 
+function myopacDrawHoldThawDateForm() {
+    hideMe($('myopac_holds_main_table'));
+    unHideMe($('myopac_holds_thaw_date_form'));
+    $('myopac_holds_thaw_date_input').focus();
+    Calendar.setup({
+        inputField  : "myopac_holds_thaw_date_input",
+        ifFormat    : "%Y-%m-%d",
+        button      : "myopac_holds_thaw_date_img",
+        align       : "Tl",
+        singleClick : true
+    });
+}
+
+function myopacApplyThawDate() {
+    var dateString = $('myopac_holds_thaw_date_input').value;
+    dateString = (dateString == null) ? null : Date.parseIso8601(dateString).iso8601Format('YMDHM', false, false, true);
+    myopacProcessHolds('freeze', dateString);
+}
+
 function myopacHoldIDFromRow(row) {
     return row.id.replace(/.*_(\d+)$/, '$1');
 }
@@ -1440,11 +1453,13 @@ function myopacShowHoldProcessing() {
 function myopacHideHoldProcessing() {
     hideMe($('myopac_holds_processing'));
     unHideMe($('myopac_holds_main_table'));
+    hideMe($('myopac_holds_thaw_date_form'));
 }
 
 function myopacBatchHoldCallback(r) {
-    r.getResultObject();
-    if(++myopacProcessedHolds >= myopacTotalHoldsToProcess) {
+    if(r) /* force load any exceptions */
+        r.getResultObject();
+    if(++myopacProcessedHolds >= myopacHoldsToProcess.length) {
         myopacHideHoldProcessing();
         holdCache = {};
         holdStatusCache = {};
index bd4e8e8..1b6ba34 100644 (file)
                 <tr>
                     <td class='holds_cell'>
                         &opac.holds.freeze;
-                        (<a class='classic_link' href='javascript:alert("&opac.holds.freeze.help;");'>&common.help;</a>)
+                        <a class='classic_link' href='javascript:alert("&opac.holds.freeze.help;");'>&common.help;</a>
                         </td>
                     <td class='holds_cell'>
                         <input type='checkbox' id='holds_frozen_chkbox' 
index 7b81763..47e386c 100644 (file)
         <tr><td>&myopac.holds.processing;</td></tr>
     </table>
 
+    <div id='myopac_holds_thaw_date_form' class='hide_me'>
+        <p>&myopac.holds.freeze.select_thaw;</p>
+        <p>
+            <input type='text' id='myopac_holds_thaw_date_input'/> 
+            <img src="<!--#echo var='OILS_OPAC_JS_HOST'-->/common/js/jscalendar/img.gif"  id='myopac_holds_thaw_date_img' class='cal_img'/>
+            (&opac.holds.freeze.thaw_date.format;)
+        </p>
+        <p>
+            <button onclick='myopacApplyThawDate();'>&common.submit;</button>
+        </p>
+    </div>
+
        <table width='100%' class='light_border data_grid data_grid_center' id='myopac_holds_main_table'>
 
                <thead class='color_3'>
                                </td>
 
                 <td>
+                    <!-- These characaters do not display in Internet Exploror, *sigh*
                     <span name='myopac_hold_unfrozen_false' class='x_mark'>&#x2717;</span>
                     <span name='myopac_hold_unfrozen_true' class='hide_me check_mark'>&#x2713;</span>
+                    -->
+                    <span name='myopac_hold_unfrozen_false' class='x_mark'>&common.no;</span>
+                    <span name='myopac_hold_unfrozen_true' class='hide_me check_mark'>&common.yes;</span>
                 </td>
 
                 <td name='myopac_holds_frozen_until'></td>