added new stub actions for limit-to-import-errors and show all item import errors...
authorberick <berick@esilibrary.com>
Mon, 25 Apr 2011 20:34:54 +0000 (16:34 -0400)
committerBill Erickson <berick@esilibrary.com>
Wed, 6 Jul 2011 18:50:51 +0000 (14:50 -0400)
Open-ILS/web/css/skin/default/vandelay.css
Open-ILS/web/js/ui/default/vandelay/vandelay.js
Open-ILS/web/opac/locale/en-US/vandelay.dtd
Open-ILS/web/templates/default/vandelay/inc/queue.tt2

index 7476377..1f0303a 100644 (file)
@@ -34,3 +34,16 @@ table.dijitTooltipTable { border-collapse: separate; }
 #vl-import-error-record td:first-child { text-decoration: underline; }
 #vl-import-error-record td { padding: 5px; }
 #vl-error-import-error { font-weight: bold; }
+
+#vl-queue-filter-fieldset { padding-top: 3px; border:2px dashed #d9e8f9; }
+#vl-queue-filter-fieldset { margin: 5px; }
+#vl-queue-filter-fieldset td { padding: 5px; }
+#vl-queue-filter-fieldset th { padding: 5px; }
+#vl-queue-filter-fieldset legend { font-weight: bold; font-size: 1.3em }
+
+#vl-queue-filter-table { margin-left: 15px; padding-left: 15px; border-left: 2px dashed #d9e8f9;}
+#vl-queue-summary-table { margin-left: 15px; padding-left: 15px; border-left: 2px dashed #d9e8f9;}
+.queue-nav-table tr:nth-child(even) {background: #EEE}
+.queue-nav-table-label { font-weight: bold; text-decoration:underline;}
+.queue-pager-span { padding-right: 5px; margin-right: 5px; border-right: 2px solid #e8e1cf; }
+#vl-queue-paging-table td { padding-bottom: 0px; }
index 490d84c..b6022c2 100644 (file)
@@ -865,6 +865,9 @@ var handleRetrieveRecords = function() {
             dojo.byId('vl-queue-summary-name').innerHTML = summary.queue.name();
             dojo.byId('vl-queue-summary-total-count').innerHTML = summary.total +'';
             dojo.byId('vl-queue-summary-import-count').innerHTML = summary.imported + '';
+            dojo.byId('vl-queue-summary-import-item-count').innerHTML = summary.total_items + '';
+            dojo.byId('vl-queue-summary-rec-error-count').innerHTML = summary.rec_import_errors + '';
+            dojo.byId('vl-queue-summary-item-error-count').innerHTML = summary.item_import_errors + '';
         }
     );
 }
index 31fdc67..e94f8c7 100644 (file)
 <!ENTITY vandelay.id "ID">
 <!ENTITY vandelay.import.matches "Import Matches">
 <!ENTITY vandelay.import.records "Import Records">
-<!ENTITY vandelay.import.selected "Import Selected">
-<!ENTITY vandelay.import.all "Import All">
+<!ENTITY vandelay.import.selected "Import Selected Records">
+<!ENTITY vandelay.import.all "Import All  Records">
 <!ENTITY vandelay.import.time "Import Time">
 <!ENTITY vandelay.inspect.queue "Inspect Queue">
 <!ENTITY vandelay.last.edit.date "Last Edit Date">
-<!ENTITY vandelay.limit.to.collision.matches "Limit to Collision Matches">
+<!ENTITY vandelay.limit.to.collision.matches "Limit to Records with Matches">
 <!ENTITY vandelay.limit.to.non.imported "Limit to Non-Imported Records">
+<!ENTITY vandelay.limit.to.import_error "Limit to Records with Import Errors">
 <!ENTITY vandelay.marc.file.upload "Evergreen MARC File Upload">
 <!ENTITY vandelay.marc.record "MARC Record">
 <!ENTITY vandelay.matches "Matches">
-<!ENTITY vandelay.next.page "Next Page &#187;">
+<!ENTITY vandelay.next.page "Next &#187;">
 <!ENTITY vandelay.overlay.selected.record "Overlay selected record with imported record">
 <!ENTITY vandelay.overlay.target "Overlay Target">
 <!ENTITY vandelay.page "Page">
 <!ENTITY vandelay.powered.by.evergreen "Powered by Evergreen!">
-<!ENTITY vandelay.prev.page "&#171; Previous Page">
+<!ENTITY vandelay.prev.page "&#171; Previous">
 <!ENTITY vandelay.processing "Processing... ">
 <!ENTITY vandelay.queue "Queue">
 <!ENTITY vandelay.queue.type "Queue Type">
@@ -60,7 +61,7 @@
 <!ENTITY vandelay.refresh "Refresh">
 <!ENTITY vandelay.remove.advanced "Remove (advanced)">
 <!ENTITY vandelay.remove "Remove">
-<!ENTITY vandelay.results.per.page "Results Per Page">
+<!ENTITY vandelay.results.per.page "Records Per Page">
 <!ENTITY vandelay.retrieve.queue "Retrieve Queue">
 <!ENTITY vandelay.return "Return">
 <!ENTITY vandelay.select.cols "Select Columns">
 <!ENTITY vandelay.export.field_no_hint "(starting from 0)">
 <!ENTITY vandelay.export.bucket "Record Bucket ID">
 <!ENTITY vandelay.select_actions "-- Actions --">
-<!ENTITY vandelay.queue.total "Total:">
-<!ENTITY vandelay.queue.imported "Imported:">
+<!ENTITY vandelay.queue.total "Records in Queue:">
+<!ENTITY vandelay.queue.imported "Records Imported:">
 <!ENTITY vandelay.queue.column_picker.title "Column Picker">
 <!ENTITY vandelay.import.bib_sources "Select a Record Source">
index 4308898..25e22a2 100644 (file)
-<div dojoType="dijit.layout.ContentPane" layoutAlign='client'>
-    <table class='wide'>
-        <tr>
-            <td align='left'>
-                <h1>&vandelay.record.queue; <span style='font-style:italic;' id='vl-queue-summary-name'/></h1><br/>
-            </td>
-            <td align='right'>
-                &vandelay.queue.total; <span style='font-weight:bold;' id='vl-queue-summary-total-count'/>
-                &vandelay.queue.imported; <span style='font-weight:bold;' id='vl-queue-summary-import-count'/>
-            </td>
-        </tr>
-    </table>
-</div>
-
-<br/>
-
-<div jsId='queueItemsImportDialog' dojoType="dijit.Dialog" title="Import Items">
-    <div dojoType="dijit.layout.ContentPane">
-        <table class='form_table'>
-            <tbody>
+<div dojoType="dijit.layout.ContentPane" layoutAlign='client' style='margin-top:10px;'>
+    <fieldset id='vl-queue-filter-fieldset'>
+        <legend>Queue <span style='font-style:italic;' id='vl-queue-summary-name'/></legend>
+        <table width='100%'><tr>
+            <td> <!-- big left td -->
+            <table>
                 <tr>
-                    <td>&vandelay.auto.import.noncolliding;</td>
-                    <td colspan='4'>
-                        <input jsId='vlUploadQueueAutoImport2' dojoType='dijit.form.CheckBox'/>
+                    <td valign='top'>
+                        <table class='queue-nav-table'>
+                            <thead><tr><th colspan='2' class='queue-nav-table-label'>Queue Actions</th></tr></thead>
+                            <tbody>
+                                <tr><td><a href='#' onclick='vlHandleQueueItemsAction("import")'>&vandelay.import.selected;</a></td></tr>
+                                <tr><td><a href='#' onclick='vlHandleQueueItemsAction("import_all")'>&vandelay.import.all;</a></td></tr>
+                                <tr><td><a href='#' onclick='alert("coming soon"); return;vlHandleQueueItemsAction("item_errors")'>View Item Import Failures</a></td></tr>
+                                <tr><td><a href='#' onclick='
+                                    if(confirm("&vandelay.sure.to.delete.queue;")) {
+                                        vlDeleteQueue(currentType, currentQueueId, 
+                                            function() { displayGlobalDiv("vl-marc-upload-div"); });}'>&vandelay.delete.queue;</a></td></tr>
+                            </tbody>
+                        </table>
                     </td>
-                </tr>
-                <tr>
-                    <td>&vandelay.auto.import.auto_overlay_exact;</td>
-                    <td colspan='4'>
-                        <input jsId='vlUploadQueueAutoOverlayExact2' dojoType='dijit.form.CheckBox'/>
-                    </td>
-                </tr>
-                <tr>
-                    <td>&vandelay.auto.import.auto_overlay_1match;</td>
-                    <td colspan='4'>
-                        <input jsId='vlUploadQueueAutoOverlay1Match2' dojoType='dijit.form.CheckBox'/>
-                    </td>
-                </tr>
-                <tr>
-                    <td>&vandelay.auto.import.merge_profile;</td>
-                    <td colspan='4'>
-                        <div jsId='vlUploadMergeProfile2' 
-                            dojoType='dijit.form.FilteringSelect' required='false' labelAttr='name' searchAttr='name'/>
-                    </td>
-                </tr>
-                <tr>
-                    <td>
-                        <button dojoType='dijit.form.Button' jsId='queueItemsImportCancelButton'>Cancel</button>
+
+                    <td valign='top'>
+                        <table  id='vl-queue-summary-table' class='queue-nav-table'>
+                            <thead><tr><th colspan='2' class='queue-nav-table-label'>Queue Summary</th></tr></thead>
+                            <tbody>
+                                <tr><td>&vandelay.queue.total;</td><td> <span style='font-weight:bold;' id='vl-queue-summary-total-count'/></td></tr>
+                                <tr><td>&vandelay.queue.imported;</td><td> <span style='font-weight:bold;' id='vl-queue-summary-import-count'/></td></tr>
+                                <tr><td>Record Import Failures</td><td> <span style='font-weight:bold;' id='vl-queue-summary-rec-error-count'/></td></tr>
+                                <tr><td>Items in Queue</td><td> <span style='font-weight:bold;' id='vl-queue-summary-import-item-count'/></td></tr>
+                                <tr><td>Item Import Failures</td><td> <span style='font-weight:bold;' id='vl-queue-summary-item-error-count'/></td></tr>
+                            </tbody>
+                        </table>
                     </td>
-                    <td>
-                        <button dojoType='dijit.form.Button' jsId='queueItemsImportGoButton'>Import</button>
+
+                    <td valign='top'> <!-- filters -->
+                        <table id='vl-queue-filter-table' class='queue-nav-table'>
+                            <thead><tr><th colspan='2' class='queue-nav-table-label'>Queue Filters</th></tr></thead>
+                            <tbody>
+                                <tr>
+                                    <td>&vandelay.limit.to.collision.matches;</td>
+                                    <td>
+                                        <input dojoType='dijit.form.CheckBox' 
+                                            jsId='vlQueueGridShowMatches' onchange='retrieveQueuedRecords();'/>
+                                    </td>
+                                </tr>
+                                <tr>
+                                    <td>&vandelay.limit.to.non.imported;</td>
+                                    <td>
+                                        <input dojoType='dijit.form.CheckBox' 
+                                            jsId='vlQueueGridShowNonImport' onchange='retrieveQueuedRecords();'/>
+                                    </td>
+                                </tr>
+                                <tr>
+                                    <td>&vandelay.limit.to.import_error;</td>
+                                    <td>
+                                        <input dojoType='dijit.form.CheckBox' 
+                                            jsId='vlQueueGridShowImportErrors' onchange='retrieveQueuedRecords();'/>
+                                    </td>
+                                </tr>
+                            </tbody>
+                        </table>
                     </td>
                 </tr>
-            </tbody>
-        </table>
-    </div>
+            </table>
+        </td>
+
+        <td align='right' valign='bottom'> <!-- big right td -->
+            <table id='vl-queue-paging-table' class='queue-nav-table'>
+                <tbody>
+                    <tr><td valign='bottom' align='right'>
+                        <span style='padding-right:5px;'>&vandelay.results.per.page;</span>
+                        <span class='queue-pager-span'>
+                            <select jsId='vlQueueDisplayLimit' id='vl-queue-display-limit-selector'
+                                value='10' onchange='retrieveQueuedRecords();'>
+                                <option value='10'>10</option>
+                                <option value='20'>20</option>
+                                <option value='50'>50</option>
+                                <option value='100'>100</option>
+                            </select>
+                        </span>
+
+                        <span class='queue-pager-span'>
+                            <span style='padding-left:5px;'>&vandelay.page;</span>
+                            <input style='width:36px;' dojoType='dijit.form.TextBox' jsId='vlQueueDisplayPage' value='1'/>
+                        </span>
+
+                        <span style='padding-right:8px;'>
+                            <a href='javascript:void(0);' onclick='vlQueueGridPrevPage();'>&vandelay.prev.page;</a>
+                        </span>
+                        <span style='padding-right:10px;'>
+                            <a href='javascript:void(0);' onclick='vlQueueGridNextPage();'>&vandelay.next.page;</a>
+                        </span>
+                    </td></tr>
+                </tbody>
+            </table>
+        </td>
+    </tr></table>
+    </fieldset>
 </div>
 
 <!-- queue grid navigation row -->
 <div dojoType="dijit.layout.ContentPane" layoutAlign='client'>
-
     <table width='100%' style='margin-bottom:0px;'>
         <tr>
+        <!--
             <td align='left' valign='bottom'>
                 <select id='vl-queue-actions-selector'>
                     <option selected='selected' disabled='disabled' value='select-actions'>&vandelay.select_actions;</option>
                     }
                 </script>
             </td>
-            <td align='middle' valign='bottom'>
+            <td align='right' valign='bottom'>
                 <style type="text/css">.filter_span { padding-right: 5px; border-right: 2px solid #e8e1cf; } </style>
-                <table><tr>
-                    <td>
-                        <span>&vandelay.limit.to.collision.matches;</span>
-                        <span class='filter_span'>
-                            <input dojoType='dijit.form.CheckBox' jsId='vlQueueGridShowMatches' onchange='retrieveQueuedRecords();'/>
-                        </span>
-
-                        <span>&vandelay.limit.to.non.imported;</span>
-                        <span class='filter_span'>
-                            <input dojoType='dijit.form.CheckBox' 
-                                jsId='vlQueueGridShowNonImport' onchange='retrieveQueuedRecords();'/>
-                        </span>
-
-                        <span>&vandelay.results.per.page;</span>
-                        <span class='filter_span'>
-                            <select jsId='vlQueueDisplayLimit' id='vl-queue-display-limit-selector'
-                                value='10' onchange='retrieveQueuedRecords();'>
-                                <option value='10'>10</option>
-                                <option value='20'>20</option>
-                                <option value='50'>50</option>
-                                <option value='100'>100</option>
-                            </select>
-                        </span>
+                <span>&vandelay.results.per.page;</span>
+                <span class='filter_span'>
+                    <select jsId='vlQueueDisplayLimit' id='vl-queue-display-limit-selector'
+                        value='10' onchange='retrieveQueuedRecords();'>
+                        <option value='10'>10</option>
+                        <option value='20'>20</option>
+                        <option value='50'>50</option>
+                        <option value='100'>100</option>
+                    </select>
+                </span>
+                <span style='padding-left:5px;'>&vandelay.page;</span>
+                <input style='width:36px;' dojoType='dijit.form.TextBox' jsId='vlQueueDisplayPage' value='1'/>
 
-                        <span style='padding-left:5px;'>&vandelay.page;</span>
-                        <input style='width:36px;' dojoType='dijit.form.TextBox' jsId='vlQueueDisplayPage' value='1'/>
-                    </td>
-                </tr></table>
-            </td>
-            <td align='right' valign='bottom'>
                 <span style='padding-right:4px;'>
                     <a href='javascript:void(0);' onclick='vlQueueGridPrevPage();'>&vandelay.prev.page;</a>
                 </span>
                     <a href='javascript:void(0);' onclick='vlQueueGridNextPage();'>&vandelay.next.page;</a>
                 </span>
             </td>
+            -->
         </tr>
     </table>
 </div>
                     get='vlGetViewErrors'
                     formatter='vlFormatViewErrors'
                     styles='text-align: center;'
-                    nonSelectable='true'>Import Errors</th>
+                    nonSelectable='true'>Import Failures</th>
                 <th
                     field='import_time'
                     styles='text-align: center;'
                     get='vlGetViewErrors'
                     formatter='vlFormatViewErrors'
                     styles='text-align: center;'
-                    nonSelectable='true'>Import Errors</th>
+                    nonSelectable='true'>Import Failures</th>
                 <th
                     field='import_time'
                     styles='text-align: center;'
     <div/>
 </div>
 
+<div jsId='queueItemsImportDialog' dojoType="dijit.Dialog" title="Import Items">
+    <div dojoType="dijit.layout.ContentPane">
+        <table class='form_table'>
+            <tbody>
+                <tr>
+                    <td>&vandelay.auto.import.noncolliding;</td>
+                    <td colspan='4'>
+                        <input jsId='vlUploadQueueAutoImport2' dojoType='dijit.form.CheckBox'/>
+                    </td>
+                </tr>
+                <tr>
+                    <td>&vandelay.auto.import.auto_overlay_exact;</td>
+                    <td colspan='4'>
+                        <input jsId='vlUploadQueueAutoOverlayExact2' dojoType='dijit.form.CheckBox'/>
+                    </td>
+                </tr>
+                <tr>
+                    <td>&vandelay.auto.import.auto_overlay_1match;</td>
+                    <td colspan='4'>
+                        <input jsId='vlUploadQueueAutoOverlay1Match2' dojoType='dijit.form.CheckBox'/>
+                    </td>
+                </tr>
+                <tr>
+                    <td>&vandelay.auto.import.merge_profile;</td>
+                    <td colspan='4'>
+                        <div jsId='vlUploadMergeProfile2' 
+                            dojoType='dijit.form.FilteringSelect' required='false' labelAttr='name' searchAttr='name'/>
+                    </td>
+                </tr>
+                <tr>
+                    <td>
+                        <button dojoType='dijit.form.Button' jsId='queueItemsImportCancelButton'>Cancel</button>
+                    </td>
+                    <td>
+                        <button dojoType='dijit.form.Button' jsId='queueItemsImportGoButton'>Import</button>
+                    </td>
+                </tr>
+            </tbody>
+        </table>
+    </div>
+</div>
+
+