var vlBibSources = [];
var importItemDefs = [];
var matchSets = {};
+var matchBuckets = {};
var mergeProfiles = [];
var copyStatusCache = {};
var copyLocationCache = {};
localeStrings = dojo.i18n.getLocalization("openils.vandelay", "vandelay");
authtoken = openils.User.authtoken;
- var initNeeded = 8; // how many async responses do we need before we're init'd
+ var initNeeded = 9; // how many async responses do we need before we're init'd
var initCount = 0; // how many async reponses we've received
openils.Util.registerEnterHandler(
}
);
+ fieldmapper.standardRequest(
+ ['open-ils.actor', 'open-ils.actor.container.retrieve_by_class'],
+ { async : true,
+ params : [authtoken, new openils.User().user.id(), 'biblio'],
+ oncomplete : function(r) {
+ var buckets = openils.Util.readResponse(r);
+ // only bib buckets are supported
+ matchBuckets.biblio = [];
+ dojo.forEach(buckets, function(buk) {
+ matchBuckets.biblio.push(buk);
+ });
+ checkInitDone();
+ }
+ }
+ );
+
new openils.PermaCrud().retrieveAll('ccs',
{ async: true,
oncomplete: function(r) {
/**
* Creates a new vandelay queue
*/
-function createQueue(queueName, type, onload, importDefId, matchSet) {
+function createQueue(
+ queueName, type, onload, importDefId, matchSet, matchBucket) {
+
var name = (type=='bib') ? 'bib' : 'authority';
var method = 'open-ils.vandelay.'+ name +'_queue.create'
fieldmapper.standardRequest(
['open-ils.vandelay', method],
{ async: true,
- params: [authtoken, queueName, null, qType, matchSet, importDefId],
+ params: [
+ authtoken, queueName, null,
+ qType, matchSet, importDefId, matchBucket
+ ],
oncomplete : function(r) {
var queue = r.recv().content();
if(e = openils.Event.parse(queue))
} else {
createQueue(queueName, currentType, handleCreateQueue,
vlUploadQueueHoldingsImportProfile.attr('value'),
- vlUploadQueueMatchSet.attr('value')
+ vlUploadQueueMatchSet.attr('value'),
+ vlUploadQueueMatchBucket.attr('value')
);
}
}
vlUploadQueueHoldingsImportProfile.attr('disabled', true);
vlUploadQueueMatchSet.attr('value', queue.match_set() || '');
vlUploadQueueMatchSet.attr('disabled', true);
+ vlUploadQueueMatchBucket.attr('value', queue.match_bucket() || '');
+ vlUploadQueueMatchBucket.attr('disabled', true);
} else {
vlUploadQueueHoldingsImportProfile.attr('value', '');
vlUploadQueueHoldingsImportProfile.attr('disabled', false);
- vlUploadQueueMatchSet.attr('value', '');
- vlUploadQueueMatchSet.attr('disabled', false);
+ vlUploadQueueMatchBucket.attr('value', '');
+ vlUploadQueueMatchBucket.attr('disabled', false);
}
dojo.disconnect(qInput._onchange);
qInput.attr('value', '');
// user entered a new queue name. clear the selector
vlUploadQueueHoldingsImportProfile.attr('disabled', false);
vlUploadQueueMatchSet.attr('disabled', false);
+ vlUploadQueueMatchBucket.attr('disabled', false);
dojo.disconnect(selector._onchange);
selector.attr('value', '');
selector._onchange = dojo.connect(selector, 'onChange', selChange);
new dojo.data.ItemFileReadStore({data:vms.toStoreData(matchSets[type])});
}
+function vlUpdateMatchBucketSelector(type) {
+ type = (type.match(/bib/)) ? 'biblio' : 'authority';
+ if (type == 'authority') {
+ vlUploadQueueMatchBucket.attr('value', '');
+ vlUploadQueueMatchBucket.attr('disabled', true);
+ } else {
+ vlUploadQueueMatchBucket.attr('disabled', false);
+ vlUploadQueueMatchBucket.store =
+ new dojo.data.ItemFileReadStore(
+ {data:cbreb.toStoreData(matchBuckets[type])});
+ }
+}
+
function vlShowUploadForm() {
displayGlobalDiv('vl-marc-upload-div');
vlFleshQueueSelect(vlUploadQueueSelector, vlUploadRecordType.getValue());
vlUploadQueueHoldingsImportProfile.store =
new dojo.data.ItemFileReadStore({data:viiad.toStoreData(importItemDefs)});
vlUpdateMatchSetSelector(vlUploadRecordType.getValue());
+ vlUpdateMatchBucketSelector(vlUploadRecordType.getValue());
// use ratio from the merge profile if it's set
dojo.connect(