--- /dev/null
+<script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/acq/common/base64.js"> </script>
+<script type="text/javascript" src='[% ctx.media_prefix %]/js/ui/default/acq/common/li_table.js'> </script>
+<script type="text/javascript" src='[% ctx.media_prefix %]/js/ui/default/acq/financial/claim_voucher.js'> </script>
+<div id='acq-lit-table-container'>
+ <div id='acq-lit-table-div' class='hidden'>
+
+ <!-- Lineitem (bib record) list -->
+ <table id='acq-lit-table' class='oils-generic-table'>
+ <thead>
+ <tr>
+ <th colspan='0'>
+ <table style='width:100%;'>
+ <tr>
+ <td>
+ <span>
+ <select id="acq-lit-li-actions-selector">
+ <option mask='*' value='_'>--Actions--</option>
+ <option mask='sr' value='save_picklist'>Save Items To Selection List</option>
+ <option mask='pl' value='selector_ready'>Mark Ready for Selector</option>
+ <option mask='pl' value='order_ready'>Mark Ready for Order</option>
+ <option mask='*' value='delete_selected'>Delete Selected Items</option>
+ <option mask='*' value='add_brief_record'>Add Brief Record</option>
+ <option mask='*' value='export_attr_list'>Export Single Attribute List</option>
+ <option mask='*' value='batch_apply_funds'>Apply Funds to Selected Items</option>
+ <option mask='po' value='' disabled='disabled'>----PO----</option>
+ <option mask='sr|pl' value='create_order'>Create Purchase Order</option>
+ <option mask='po' value='create_assets'>Load Bibs and Items</option>
+ <option mask='po' value='cancel_lineitems'>Cancel Selected Lineitems</option>
+ <option mask='po' value='change_claim_policy'>Change Claim Policy</option>
+ <option mask='po' value='receive_po'>Mark Purchase Order as Received</option>
+ <option mask='po' value='rollback_receive_po'>Un-Receive Purchase Order</option>
+ <option mask='po' value='print_po'>Print Purchase Order</option>
+ <option mask='po' value='po_history'>View PO History</option>
+ </select>
+ <span id="acq-lit-export-attr-holder" class="hidden">
+ <input dojoType="dijit.form.FilteringSelect" id="acq-lit-export-attr" jsId="acqLitExportAttrSelector" labelAttr="description" searchAttr="description" />
+ <span dojoType="dijit.form.Button" jsId="acqLitExportAttrButton">Export List</span>
+ </span>
+ <span id="acq-lit-cancel-reason" class="hidden">
+ <span id="acq-lit-cancel-reason-selector"></span>
+ <span dojoType="dijit.form.Button" jsId="acqLitCancelLineitemsButton">Cancel Line Items</span>
+ </span>
+ </span>
+ <span id='acq-lit-generic-progress' class='hidden'>
+ <span dojoType="dijit.ProgressBar" style="width:300px" jsId="litGenericProgress"></span>
+ </span>
+ </td>
+ <td>
+ <div style='width:100%;text-align:right;'>
+ <span style='padding-right:15px;'>
+ <a href='javascript:void(0);' id='acq-lit-prev' style='visibility:hidden'>« Previous</a>
+ <a href='javascript:void(0);' id='acq-lit-next' style='visibility:hidden'>Next »</a>
+ </span>
+ </div>
+ </td>
+ </tr>
+ </table>
+ </th>
+ </tr>
+ </thead>
+ <tbody><tr><td colspan='0' style='height:20px;'/></tr></tbody>
+ <tbody style='font-weight:bold;border:1px solid #aaa;'>
+ <tr>
+ <td><span><a id='acq-lit-select-toggle' href='javascript:void(0);'>✓</a></span></td>
+ <td>Line Items</td>
+ <td>Items</td>
+ <td>Notes</td>
+ <td>Actions</td>
+ <td>Status</td>
+ <td>Estimated Price</td>
+ </tr>
+ </tbody>
+ <tbody id='acq-lit-tbody'>
+ <tr id='acq-lit-row' class='acq-lit-row'>
+ <td name='selector'><input type='checkbox' name='selectbox'/></td>
+ <td style='width:75%;'>
+ <table style='width:100%;'>
+ <tbody>
+ <tr>
+ <td rowspan='3' style='width:43px;'><img style='width:40px;height:65px;' name='jacket'></td>
+ <td style='width:70%;font-weight:bold;'>
+ <span name="bib_origin" class="hidden">
+ <img src="/opac/images/book-icon.png" />
+ </span><a attr='title' href='javascript:void(0);'></a>
+ </td>
+ <td rowspan='2' style='text-align:right'>
+ </td>
+ </tr>
+ <tr class='acq-lit-alt-row'>
+ <td colspan='0'>
+ <span attr='author'></span>
+ <span attr='isbn'></span>
+ <span attr='issn'></span>
+ <span attr='edition'></span>
+ <span attr='pubdate'></span>
+ <span attr='publisher'></span>
+ <span name='source_label'></span>
+ </td>
+ </tr>
+ <tr>
+ <td colspan='0'>
+ <span name="liid"># </span>
+ <span name="catalog" class='hidden'> | <a title='Show In Catalog' name="catalog_link" href="javascript:void(0);">➟ catalog</a></span>
+ <span name="link_to_catalog" class='hidden'> | <a title='Link To Catalog Record' name="link_to_catalog_link" href="javascript:void(0);">➾ link to catalog</a></span>
+ <span name="worksheet"> | <a title='Generate Worksheet' name="worksheet_link" href="javascript:void(0);">✍ worksheet</a></span>
+ <span name='pl' class='hidden'> | <a title='Select List' name='pl_link' href='javascript:void(0);'>❖ </a></span>
+ <span name='po' class='hidden'> | <a title='Purchase Order' name='po_link' href='javascript:void(0);'>⌘ </a></span>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </td>
+ <td><a title='FOOOBAR' name='copieslink' href='javascript:void(0);'>Copies(<span name='count'>0</span>)</a></td>
+ <td>
+ <a name='noteslink' href='javascript:void(0);'>Notes(<span name='notes_count'>0</span>)</a><span name="notes_alert_flag"></span>
+ </td>
+ <td>
+ <select name='actions'>
+ <option name='action_none'>-- Actions --</option>
+ <option name='action_mark_recv' disabled='disabled'>Mark Received</option>
+ <option name='action_mark_unrecv' disabled='disabled'>Un-Receive</option>
+ <option name='action_update_barcodes' disabled='disabled'>Update Barcodes</option>
+ <option name='action_holdings_maint' disabled='disabled'>Holdings Maint.</option>
+ <option name='action_new_invoice' disabled='disabled'>New Invoice</option>
+ <option name='action_link_invoice' disabled='disabled'>Link to Invoice</option>
+ <option name='action_view_invoice' disabled='disabled'>View Invoice(s)</option>
+ <option name='action_view_claim_policy'>Apply Claim Policy</option>
+ <option name='action_manage_claims' disabled='disabled'>Claims</option>
+ <option name='action_view_history'>View History</option>
+ </select>
+ </td>
+ <td><span name='li_state'></span></td>
+ <td><input type='text' size='8' name='price'/></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <!-- Bib record / Lineitem info table -->
+ [% INCLUDE "default/acq/common/info.tt2" which = "Lit" %]
+
+ <!-- Lineitem notes table -->
+ [% INCLUDE "default/acq/common/notes.tt2" which = "Lit" %]
+
+ <!-- Copies table -->
+ <div id='acq-lit-li-details' class='hidden'>
+
+ <div id='acq-lit-copies-li-summary'></div>
+
+ <h3>Add/Edit Items</h3>
+ <hr/>
+
+ <div class='acq-lit-li-menu-bar'>
+ <table style='width:100%'>
+ <tr>
+ <td class="acq-lit-li-menu-left">
+ <div dojoType='dijit.form.Button' id='acq-lit-copies-back-button' scrollOnFocus='false'>↖ Return</div>
+ <span style='margin-left:10px;padding-left:10px;border-left:2px solid #aaa;'>
+ Item Count:
+ <input dojoType='dijit.form.NumberTextBox' jsId='acqLitCopyCountInput'
+ constraints="{min:0,max:1000,places:0}" style='width:40px' value='0'></input>
+ <div dojoType='dijit.form.Button' jsId='acqLitAddCopyCount' scrollOnFocus='false'>Go</div>
+ </span>
+ <span style='margin-left:10px;padding-left:10px;border-left:2px solid #aaa;'>
+ <div dojoType='dijit.form.Button' jsId='acqLitSaveCopies' scrollOnFocus='false'>Save Changes</div>
+ </span>
+ <span id='acq-lit-update-copies-progress' class='hidden'>
+ <span dojoType="dijit.ProgressBar" style="width:300px" jsId="litUpdateCopiesProgress"></span>
+ </span>
+ </td>
+ </tr>
+ </table>
+ </div>
+
+ <hr/>
+ <table id='acq-lit-distrib-formula-table'>
+ <tbody id='acq-lit-distrib-formula-tbody'>
+ <tr id='acq-lit-distrib-form-row'>
+ <td colspan='0'>
+ <span>Distribution Formulas</span>
+ <div name='selector'></div>
+ <div name='set_button'></div>
+ <div name="reset_button"></div>
+ </td>
+ </tr>
+ </tbody>
+ <tbody id="acq-lit-distrib-applied-tbody" class="hidden">
+ <tr>
+ <td colspan="5" id="acq-lit-distrib-applied-heading">
+ Distribution formulas applied to this lineitem:
+ </td>
+ </tr>
+ <tr id="acq-lit-distrib-applied-row" class="acq-lit-distrib-applied-row">
+ <th></th>
+ <td colspan="4"></td>
+ </tr>
+ </tbody>
+ <table>
+
+ <table id='acq-lit-li-details-table'>
+ <tbody><tr><td class='acq-lit-table-spacer' colspan='0'/></tr></tbody>
+ <tbody style='font-weight:bold;'>
+ <tr>
+ <td style='margin-top:30px;'>Owning Branch</td>
+ <td>Shelving Location</td>
+ <td>Collection Code</td>
+ <td>Fund</td>
+ <td>Circ Modifier</td>
+ <td>Callnumber</td>
+ <td colspan='0'></td>
+ </tr>
+ </tbody>
+ <tbody style='background-color:#ddd;'>
+ <tr id='acq-lit-li-details-batch-row'>
+ <td><div name='owning_lib'></div></td>
+ <td><div name='location'></div></td>
+ <td><div name='collection_code'></div></td>
+ <td><div name='fund'></div></td>
+ <td><div name='circ_modifier'></div></td>
+ <td><div name='cn_label'></div></td>
+ <td colspan='3' style='text-align:left;'>
+ <div dojoType='dijit.form.Button' jsId='acqLitBatchUpdateCopies' scrollOnFocus='false'>Batch Update</div>
+ </td>
+ </tr>
+ </tbody>
+
+
+ <tbody><tr><td class='acq-lit-table-spacer' colspan='0'></td></tr></tbody>
+ <tbody style='font-weight:bold;'>
+ <tr>
+ <td style='margin-top:30px;'>Owning Branch</td>
+ <td>Shelving Location</td>
+ <td>Collection Code</td>
+ <td>Fund</td>
+ <td>Circ Modifier</td>
+ <td>Callnumber</td>
+ <td>Barcode</td>
+ <td>Notes</td>
++ <td>Receiver</td>
+ <td colspan='0'></td>
+ </tr>
+ </tbody>
+ <tbody id='acq-lit-li-details-tbody' class='oils-generic-table'>
+ <tr id='acq-lit-li-details-row'>
+ <td><div name='owning_lib'></div></td>
+ <td><div name='location'></div></td>
+ <td><div name='collection_code'></div></td>
+ <td><div name='fund'></div></td>
+ <td><div name='circ_modifier'></div></td>
+ <td><div name='cn_label'></div></td>
+ <td><div name='barcode'></div></td>
+ <td><div name='note'></div></td>
++ <td><div name='receiver'></div></td>
+ <td><a href="javascript:void(0);" name="receive">Mark Received</a><a href="javascript:void(0);" name="unreceive">Un-Receive</a> <a href="javascript:void(0);" name="cancel">Cancel</a><span class="hidden" name="cancel_reason"></span> <a href="javascript:void(0);" name="claim">Claim</a></td>
+ <td><div name='delete' dojoType='dijit.form.Button' style='color:red;' scrollOnFocus='false'>X</div></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+
+ <!-- Copies table -->
+ <div id='acq-lit-real-copies-div' class='hidden'>
+ <h2>Copies</h2>
+
+ <div class='acq-lit-li-menu-bar'>
+ <table style='width:100%'>
+ <tr>
+ <td style='text-align:left;'>
+ <div dojoType='dijit.form.Button' id='acq-lit-real-copies-back-button' scrollOnFocus='false'>↖ Return</div>
+ </td>
+ <td style='text-align:right;'>
+ <span>
+ <div dojoType='dijit.form.Button' jsId='acqLitSaveRealCopies' scrollOnFocus='false'>Save Changes</div>
+ </span>
+ </td>
+ </tr>
+ </table>
+ </div>
+
+ <table id='acq-lit-real-copies-table'>
+ <tbody style='font-weight:bold;'>
+ <tr>
+ <td style='margin-top:30px;'>Owning Branch</td>
+ <td>Shelving Location</td>
+ <td>Circ Modifier</td>
+ <td>Callnumber</td>
+ <td>Barcode</td>
+ <td colspan='0'></td>
+ </tr>
+ </tbody>
+ <tbody id='acq-lit-real-copies-tbody' class='oils-generic-table'>
+ <tr id='acq-lit-real-copies-row'>
+ <td><div name='owning_lib'></div></td>
+ <td><div name='location'></div></td>
+ <td><div name='circ_modifier'></div></td>
+ <td><div name='label'></div></td>
+ <td><div name='barcode'></div></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <div class="hidden">
+ <div jsId="acqLitLinkInvoiceDialog" dojoType="dijit.Dialog">
+ [% INCLUDE "default/acq/common/inv_dialog.tt2" which = "li" %]
+ </div>
+ </div>
+
+ <div class='hidden' id='acq-lit-progress-numbers'>
+ <table class='oils-generic-table'>
+ <tbody>
+ <tr>
+ <td>Lineitems Processed</td>
+ <td><span id='acq-pl-lit-li-processed'>0</span></td>
+ </tr>
+ <tr>
+ <td>Items Processed</td>
+ <td><span id='acq-pl-lit-lid-processed'>0</span></td>
+ </tr>
+ <tr>
+ <td>Debits Encumbered</td>
+ <td><span id='acq-pl-lit-debits-processed'>0</span></td>
+ </tr>
+ <tr>
+ <td>Bib Records Imported</td>
+ <td><span id='acq-pl-lit-bibs-processed'>0</span></td>
+ </tr>
+ <tr>
+ <td>Bib Records Indexed</td>
+ <td><span id='acq-pl-lit-indexed-processed'>0</span></td>
+ </tr>
+ <tr>
+ <td>Copies Processed</td>
+ <td><span id='acq-pl-lit-copies-processed'>0</span></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <div class='hidden'>
+ <div dojoType='dijit.Dialog' jsId='acqLitPoCreateDialog'>
+ <table class='oils-generic-table'>
+ <tr>
+ <td>Ordering Agency</td>
+ <td><div name='ordering_agency' id='acq-lit-po-agency'></div></td>
+ </tr>
+ <tr>
+ <td>Provider</td>
+ <td><div name='provider' id='acq-lit-po-provider'></div></td>
+ </tr>
+ <tr>
+ <td>Prepayment Required</td>
+ <td><input id="acq-lit-po-prepay" name="prepayment_required" dojoType="dijit.form.CheckBox"/></td>
+ </tr>
+ <tr>
+ <td>All Lineitems</td>
+ <td><input checked='checked' name='create_from' value='all' dojoType='dijit.form.RadioButton'/></td>
+ </tr>
+ <tr>
+ <td>Selected Lineitems</td>
+ <td><input name='create_from' value='selected' dojoType='dijit.form.RadioButton'/></td>
+ </tr>
+ <tr>
+ <td>Import Bibs and Create Copies</td>
+ <td><input name='create_assets' dojoType='dijit.form.CheckBox'/></td>
+ </tr>
+ <tr>
+ <td colspan='2'>
+ <div dojoType='dijit.form.Button' type='submit' jsId='acqLitCreatePoSubmit'>Submit</div>
+ </td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+ <div class="hidden">
+ <div dojoType="dijit.Dialog" jsId='acqLitSavePlDialog'>
+ <table class='dijitTooltipTable'>
+ <tr>
+ <td colspan='2'>
+ <input dojoType="dijit.form.RadioButton" name="which" type='radio' checked='checked' value='selected'/>
+ <label for="name">Save selected</label>
+ <input dojoType="dijit.form.RadioButton" name="which" type='radio' value='all'/>
+ <label for="name">Save all</label>
+ </td>
+ </tr>
+ <tr><td colspan='2'><hr/></td></tr>
+ <tr>
+ <td><label for="new_name">Save as Selection List: </label></td>
+ <td><input dojoType="dijit.form.TextBox" name="new_name"/></td>
+ </tr>
+ <tr>
+ <td><label for="existing_pl">Add to Selection List: </label></td>
+ <td>
+ <input jsId="acqLitAddExistingSelect" dojoType="openils.widget.PCrudAutocompleteBox" fmclass="acqpl" searchAttr="name" name="existing_pl" />
+ </td>
+ </tr>
+ <tr>
+ <td colspan='2' align='center'>
+ <button dojoType='dijit.form.Button' type="submit" jsId='acqLitSavePlButton'>Save</button>
+ </td>
+ </tr>
+ </table>
+ </div>
+
+ <div dojoType="dijit.Dialog" jsId="lidCancelDialog">
+ <label for="acq-lit-lid-cancel-reason">Reason:</label>
+ <span id="acq-lit-lid-cancel-reason"></span>
+ <span dojoType="dijit.form.Button"
+ jsId="acqLidCancelButton">Cancel Copy</span>
+ </div>
+ <div dojoType="dijit.Dialog" jsId="liClaimPolicyDialog">
+ <label for="acq-lit-li-claim-policy">Claim policy:</label>
+ <span id="acq-lit-li-claim-policy"></span>
+ <span dojoType="dijit.form.Button"
+ jsId="liClaimPolicySave">Save</span>
+ </div>
+ <div dojoType="dijit.Dialog" jsId="liClaimDialog">
+ [% INCLUDE "default/acq/common/claim_dialog.tt2" %]
+ </div>
+ <div dojoType="dijit.Dialog" jsId="finalClaimDialog">
+ [% INCLUDE "default/acq/common/final_claim_dialog.tt2" %]
+ </div>
+ <div dojoType="dijit.Dialog" jsId="batchFundUpdateDialog" title="Batch Update Funds">
+ <div>
+ This will update the fund for all copies attached to these lineitems.<br/>
+ This will also update any existing encumbered or spent debits.
+ </div>
+ <br/>
+ <table class='oils-generic-table'>
+ <tr>
+ <td>
+ <span>Select a new fund:</span>
+ </td>
+ <td>
+ <div id='acq-lit-batch-fund-selector'></div>
+ </td>
+ </tr>
+ <tr>
+ <td><button dojoType='dijit.form.Button' jsId='batchFundUpdateCancel'>Cancel</button></td>
+ <td><button dojoType='dijit.form.Button' jsId='batchFundUpdateSubmit'>Submit</button></td>
+ </tr>
+ </table>
+ </div>
+ </div>
+
+ <div dojoType="dijit.Dialog" jsId='acqLitChangeLiStateDialog'>
+ <table class='dijitTooltipTable'>
+ <tr>
+ <td>
+ <input dojoType="dijit.form.RadioButton" name="which" type='radio' checked='checked' value='selected'/>
+ <label for="name">Mark selected</label>
+ <input dojoType="dijit.form.RadioButton" name="which" type='radio' value='all'/>
+ <label for="name">Mark all</label>
+ </td>
+ </tr>
+ <tr>
+ <td colspan='2' align='center'>
+ <button dojoType='dijit.form.Button' type="submit" jsId='acqLitCancelLiStateButton'>Cancel</button>
+ <button dojoType='dijit.form.Button' type="submit" jsId='acqLitSaveLiStateButton'>Go</button>
+ </td>
+ </tr>
+ </table>
+ </div>
+
+
+ <div class='hidden'>
+ <div dojoType='openils.widget.ProgressDialog' jsId='progressDialog'></div>
+ </div>
+
+</div>
+
--- /dev/null
+[% WRAPPER "default/base.tt2" %]
+[% ctx.page_title = "Related Lineitems" %]
+<script type="text/javascript">var targetId = "[% ctx.page_args.0 %]";</script>
+<h1>Related Lineitems</h1>
+<div id="acq-related-mini">
+ <script type="text/javascript">
+ function iterateSubfields(item) {
+ var out = '';
+ dojo.query('subfield', item).forEach(
+ function(item) { out += item.textContent + ' '; } );
+ return out;
+ }
+ </script>
+ <ul id="acq-related-mini-display">
+ <li>
+ <div type='opac/slot-data' query='datafield[tag=245]'>
+ <script type='opac/slot-format'>return iterateSubfields(item)</script>
+ </div>
+ </li>
+ <li>
+ <div type='opac/slot-data' query='datafield[tag=100] subfield[code=a]'/>
+ </li>
+ <li>
+ <div type='opac/slot-data' query='datafield[tag=020]'>
+ <script type='opac/slot-format'>return iterateSubfields(item)</script>
+ </div>
+ <div type='opac/slot-data' query='datafield[tag=024]'>
+ <script type='opac/slot-format'>return iterateSubfields(item)</script>
+ </div>
+ <div type='opac/slot-data' query='datafield[tag=022]'>
+ <script type='opac/slot-format'>return iterateSubfields(item)</script>
+ </div>
+ </li>
+ <li>
+ <div type='opac/slot-data' query='datafield[tag=260] subfield[code=c]'/>
+ </li>
+ </ul>
+
+ <div id="acq-related-li-create-holder">
+ <button jsId="addToPlButton" dojoType="dijit.form.Button">
+ Add to Selection List
+ </button>
++ <button jsId="addToPoButton" dojoType="dijit.form.Button">
++ Add to Purchase Order
++ </button>
+ <button jsId="createPoButton" dojoType="dijit.form.Button">
+ Create Purchase Order
+ </button>
+ </div>
+
++ <div class="hidden">
++ <div dojoType="dijit.Dialog" jsId='addToPoDialog'>
++ <table class='dijitTooltipTable'>
++ <tr>
++ <td><label>Enter the PO #: </label></td>
++ <td><input jsId='addToPoInput' dojoType="dijit.form.TextBox" /></td>
++ </tr>
++ <tr>
++ <td colspan='2' align='center'>
++ <button dojoType='dijit.form.Button' jsId='addToPoSave' type="submit">Save</button>
++ </td>
++ </tr>
++ </table>
++ </div>
++ </div>
++
+</div>
+[% INCLUDE "default/acq/common/info.tt2" which = "Related" %]
+[% INCLUDE "default/acq/common/li_table.tt2" %]
+<script type="text/javascript" src="[% ctx.media_prefix %]/js/ui/default/acq/lineitem/related.js"></script>
+[% END %]
--- /dev/null
- <div dojoType="dijit.layout.ContentPane" layoutAlign="client">
- <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
- <div>Resources</div>
- <div>
- <button dojoType='dijit.form.Button' onClick='brsrcGrid.showCreateDialog()'>New Resource</button>
- <button dojoType='dijit.form.Button' onClick='brsrcGrid.deleteSelected()'>Delete Selected</button>
- </div>
+[% WRAPPER default/base.tt2 %]
+[% ctx.page_title = 'Resources' %]
-
++<div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
++ <div>Resources</div>
++ <div>
++ <button dojoType='dijit.form.Button' onClick='brsrcGrid.showCreateDialog()'>New Resource</button>
++ <button dojoType='dijit.form.Button' onClick='brsrcGrid.deleteSelected()'>Delete Selected</button>
+ </div>
++</div>
++<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
++ <span>Context Org Unit</span>
++ <select dojoType="openils.widget.OrgUnitFilteringSelect"
++ jsId='contextOrgSelector'
++ searchAttr='shortname'
++ labelAttr='shortname'>
++ </select>
++</div>
++<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
+ <table jsId="brsrcGrid"
+ dojoType="openils.widget.AutoGrid"
+ fieldOrder="['owner', 'type', 'barcode',
+ 'overbook', 'deposit', 'deposit_amount', 'user_fee']"
+ query="{id: '*'}"
+ fmClass='brsrc'
+ showPaginator='true'
++ autoHeight='true'
+ editOnEnter='true'>
+ </table>
+</div>
- var search = {"id": {"!=": null}};
+<script type ="text/javascript">
+ dojo.require('dijit.form.FilteringSelect');
+ dojo.require('openils.widget.AutoGrid');
+ dojo.require("openils.widget.PCrudAutocompleteBox");
++ dojo.require('openils.widget.OrgUnitFilteringSelect');
++
++ function filterGrid() {
++ brsrcGrid.resetStore();
++ var unit = contextOrgSelector.getValue();
++ var list = fieldmapper.aou.findOrgUnit(unit).orgNodeTrail().map( function (i) {return i.id() } );
++
++ if(unit){
++ brsrcGrid.loadAll({order_by:{brsrc : 'barcode'}}, { 'owner' : list });
++ } else {
++ brsrcGrid.loadAll({order_by:{brsrc : 'barcode'}});
++ }
++ }
+
+ openils.Util.addOnLoad(
+ function() {
++ var org_id = openils.User.user.ws_ou();
++ var list = fieldmapper.aou.findOrgUnit(org_id).orgNodeTrail().map( function (i) {return i.id() } );
++
++ new openils.User().buildPermOrgSelector('ADMIN_BOOKING_RESOURCE', contextOrgSelector, null, function() {
++ dojo.connect(contextOrgSelector, 'onChange', filterGrid);});
++
++ var search = {'owner':list};
++
+ if (xulG && xulG.resultant_brsrc)
+ search = {id: xulG.resultant_brsrc};
+
+ brsrcGrid.overrideEditWidgets.type =
+ new openils.widget.PCrudAutocompleteBox({
+ "fmclass": "brt", "searchAttr": "name"
+ });
+ brsrcGrid.overrideEditWidgets.type.shove = {"create": ""};
+ brsrcGrid.loadAll({order_by:{brsrc : 'barcode'}}, search);
+ }
+ );
+</script>
+[% END %]
--- /dev/null
- <div dojoType="dijit.layout.ContentPane" layoutAlign="client">
- <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
- <div>Resource Attributes</div>
- <div>
- <button dojoType='dijit.form.Button' onClick='braGrid.showCreateDialog()'>New Resource Attribute</button>
- <button dojoType='dijit.form.Button' onClick='braGrid.deleteSelected()'>Delete Selected</button>
- </div>
+[% WRAPPER default/base.tt2 %]
+[% ctx.page_title = 'Resource Attributes' %]
- braGrid.loadAll({order_by:{bra : 'name'}}, {"id": {"!=": null}});
++<div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
++ <div>Resource Attributes</div>
++ <div>
++ <button dojoType='dijit.form.Button' onClick='braGrid.showCreateDialog()'>New Resource Attribute</button>
++ <button dojoType='dijit.form.Button' onClick='braGrid.deleteSelected()'>Delete Selected</button>
+ </div>
++</div>
++<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
++ <span>Context Org Unit</span>
++ <select dojoType="openils.widget.OrgUnitFilteringSelect"
++ jsId='contextOrgSelector'
++ searchAttr='shortname'
++ labelAttr='shortname'>
++ </select>
++</div>
++<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
+ <table jsId="braGrid"
+ dojoType="openils.widget.AutoGrid"
+ fieldOrder="['name', 'owner', 'resource_type', 'required']"
+ query="{id: '*'}"
+ fmClass='bra'
++ autoHeight='true'
+ showPaginator='true'
+ editOnEnter='true'>
+ </table>
+</div>
+
+<script type ="text/javascript">
+ dojo.require("openils.widget.PCrudAutocompleteBox");
+ dojo.require('openils.widget.AutoGrid');
++ dojo.require('openils.widget.OrgUnitFilteringSelect');
++
++ function filterGrid() {
++ braGrid.resetStore();
++ var unit = contextOrgSelector.getValue();
++ var list = fieldmapper.aou.findOrgUnit(unit).orgNodeTrail().map( function (i) {return i.id() } );
++
++ if(unit){
++ braGrid.loadAll({order_by:{bra : 'name'}}, { 'owner' : list });
++ } else {
++ braGrid.loadAll({order_by:{bra : 'name'}});
++ }
++ }
+
+ openils.Util.addOnLoad(
+ function() {
+ braGrid.overrideEditWidgets.resource_type =
+ new openils.widget.PCrudAutocompleteBox({
+ "fmclass": "brt", "searchAttr": "name"
+ });
+ braGrid.overrideEditWidgets.resource_type.shove = {"create": ""};
++ var org_id = openils.User.user.ws_ou();
++ var list = fieldmapper.aou.findOrgUnit(org_id).orgNodeTrail().map( function (i) {return i.id() } );
++
++ new openils.User().buildPermOrgSelector('ADMIN_BOOKING_RESOURCE_ATTR', contextOrgSelector, null, function() {
++ dojo.connect(contextOrgSelector, 'onChange', filterGrid);});
++ braGrid.loadAll({order_by:{bra : 'name'}}, { 'owner' : list });
+ }
+ );
+</script>
+[% END %]
--- /dev/null
- <div dojoType="dijit.layout.ContentPane" layoutAlign="client">
- <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class='oils-header-panel'>
- <div>Resource Attribute Maps</div>
- <div>
- <button dojoType='dijit.form.Button' onClick='bramGrid.showCreateDialog()'>New Resource Attribute Map</button>
- <button dojoType='dijit.form.Button' onClick='bramGrid.deleteSelected()'>Delete Selected</button>
- </div>
+[% WRAPPER default/base.tt2 %]
+[% ctx.page_title = 'Resource Attribute Maps' %]
- bramGrid.loadAll({"order_by": {"bram": "resource_attr"}});
++<div dojoType="dijit.layout.ContentPane" layoutAlign="top" class='oils-header-panel'>
++ <div>Resource Attribute Maps</div>
++ <div>
++ <button dojoType='dijit.form.Button' onClick='bramGrid.showCreateDialog()'>New Resource Attribute Map</button>
++ <button dojoType='dijit.form.Button' onClick='bramGrid.deleteSelected()'>Delete Selected</button>
+ </div>
++</div>
++<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
++ <span>Context Org Unit</span>
++ <select dojoType="openils.widget.OrgUnitFilteringSelect"
++ jsId='contextOrgSelector'
++ searchAttr='shortname'
++ labelAttr='shortname'>
++ </select>
++</div>
++<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
+ <table jsId="bramGrid"
+ dojoType="openils.widget.AutoGrid"
+ fieldOrder="['resource', 'resource_attr', 'value']"
+ query="{id: '*'}"
+ fmClass='bram'
++ autoHeight='true'
+ showPaginator='true'
+ editOnEnter='true'>
+ </table>
+</div>
+
+<script type ="text/javascript">
+ dojo.require("openils.widget.PCrudAutocompleteBox");
+ dojo.require('openils.widget.AutoGrid');
++ dojo.require('openils.widget.OrgUnitFilteringSelect');
+
++ function filterGrid() {
++ bramGrid.resetStore();
++ var unit = contextOrgSelector.getValue();
++ var list = fieldmapper.aou.findOrgUnit(unit).orgNodeTrail().map( function (i) {return i.id() } );
++
++ if(unit){
++ bramGrid.loadAll({"order_by":"resource_attr"}, {"resource_attr":{"in":{"select":{"bra":["id"]},"from":"bra","where":{"+bra":{"owner": list } } } } } );
++ } else {
++ bramGrid.loadAll({order_by:{bram : 'resource_attr'}});
++ }
++ }
+ openils.Util.addOnLoad(
+ function() {
++ var org_id = openils.User.user.ws_ou();
++ var list = fieldmapper.aou.findOrgUnit(org_id).orgNodeTrail().map( function (i) {return i.id() } );
++
++ new openils.User().buildPermOrgSelector('ADMIN_BOOKING_RESOURCE_TYPE', contextOrgSelector, null, function() {
++ dojo.connect(contextOrgSelector, 'onChange', filterGrid);});
++
+ bramGrid.overrideEditWidgets.resource =
+ new openils.widget.PCrudAutocompleteBox({
+ "fmclass": "brsrc", "searchAttr": "barcode"
+ });
+ bramGrid.overrideEditWidgets.resource.shove = {"create": ""};
++ bramGrid.loadAll({"order_by":"resource_attr"}, {"resource_attr":{"in":{"select":{"bra":["id"]},"from":"bra","where":{"+bra":{"owner": list } } } } } );
+ }
+ );
+</script>
+[% END %]
--- /dev/null
- <div dojoType="dijit.layout.ContentPane" layoutAlign="client">
- <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class='oils-header-panel'>
- <div>Resource Attribute Values</div>
- <div>
- <button dojoType='dijit.form.Button' onClick='bravGrid.showCreateDialog()'>New Resource Attribute Value</button>
- <button dojoType='dijit.form.Button' onClick='bravGrid.deleteSelected()'>Delete Selected</button>
- </div>
+[% WRAPPER default/base.tt2 %]
+[% ctx.page_title = 'Resource Attribute Values' %]
- bravGrid.loadAll({order_by:{brav : 'attr'}}, {"id": {"!=": null}});
++<div dojoType="dijit.layout.ContentPane" layoutAlign="top" class='oils-header-panel'>
++ <div>Resource Attribute Values</div>
++ <div>
++ <button dojoType='dijit.form.Button' onClick='bravGrid.showCreateDialog()'>New Resource Attribute Value</button>
++ <button dojoType='dijit.form.Button' onClick='bravGrid.deleteSelected()'>Delete Selected</button>
+ </div>
++</div>
++<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
++ <span>Context Org Unit</span>
++ <select dojoType="openils.widget.OrgUnitFilteringSelect"
++ jsId='contextOrgSelector'
++ searchAttr='shortname'
++ labelAttr='shortname'>
++ </select>
++</div>
++<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
+ <table jsId="bravGrid"
+ dojoType="openils.widget.AutoGrid"
+ fieldOrder="['owner', 'attr', 'valid_value']"
+ query="{id: '*'}"
+ fmClass='brav'
++ autoHeight='true'
+ showPaginator='true'
+ editOnEnter='true'>
+ </table>
+</div>
+
+<script type ="text/javascript">
+ dojo.require('dijit.form.FilteringSelect');
+ dojo.require('openils.widget.AutoGrid');
++ dojo.require('openils.widget.OrgUnitFilteringSelect');
++
++ function filterGrid() {
++ bravGrid.resetStore();
++ var unit = contextOrgSelector.getValue();
++ var list = fieldmapper.aou.findOrgUnit(unit).orgNodeTrail().map( function (i) {return i.id() } );
++
++ if(unit){
++ bravGrid.loadAll({order_by:{brav : 'attr'}}, { 'owner' : list });
++ } else {
++ bravGrid.loadAll({order_by:{brav : 'attr'}});
++ }
++ }
+
+ openils.Util.addOnLoad(
+ function() {
++ var org_id = openils.User.user.ws_ou();
++ var list = fieldmapper.aou.findOrgUnit(org_id).orgNodeTrail().map( function (i) {return i.id() } );
++
++ new openils.User().buildPermOrgSelector('ADMIN_BOOKING_RESOURCE_ATTR_VALUE', contextOrgSelector, null, function() {
++ dojo.connect(contextOrgSelector, 'onChange', filterGrid);});
++
++ bravGrid.loadAll({order_by:{brav : 'attr'}}, { 'owner' : list });
+ }
+ );
+</script>
+[% END %]
--- /dev/null
- <div dojoType="dijit.layout.ContentPane" layoutAlign="client">
+[% WRAPPER default/base.tt2 %]
+[% ctx.page_title = 'Resource Types' %]
- brtGrid.loadAll({"order_by": {"brt": "name"}}, {"id": {"!=": null}});
+ <div dojoType="dijit.layout.ContentPane" layoutAlign="top" class="oils-header-panel">
+ <div>Resource Types</div>
+ <div>
+ <button dojoType='dijit.form.Button' onClick='brtGrid.showCreateDialog()'>New Resource Type</button>
+ <button dojoType='dijit.form.Button' onClick='brtGrid.deleteSelected()'>Delete Selected</button>
+ </div>
+ </div>
++<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
++ <span>Context Org Unit</span>
++ <select dojoType="openils.widget.OrgUnitFilteringSelect"
++ jsId='contextOrgSelector'
++ searchAttr='shortname'
++ labelAttr='shortname'>
++ </select>
++</div>
++<div dojoType="dijit.layout.ContentPane" layoutAlign="client">
+ <table jsId="brtGrid"
+ dojoType="openils.widget.AutoGrid"
+ fieldOrder="['name', 'fine_interval', 'fine_amount',
+ 'owner', 'catalog_item', 'transferable']"
+ suppressFields="['record']"
+ suppressEditFields="['record']"
+ query="{id: '*'}"
+ fmClass='brt'
+ showPaginator='true'
++ autoHeight='true'
+ editOnEnter='true'>
+ </table>
+</div>
+
+<script type ="text/javascript">
+ dojo.require('dijit.form.FilteringSelect');
+ dojo.require('openils.widget.AutoGrid');
++ dojo.require('openils.widget.OrgUnitFilteringSelect');
+
++ function filterGrid() {
++ brtGrid.resetStore();
++ var unit = contextOrgSelector.getValue();
++ var list = fieldmapper.aou.findOrgUnit(unit).orgNodeTrail().map( function (i) {return i.id() } );
++
++ if(unit){
++ brtGrid.loadAll({order_by:{brt : 'name'}}, { 'owner' : list });
++ } else {
++ brtGrid.loadAll({order_by:{brt : 'name'}});
++ }
++ }
+ openils.Util.addOnLoad(
+ function() {
++ var org_id = openils.User.user.ws_ou();
++ var list = fieldmapper.aou.findOrgUnit(org_id).orgNodeTrail().map( function (i) {return i.id() } );
++
++ new openils.User().buildPermOrgSelector('ADMIN_BOOKING_RESOURCE_TYPE', contextOrgSelector, null, function() {
++ dojo.connect(contextOrgSelector, 'onChange', filterGrid);});
++
++ brtGrid.loadAll({"order_by": {"brt": "name"}}, { 'owner' : list });
+ }
+ );
+</script>
+[% END %]
--- /dev/null
+<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 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='javascript:;' onclick='vlHandleQueueItemsAction("import")'>&vandelay.import.selected;</a></td></tr>
+ <tr><td><a href='javascript:;' onclick='vlHandleQueueItemsAction("import_all")'>&vandelay.import.all;</a></td></tr>
+ <tr><td><a href='javascript:;' onclick='vlLoadErrorUIAll();'>View Import Items</a></td></tr>
+ <tr><td><a href='javascript:;' 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>
+
+ <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>Items Imported</td><td> <span style='font-weight:bold;' id='vl-queue-summary-import-item-imported-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 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>
+ </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'>
+ <select id='vl-queue-export-options' style='margin-right: 10px;'>
+ <!-- TODO I18N -->
+ <option value=''>Export Queue As...</option>
+ <option value='print'>Print</option>
+ <option value='csv'>CSV</option>
+ <option value='email'>Email</option>
+ </select>
+ <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>
+
+<!-- Bib Queue Grid -->
+<div class='' id='vl-bib-queue-grid-wrapper' dojoType='dijit.layout.ContentPane'>
+ <table dojoType='dojox.grid.DataGrid' jsId='vlBibQueueGrid' query="{id:'*'}" autoHeight='true'>
+ <thead>
+ <tr>
+ <th
+ field='+row_selector'
+ get='vlQueueGridDrawSelectBox'
+ formatter='vlQueueGridFormatSelectBox'
+ width='16'
+ styles='text-align: center;'
+ nonSelectable='true'>
+ <input id="vl-queue-grid-row-selector" type="checkbox" onclick="vlToggleQueueGridSelect();"></input>
+ </th>
+ <th
+ field='+view_marc'
+ get='vlGetViewMARC'
+ formatter='vlFormatViewMARC'
+ styles='text-align: center;'
+ nonSelectable='true'>&vandelay.view.marc;</th>
+ <th
+ field='+get_matches'
+ get='vlGetViewMatches'
+ formatter='vlFormatViewMatches'
+ styles='text-align: center;'
+ nonSelectable='true'>&vandelay.matches;</th>
+ <th
+ field='+get_errors'
+ get='vlGetViewErrors'
+ formatter='vlFormatViewErrors'
+ styles='text-align: center;'
+ nonSelectable='true'>Import Failures</th>
+ <th
+ field='import_time'
+ styles='text-align: center;'
+ get='vlGetDateTimeField'>&vandelay.import.time;</th>
+ </tr>
+ </thead>
+ </table>
+ <div/>
+</div>
+
+<!-- Auth Queue Grid -->
+<div class='' id='vl-auth-queue-grid-wrapper' dojoType='dijit.layout.ContentPane'>
+ <table dojoType='dojox.grid.DataGrid' jsId='vlAuthQueueGrid' query="{id:'*'}" autoHeight='true'>
+ <thead>
+ <tr>
+ <th
+ field='+row_selector'
+ get='vlQueueGridDrawSelectBox'
+ formatter='vlQueueGridFormatSelectBox'
+ styles='text-align: center;'
+ nonSelectable='true'>
+ <input id="vl-queue-grid-row-selector" type="checkbox" onclick="vlToggleQueueGridSelect();"></input>
+ </th>
+ <th
+ field='+view_marc'
+ get='vlGetViewMARC'
+ formatter='vlFormatViewMARC'
+ styles='text-align: center;'
+ nonSelectable='true'>&vandelay.view.marc;</th>
+ <th
+ field='+get_matches'
+ get='vlGetViewMatches'
+ formatter='vlFormatViewMatches'
+ styles='text-align: center;'
+ nonSelectable='true'>&vandelay.matches;</th>
+ <th
+ field='+get_errors'
+ get='vlGetViewErrors'
+ formatter='vlFormatViewErrors'
+ styles='text-align: center;'
+ nonSelectable='true'>Import Failures</th>
+ <th
+ field='import_time'
+ styles='text-align: center;'
+ get='vlGetDateTimeField'>&vandelay.import.time;</th>
+ </tr>
+ </thead>
+ </table>
+ <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.merge_profile;</td>
+ <td colspan='4'>
+ <div jsId='vlUploadMergeProfile2'
+ dojoType='dijit.form.FilteringSelect' required='false' labelAttr='name' searchAttr='name'/>
+ </td>
+ </tr>
+ <tr>
+ <td>&vandelay.auto.import.noncolliding;</td>
+ <td colspan='4'>
+ <input jsId='vlUploadQueueImportNoMatch2' 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.auto_overlay_best;</td>
+ <td colspan='4'><input jsId='vlUploadQueueAutoOverlayBestMatch2' dojoType='dijit.form.CheckBox'/></td>
+ </tr>
+ <tr>
+ <td>&vandelay.auto.import.auto_overlay_best_ratio;</td>
+ <td colspan='4'>
+ <input style='width:3em' value='0.0' jsId='vlUploadQueueAutoOverlayBestMatchRatio2' dojoType='dijit.form.TextBox'/>
+ <span style='padding-left: 10px; font-size:90%'>(&vandelay.auto.import.auto_overlay_best_ratio.desc;)</span>
+ </td>
+ </tr>
+ <tr>
++ <td>&vandelay.auto.import.ft_merge_profile;</td>
++ <td colspan='4'>
++ <div jsId='vlUploadFtMergeProfile2' 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>
+
+
+
--- /dev/null
+<h1>&vandelay.marc.file.upload;</h1><br/>
+<form id="vl-marc-upload-form" enctype="multipart/form-data">
+ <input type='hidden' name='ses' id='vl-ses-input'/>
+ <table class='form_table'>
+ <tr>
+ <td>&vandelay.record.type;</td>
+ <td colspan='4'>
+ <select id='vl-record-type' dojoType='dijit.form.FilteringSelect'
+ jsId='vlUploadRecordType' onchange='vlShowUploadForm();'>
+ <option value='bib' selected='selected'>&vandelay.bib.records;</option>
+ <option value='auth'>&vandelay.auth.records;</option>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>&vandelay.create.upload.queue;</td>
+ <td>
+ <input type='text' dojoType='dijit.form.TextBox' id='vl-queue-name' size='32'></input>
+ </td>
+ <td>&vandelay.add.existing.queue;</td>
+ <td>
+ <select jsId='vlUploadQueueSelector' dojoType='dijit.form.FilteringSelect' required='false'>
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>Record Match Set</td>
+ <td>
+ <input jsId='vlUploadQueueMatchSet'
+ dojoType='dijit.form.FilteringSelect' labelAttr='name' searchAttr='name'/>
+ </td>
+ </tr>
+ <tr>
+ <td>Holdings Import Profile</td>
+ <td>
+ <input jsId='vlUploadQueueHoldingsImportProfile'
+ dojoType='dijit.form.FilteringSelect' labelAttr='name' searchAttr='name'/>
+ </td>
+ </tr>
+ <tr>
+ <td>&vandelay.import.bib_sources;</td>
+ <td>
+ <select name='bib_source' jsId='vlUploadSourceSelector'
+ dojoType='dijit.form.FilteringSelect' labelAttr='source' searchAttr='source'/>
+ </td>
+ </tr>
+ <tr><td colspan='2' style='margin-top:10px;border-bottom:1px solid #888;border-top:2px solid #888'>
+ <b>&vandelay.import.actions;</b>
+ </td></tr>
+ <tr>
+ <td>&vandelay.auto.import.merge_profile;</td>
+ <td colspan='4'>
+ <div jsId='vlUploadMergeProfile' dojoType='dijit.form.FilteringSelect' required='false' labelAttr='name' searchAttr='name'/>
+ </td>
+ </tr>
+ <tr>
+ <td>&vandelay.auto.import.noncolliding;</td>
+ <td colspan='4'>
+ <input jsId='vlUploadQueueImportNoMatch' dojoType='dijit.form.CheckBox'/>
+ </td>
+ </tr>
+ <tr>
+ <td>&vandelay.auto.import.auto_overlay_exact;</td>
+ <td colspan='4'>
+ <input jsId='vlUploadQueueAutoOverlayExact' dojoType='dijit.form.CheckBox'/>
+ </td>
+ </tr>
+ <tr>
+ <td>&vandelay.auto.import.auto_overlay_1match;</td>
+ <td colspan='4'>
+ <input jsId='vlUploadQueueAutoOverlay1Match' dojoType='dijit.form.CheckBox'/>
+ </td>
+ </tr>
+ <tr>
+ <td>&vandelay.auto.import.auto_overlay_best;</td>
+ <td colspan='4'><input jsId='vlUploadQueueAutoOverlayBestMatch' dojoType='dijit.form.CheckBox'/></td>
+ </tr>
+ <tr>
+ <td>&vandelay.auto.import.auto_overlay_best_ratio;</td>
+ <td colspan='4'>
+ <input style='width:3em' value='0.0' jsId='vlUploadQueueAutoOverlayBestMatchRatio' dojoType='dijit.form.TextBox'/>
+ <span style='padding-left: 10px; font-size:90%'>(&vandelay.auto.import.auto_overlay_best_ratio.desc;)</span>
+ </td>
+ </tr>
++ <tr>
++ <td>&vandelay.auto.import.ft_merge_profile;</td>
++ <td colspan='4'>
++ <div jsId='vlUploadFtMergeProfile' dojoType='dijit.form.FilteringSelect' required='false' labelAttr='name' searchAttr='name'/>
++ </td>
++ </tr>
++
+ <tr><td colspan='2' style='border-bottom:2px solid #888;'></td></tr>
+ <tr><td colspan='2' style='padding-bottom: 10px;'></td></tr>
+ <tr>
+ <td colspan='5'>
+ <span id="vl-file-label">&vandelay.file.to.upload;</span>
+ <input size='48' style='border:1px solid #888;' type="file" name="marc_upload"/>
+ <span style='margin-left:10px;'><button dojoType="dijit.form.Button" onclick="batchUpload()">&vandelay.upload;</button></span>
+ </td>
+ </tr>
+ </table>
+</form>
+