1 dojo.require('dojox.grid.DataGrid');
2 dojo.require('dojo.data.ItemFileReadStore');
3 dojo.require('dijit.form.NumberTextBox');
4 dojo.require('dijit.form.CheckBox');
5 dojo.require('dijit.Dialog');
6 dojo.require('fieldmapper.OrgUtils');
7 dojo.require('openils.widget.OrgUnitFilteringSelect');
8 dojo.require('openils.widget.AutoGrid');
9 dojo.require('openils.widget.FlattenerGrid');
10 dojo.require('openils.widget.AutoFieldWidget');
11 dojo.require('openils.User');
12 dojo.require('openils.PermaCrud');
15 function buildZSGrid() {
19 zaGrid.overrideWidgetArgs.source = {
20 widgetValue : sourceCode,
24 // draw the credentials context org unit selector
25 new openils.User().buildPermOrgSelector(
26 'ADMIN_Z3950_SOURCE', z39ContextSelector);
30 zsGrid.loadAll({order_by:{czs : 'name'}});
34 function applyCreds(clear) {
35 dojo.byId('z39-creds-button').disabled = true;
36 dojo.byId('z39-creds-clear').disabled = true;
37 fieldmapper.standardRequest(
38 ['open-ils.search', 'open-ils.search.z3950.apply_credentials'],
41 openils.User.authtoken,
43 z39ContextSelector.attr('value'),
44 clear ? '' : dojo.byId('z39-creds-username').value,
45 clear ? '' : dojo.byId('z39-creds-password').value
47 oncomplete : function(r) {
48 dojo.byId('z39-creds-password').value = '';
49 dojo.byId('z39-creds-button').disabled = false;
50 dojo.byId('z39-creds-clear').disabled = false;
51 openils.Util.readResponse(r);
57 function formatSourceName(val) {
58 return '<a href="' + location.href + '/' + escape(val) + '">' + val + '</a>';
61 var cloneSourceSelector;
62 function showAttrCloneDialog() {
63 attrCloneDialog.show();
64 if (!cloneSourceSelector) {
65 cloneSourceSelector = new openils.widget.AutoFieldWidget({
69 parentNode : 'attr-clone-source'
71 cloneSourceSelector.build();
75 function cloneFromSource() {
76 var pcrud = new openils.PermaCrud({authtoken : openils.User.authtoken});
77 var remoteAttrs = pcrud.search('cza', {source : cloneSourceSelector.widget.attr('value')});
78 var myAttrs = pcrud.search('cza', {source : sourceCode});
81 dojo.forEach(remoteAttrs,
84 // if this source already has an attribute with the same name, don't clobber it
85 if (myAttrs.filter(function(a) { return (a.name() == rattr.name()) })[0])
88 var newAttr = rattr.clone();
91 newAttr.source(sourceCode);
92 newAttrs.push(newAttr);
96 if (newAttrs.length) {
97 pcrud.create(newAttrs,
98 {oncomplete : function() { zaGrid.refresh() }});
101 attrCloneDialog.hide();
104 openils.Util.addOnLoad(buildZSGrid);