LP#1444644 Copy Import Development Work
[working/Evergreen.git] / Open-ILS / src / templates / vandelay / inc / queue.tt2
1 <style type="text/css">
2     @import "[% ctx.media_prefix %]/js/dojo/dojox/form/resources/CheckedMultiSelect.css";
3 </style>
4 <div dojoType="dijit.layout.ContentPane" layoutAlign='client' style='margin-top:10px;'>
5     <fieldset id='vl-queue-filter-fieldset'>
6         <legend>[% l('Queue ') %]<span style='font-style:italic;' id='vl-queue-summary-name'></span></legend>
7         <table width='100%'><tr>
8             <td> <!-- big left td -->
9             <table>
10                 <tr>
11                     <td valign='top'>
12                         <table class='queue-nav-table'>
13                             <thead><tr><th colspan='2' class='queue-nav-table-label'>[% l('Queue Actions') %]</th></tr></thead>
14                             <tbody>
15                                 <tr><td><a href='javascript:;' onclick='vlHandleQueueItemsAction("import")'>[% l('Import Selected Records') %]</a></td></tr>
16                                 <tr><td><a href='javascript:;' onclick='vlHandleQueueItemsAction("import_all")'>[% l('Import All  Records') %]</a></td></tr>
17                                 <tr><td><a href='javascript:;' onclick='vlLoadErrorUIAll();'>[% l('View Import Items') %]</a></td></tr>
18                                 <tr><td><a href='javascript:;' onclick='vlExportRecordQueue({"nonimported":1})'>[% l('Export Non-Imported Records') %]</a></td></tr>
19                                 <tr><td><a href='javascript:;' onclick='
20                                     if(confirm("[% l('Are you sure you want to delete this queue?') %]")) {
21                                         vlDeleteQueue(currentType, currentQueueId, 
22                                             function() { displayGlobalDiv("vl-marc-upload-div"); });}'>[% l('Delete Queue') %]</a></td></tr>
23                                 <tr id='add-to-bucket-action'><td><a href='javascript:;' onclick='createBucketDialog.show()'>[% l('Copy To Bucket') %]</a></td></tr>
24                             </tbody>
25                         </table>
26                     </td>
27
28                     <td valign='top'>
29                         <table  id='vl-queue-summary-table' class='queue-nav-table'>
30                             <thead><tr><th colspan='2' class='queue-nav-table-label'>[% l('Queue Summary') %]</th></tr></thead>
31                             <tbody>
32                                 <tr><td>[% l('Records in Queue:') %]</td><td> <span style='font-weight:bold;' id='vl-queue-summary-total-count'></span></td></tr>
33                                 <tr><td>[% l('Records Imported:') %]</td><td> <span style='font-weight:bold;' id='vl-queue-summary-import-count'></span></td></tr>
34                                 <tr><td>[% l('Record Import Failures') %]</td><td> <span style='font-weight:bold;' id='vl-queue-summary-rec-error-count'></span></td></tr>
35                             </tbody>
36                             <tbody id='vl-queue-summary-import-item-summary'>
37                                 <tr><td>[% l('Items in Queue') %]</td><td> <span style='font-weight:bold;' id='vl-queue-summary-import-item-count'></span></td></tr>
38                                 <tr><td>[% l('Items Imported') %]</td><td> <span style='font-weight:bold;' id='vl-queue-summary-import-item-imported-count'></span></td></tr>
39                                 <tr><td>[% l('Item Import Failures') %]</td><td> <span style='font-weight:bold;' id='vl-queue-summary-item-error-count'></span></td></tr>
40                             </tbody>
41                         </table>
42                     </td>
43
44                     <td valign='top'> <!-- filters -->
45                         <table id='vl-queue-filter-table' class='queue-nav-table'>
46                             <thead><tr><th colspan='2' class='queue-nav-table-label'>[% l('Queue Filters') %]</th></tr></thead>
47                             <tbody>
48                                 <tr>
49                                     <td>[% l('Limit to Records with Matches') %]</td>
50                                     <td>
51                                         <input dojoType='dijit.form.CheckBox' 
52                                             jsId='vlQueueGridShowMatches' onchange='retrieveQueuedRecords();'/>
53                                     </td>
54                                 </tr>
55                                 <tr>
56                                     <td>[% l('Limit to Non-Imported Records') %]</td>
57                                     <td>
58                                         <input dojoType='dijit.form.CheckBox' 
59                                             jsId='vlQueueGridShowNonImport' onchange='retrieveQueuedRecords();'/>
60                                     </td>
61                                 </tr>
62                                 <tr>
63                                     <td>[% l('Limit to Records with Import Errors') %]</td>
64                                     <td>
65                                         <input dojoType='dijit.form.CheckBox' 
66                                             jsId='vlQueueGridShowImportErrors' onchange='retrieveQueuedRecords();'/>
67                                     </td>
68                                 </tr>
69                             </tbody>
70                         </table>
71                     </td>
72                 </tr>
73             </table>
74         </td>
75
76         <td align='right' valign='bottom'> <!-- big right td -->
77             <table id='vl-queue-paging-table' class='queue-nav-table'>
78                 <tbody>
79                     <tr><td valign='bottom' align='right'>
80                         <select id='vl-queue-export-options' style='margin-right: 10px;'>
81                             <!-- TODO I18N -->
82                             <option value=''>[% l('Export Queue As...') %]</option>
83                             <option value='print'>[% l('Print') %]</option>
84                             <option value='csv'>[% l('CSV') %]</option>
85                             <option value='email'>[% l('Email') %]</option>
86                         </select>
87                         <span style='padding-right:5px;'>[% l('Records Per Page') %]</span>
88                         <span class='queue-pager-span'>
89                             <select jsId='vlQueueDisplayLimit' id='vl-queue-display-limit-selector'
90                                 value='10' onchange='retrieveQueuedRecords();'>
91                                 <option value='10'>10</option>
92                                 <option value='20'>20</option>
93                                 <option value='50'>50</option>
94                                 <option value='100'>100</option>
95                             </select>
96                         </span>
97
98                         <span class='queue-pager-span'>
99                             <span style='padding-left:5px;'>[% l('Page') %]</span>
100                             <input style='width:36px;' dojoType='dijit.form.TextBox' jsId='vlQueueDisplayPage' value='1'/>
101                         </span>
102
103                         <span style='padding-right:8px;'>
104                             <a href='javascript:void(0);' onclick='vlQueueGridPrevPage();'>[% l('&#171; Previous') %]</a>
105                         </span>
106                         <span style='padding-right:10px;'>
107                             <a href='javascript:void(0);' onclick='vlQueueGridNextPage();'>[% l('Next &#187;') %]</a>
108                         </span>
109                     </td></tr>
110                 </tbody>
111             </table>
112         </td>
113     </tr></table>
114     </fieldset>
115 </div>
116
117 <!-- Bib Queue Grid -->
118 <div class='' id='vl-bib-queue-grid-wrapper' dojoType='dijit.layout.ContentPane'>
119     <table dojoType='dojox.grid.DataGrid' jsId='vlBibQueueGrid' query="{id:'*'}" autoHeight='true' autoWidth='true'>
120         <thead>
121             <tr>
122                 <th 
123                     field='+row_selector'
124                     get='vlQueueGridDrawSelectBox'
125                     formatter='vlQueueGridFormatSelectBox'
126                     width='16'
127                     styles='text-align: center;'
128                     nonSelectable='true'>
129                         <input id="vl-queue-grid-row-selector" type="checkbox" onclick="vlToggleQueueGridSelect();"></input>
130                 </th>
131                 <th
132                     field='+view_marc'
133                     get='vlGetViewMARC'
134                     formatter='vlFormatViewMARC' 
135                     styles='text-align: center;'
136                     nonSelectable='true'>[% l('View MARC') %]</th>
137                 <th
138                     field='+get_matches'
139                     get='vlGetViewMatches'
140                     formatter='vlFormatViewMatches'
141                     styles='text-align: center;'
142                     nonSelectable='true'>[% l('Matches') %]</th>
143                 <th
144                     field='+get_errors'
145                     get='vlGetViewErrors'
146                     formatter='vlFormatViewErrors'
147                     styles='text-align: center;'
148                     nonSelectable='true'>[% l('Import Failures') %]</th>
149                 <th
150                     field='import_time'
151                     styles='text-align: center;'
152                     get='vlGetDateTimeField'>[% l('Import Time') %]</th>
153                 <th field='imported_as'>[% l('Imported As') %]</th>
154             </tr>
155         </thead>
156     </table>
157     <div></div>
158 </div>
159
160 <!-- Auth Queue Grid -->
161 <div class='' id='vl-auth-queue-grid-wrapper' dojoType='dijit.layout.ContentPane'>
162     <table dojoType='dojox.grid.DataGrid' jsId='vlAuthQueueGrid' query="{id:'*'}" autoHeight='true' autoWidth='true'>
163         <thead>
164             <tr>
165                 <th 
166                     field='+row_selector'
167                     get='vlQueueGridDrawSelectBox'
168                     formatter='vlQueueGridFormatSelectBox'
169                     styles='text-align: center;'
170                     nonSelectable='true'>
171                         <input id="vl-queue-grid-row-selector" type="checkbox" onclick="vlToggleQueueGridSelect();"></input>
172                 </th>
173                 <th
174                     field='+view_marc'
175                     get='vlGetViewMARC'
176                     formatter='vlFormatViewMARC' 
177                     styles='text-align: center;'
178                     nonSelectable='true'>[% l('View MARC') %]</th>
179                 <th
180                     field='+get_matches'
181                     get='vlGetViewMatches'
182                     formatter='vlFormatViewMatches'
183                     styles='text-align: center;'
184                     nonSelectable='true'>[% l('Matches') %]</th>
185                 <th
186                     field='+get_errors'
187                     get='vlGetViewErrors'
188                     formatter='vlFormatViewErrors'
189                     styles='text-align: center;'
190                     nonSelectable='true'>[% l('Import Failures') %]</th>
191                 <th
192                     field='import_time'
193                     styles='text-align: center;'
194                     get='vlGetDateTimeField'>[% l('Import Time') %]</th>
195                 <th field='imported_as'>[% l('Imported As') %]</th>
196             </tr>
197         </thead>
198     </table>
199     <div></div>
200 </div>
201
202 <div jsId='queueItemsImportDialog' dojoType="dijit.Dialog" title="[% l('Import Items') %]">
203     <div dojoType="dijit.layout.ContentPane">
204         <table class='form_table'>
205             <tbody>
206                 <tr>
207                     <td>[% l('Merge Profile') %]</td>
208                     <td colspan='4'>
209                         <div jsId='vlUploadMergeProfile2' 
210                             dojoType='dijit.form.FilteringSelect' required='false' labelAttr='name' searchAttr='name'></div>
211                     </td>
212                 </tr>
213                 <tr>
214                     <td>[% l('Import Non-Matching Records') %]</td>
215                     <td colspan='4'>
216                         <input jsId='vlUploadQueueImportNoMatch2' dojoType='dijit.form.CheckBox'/>
217                     </td>
218                 </tr>
219                 <tr>
220                     <td>[% l('Merge On Exact Match (901c)') %]</td>
221                     <td colspan='4'>
222                         <input jsId='vlUploadQueueAutoOverlayExact2' dojoType='dijit.form.CheckBox'/>
223                     </td>
224                 </tr>
225                 <tr>
226                     <td>[% l('Merge On Single Match') %]</td>
227                     <td colspan='4'>
228                         <input jsId='vlUploadQueueAutoOverlay1Match2' dojoType='dijit.form.CheckBox'/>
229                     </td>
230                 </tr>
231                 <tr>
232                     <td>[% l('Merge On Best Match') %]</td>
233                     <td colspan='4'><input jsId='vlUploadQueueAutoOverlayBestMatch2' dojoType='dijit.form.CheckBox'/></td>
234                 </tr>
235                 <tr>
236                     <td>[% l('Best/Single Match Minimum Quality Ratio') %]</td>
237                     <td colspan='4'>
238                         <input style='width:3em' value='0.0' jsId='vlUploadQueueAutoOverlayBestMatchRatio2' dojoType='dijit.form.TextBox'/>
239                         <span style='padding-left: 10px; font-size:90%'>[% l('New Record Quality / Quality of Best Match') %]</span>
240                     </td>
241                 </tr>
242                 <tr>
243                     <td>[% l('Insufficient Quality Fall-Through Profile') %]</td>
244                     <td colspan='4'>
245                         <div jsId='vlUploadFtMergeProfile2' dojoType='dijit.form.FilteringSelect' required='false' labelAttr='name' searchAttr='name'></div>
246                     </td>
247                 </tr>
248                 <tr id='vl-trash-groups-row2'>
249                     <td>[% l('Remove MARC Field Groups') %]</td>
250                     <td colspan='4'>
251                         <select style='overflow-y:auto;' multiple='true' 
252                             jsId="vlUploadTrashGroups2" 
253                             dojoType="dojox.form.CheckedMultiSelect">
254                         </select>
255                     </td>
256                 </tr>
257                 <tr><td colspan='2' style='margin-top:10px;border-bottom:1px solid #888;border-top:2px solid #888'>
258                     <b>[% l('Copy Import Actions') %]</b>
259                 </td></tr>
260                 <tr>
261                     <td>[% l('Auto-overlay In-process Acquisition Copies') %]</td>
262                     <td colspan='4'><input jsId='vlUploadQueueAutoOverlayInprocessAcqCopies2' dojoType='dijit.form.CheckBox'/></td>
263                 </tr>
264                 <tr>
265                     <td>[% l('Auto-overlay On-order Cataloguing Copies') %]</td>
266                     <td colspan='4'><input jsId='vlUploadQueueAutoOverlayOnorderCatCopies2' dojoType='dijit.form.CheckBox'/></td>
267                 </tr>
268
269                 <tr>
270                     <td>[% l('Use Org Unit Matching in Copy to Determine Best Match') %]</td>
271                     <td colspan='4'>
272                         <input jsId='vlUploadQueueAutoOverlayOrgUnitCopies2' dojoType='dijit.form.CheckBox'/>
273                     </td>
274                 </tr>
275
276                 <tr>
277                     <td>
278                         <button dojoType='dijit.form.Button' jsId='queueItemsImportCancelButton'>[% l('Cancel') %]</button>
279                     </td>
280                     <td>
281                         <button dojoType='dijit.form.Button' jsId='queueItemsImportGoButton'>[% l('Import') %]</button>
282                     </td>
283                 </tr>
284             </tbody>
285         </table>
286     </div>
287 </div>
288
289
290 <div jsId='progressDialog' dojoType='openils.widget.ProgressDialog'></div>
291 <div jsId='createBucketDialog' dojoType="dijit.Dialog" class='center' title="[% l('Copy Records to Bucket') %]">
292     <div dojoType="dijit.layout.ContentPane" class='pad-level-1'>
293         <div class='pad-level-1'>[% l('Please enter the name of the bucket to append/create.') %]</div>
294         <div class='pad-level-1'><input dojoType='dijit.form.TextBox' name='name' id='create-bucket-dialog-name'/></div>
295         <div>
296             <button class='pad-level-1' dojoType="dijit.form.Button" type="submit" onClick="handleCreateBucket()">[% l('Apply') %]</button>
297             <button class='pad-level-1' dojoType="dijit.form.Button" type="submit" onClick="createBucketDialog.hide()">[% l('Cancel') %]</button>
298         </div>
299     </div>
300 </div>