--- /dev/null
+dojo.require("dijit.Dialog");
+dojo.require('dijit.layout.TabContainer');
+dojo.require('dijit.layout.ContentPane');
+dojo.require('dijit.form.FilteringSelect');
+dojo.require('dojox.grid.DataGrid');
+dojo.require('dojo.data.ItemFileReadStore');
+dojo.require("fieldmapper.OrgUtils");
+dojo.require('openils.acq.Provider');
+dojo.require('openils.Event');
+dojo.require('openils.User');
+dojo.require('openils.Util');
+
+var provider = null;
+var marcRegex = /^\/\/\*\[@tag="(\d+)"]\/\*\[@code="(\w)"]$/;
+
+function getOrgInfo(rowIndex, item) {
+ if(!item) return '';
+ var owner = this.grid.store.getValue(item, 'owner');
+ return fieldmapper.aou.findOrgUnit(owner).shortname();
+
+}
+
+function getTag(rowIdx, item) {
+ if(!item) return '';
+ var xpath = this.grid.store.getValue(item, 'xpath');
+ return xpath.replace(marcRegex, '$1');
+}
+
+function getSubfield(rowIdx, item) {
+ if(!item) return '';
+ var xpath = this.grid.store.getValue(item, 'xpath');
+ return xpath.replace(marcRegex, '$2');
+}
+
+function loadProviderGrid() {
+ var store = new dojo.data.ItemFileReadStore({data:acqpro.toStoreData([provider])});
+
+ providerGrid.setStore(store);
+ providerGrid.render();
+}
+
+function loadPADGrid() {
+ openils.acq.Provider.retrieveLineitemProviderAttrDefs(providerId,
+ function(attrs) {
+ var store = new dojo.data.ItemFileReadStore({data:acqlipad.toStoreData(attrs)});
+ var model = new dojox.grid.data.DojoData(
+ null, store, {rowsPerPage: 20, clientSort: true, query:{id:'*'}});
+ padGrid.setModel(model);
+ padGrid.update();
+ }
+ );
+}
+
+
+function fetchProvider() {
+ fieldmapper.standardRequest(
+ ['open-ils.acq', 'open-ils.acq.provider.retrieve'],
+ { async: true,
+ params: [ openils.User.authtoken, providerId ],
+ oncomplete: function(r) {
+ provider = r.recv().content();
+ loadProviderGrid(provider);
+ }
+ }
+ );
+}
+
+function createOrderRecordField(fields) {
+ fields.provider = providerId;
+ if(!fields.xpath)
+ fields.xpath = '//*[@tag="'+fields.tag+'"]/*[@code="'+fields.subfield+'"]';
+ delete fields.tag;
+ delete fields.subfield;
+ openils.acq.Provider.createLineitemProviderAttrDef(fields,
+ function(id) {
+ loadPADGrid();
+ }
+ );
+}
+
+function setORDesc() {
+ var code = dijit.byId('oils-acq-provider-or-code');
+ var desc = dijit.byId('oils-acq-provider-or-desc');
+ desc.setValue(code.getDisplayedValue());
+}
+
+function deleteORDataFields() {
+ var list = []
+ var selected = padGrid.selection.getSelected();
+ for(var idx = 0; idx < selected.length; idx++)
+ list.push(padGrid.model.getRow(selected[idx]).id);
+ openils.acq.Provider.lineitemProviderAttrDefDeleteList(
+ list, function(){loadPADGrid();});
+}
+
+
+openils.Util.addOnLoad(fetchProvider);
+
+