1 dojo.require('dijit.layout.TabContainer');
2 dojo.require('openils.widget.AutoGrid');
3 dojo.require('dijit.form.FilteringSelect');
4 dojo.require('openils.PermaCrud');
5 dojo.require('openils.MarcXPathParser');
6 dojo.require('openils.widget.OrgUnitFilteringSelect');
10 var xpathParser = new openils.MarcXPathParser();
14 var org_id = openils.User.user.ws_ou();
15 var list = fieldmapper.aou.findOrgUnit(org_id).orgNodeTrail().map(
16 function (i) {return i.id() }
19 new openils.User().buildPermOrgSelector(
20 'VIEW_PROVIDER', contextOrgSelector, null,
22 dojo.connect(contextOrgSelector, 'onChange', filterGrid);
28 openils.Util.addCSSClass(dojo.byId('provider-list-div'), 'hidden');
30 console.log('in draw');
31 var pcrud = new openils.PermaCrud();
32 pcrud.retrieve('acqpro', providerId, {
33 oncomplete : function(r) {
34 provider = openils.Util.readResponse(r);
35 console.log('provider is' + js2JSON(provider));
36 var pane = new openils.widget.EditPane({fmObject:provider, paneStackCount:2}, dojo.byId('provider-summary-pane'));
38 console.log("pane started");
39 dojo.connect(providerTabs, 'selectChild', drawProviderSummary);
44 drawProviderSummary();
46 openils.Util.addCSSClass(dojo.byId('provider-details-div'), 'hidden');
47 console.log('in else block');
48 pListGrid.loadAll({order_by:{acqpro : 'name'}},{'owner':list});
49 pListGrid.onPostCreate = function(fmObject) {
50 location.href = location.href + '/' + fmObject.id();
56 function drawProviderSummary(child) {
57 var loadedTabs = {'provider-address' : true};
59 if(loadedTabs[child.id]) return;
60 loadedTabs[child.id] = true;
62 case 'tab-pro-contact':
63 pcListGrid.overrideEditWidgets.provider = new
64 dijit.form.TextBox({disabled: 'true', value: providerId});
65 pcListGrid.resetStore();
66 pcListGrid.loadAll( {oncomplete:function(r){
68 pcListGrid.store.fetch( {onComplete:function(list) {
71 var contactIds = []; dojo.forEach(list, function(item) {
72 contactIds.push(pcListGrid.store.getValue(item, 'id')); }
75 pcaListGrid.overrideEditWidgets.contact = new
76 dijit.form.FilteringSelect({store: pcListGrid.store});
77 pcaListGrid.resetStore();
78 pcaListGrid.loadAll({order_by:{acqpca : 'contact'}}, {contact: contactIds});
86 }, {provider : providerId});
90 padListGrid.overrideEditWidgets.provider = new
91 dijit.form.TextBox({disabled: 'true', value: providerId});
92 padListGrid.resetStore();
93 padListGrid.loadAll({order_by:{acqlipad : 'code'}}, {provider : providerId});
96 phsListGrid.overrideEditWidgets.provider = new
97 dijit.form.TextBox({disabled: 'true', value: providerId});
98 phsListGrid.resetStore();
99 phsListGrid.loadAll({order_by:{acqphsm : 'name'}}, {provider : providerId});
102 invListGrid.resetStore();
104 {"order_by": {"acqinv": "recv_date DESC"}},
105 {"provider": providerId}
109 paListGrid.overrideEditWidgets.provider = new
110 dijit.form.TextBox({disabled: 'true', value: providerId});
111 paListGrid.resetStore();
112 paListGrid.loadAll({order_by:{acqpa:'provider'}}, {provider: providerId});
116 paListGrid.overrideEditWidgets.provider = new
117 dijit.form.TextBox({disabled: 'true', value: providerId});
118 paListGrid.resetStore();
119 paListGrid.loadAll({order_by:{acqpa:'provider'}}, {provider: providerId});
124 function getParsedTag(rowIndex, item) {
125 return item && xpathParser.parse(padListGrid.store.getValue(item, 'xpath')).tags;
129 function getParsedSubf(rowIndex, item) {
132 var subfields = xpathParser.parse(padListGrid.store.getValue(item, 'xpath')).subfields;
133 return subfields.join(',');
138 function filterGrid() {
139 pListGrid.resetStore();
140 var unit = contextOrgSelector.getValue();
141 var list = fieldmapper.aou.findOrgUnit(unit).orgNodeTrail().map( function (i) {return i.id() } );
144 pListGrid.loadAll({order_by:{acqpro : 'name'}}, { 'owner' : list });
146 pListGrid.loadAll({order_by:{acqpro : 'name'}});
149 openils.Util.addOnLoad(draw);