]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/conify/global/acq/provider.js
enabled paging for provider invoices tab, fixed some related data order_by defs to...
[working/Evergreen.git] / Open-ILS / web / js / ui / default / conify / global / acq / provider.js
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
7
8 var provider;
9 var xpathParser = new openils.MarcXPathParser();
10 var subFields= [];
11
12 function draw() {
13     if(providerId) {
14         openils.Util.addCSSClass(dojo.byId('provider-list-div'), 'hidden');
15        
16         console.log('in draw');
17         var pcrud = new openils.PermaCrud();
18         pcrud.retrieve('acqpro', providerId, {
19                 oncomplete : function(r) {
20                     provider = openils.Util.readResponse(r);
21                     console.log('provider is' + js2JSON(provider));
22                     var pane = new openils.widget.EditPane({fmObject:provider}, dojo.byId('provider-summary-pane'));
23                     pane.startup();
24                     console.log("pane started");
25                     dojo.connect(providerTabs, 'selectChild', drawProviderSummary);                        
26                 }
27  
28             });
29       
30         drawProviderSummary();
31     } else {
32         openils.Util.addCSSClass(dojo.byId('provider-details-div'), 'hidden');       
33         console.log('in else block');
34         pListGrid.loadAll({order_by:{acqpro : 'name'}});       
35         pListGrid.onPostCreate = function(fmObject) {
36             location.href = location.href + '/' + fmObject.id();
37         }
38         
39     }
40    
41 }
42 function drawProviderSummary(child) {
43     var loadedTabs = {'provider-address' : true};
44     if(child){   
45         if(loadedTabs[child.id]) return;
46         loadedTabs[child.id] = true;
47         switch(child.id) {
48         case 'tab-pro-contact': 
49             pcListGrid.overrideEditWidgets.provider = new
50                 dijit.form.TextBox({disabled: 'true', value: providerId});
51             pcListGrid.resetStore();
52             pcListGrid.loadAll( {oncomplete:function(r){
53                         var count = 0; 
54                         pcListGrid.store.fetch( {onComplete:function(list) { 
55                             count =  list.length
56                             if(count>=1){
57                                 var contactIds = [];                                                    dojo.forEach(list, function(item) {
58                                         contactIds.push(pcListGrid.store.getValue(item, 'id')); }
59                                     );
60                                
61                                 pcaListGrid.overrideEditWidgets.contact = new
62                                 dijit.form.FilteringSelect({store: pcListGrid.store});
63                                 pcaListGrid.resetStore();
64                                 pcaListGrid.loadAll({order_by:{acqpca : 'contact'}}, {contact: contactIds});
65                             }else{ 
66                                 return;
67                             }            
68                                 }
69                             }
70                             );
71                     }
72                 }, {provider : providerId});
73             
74             break;
75         case 'tab-attr': 
76             padListGrid.overrideEditWidgets.provider = new
77                 dijit.form.TextBox({disabled: 'true', value: providerId});
78             padListGrid.resetStore();
79             padListGrid.loadAll({order_by:{acqlipad : 'code'}}, {provider : providerId});
80             break;
81         case 'tab-hold': 
82             phsListGrid.overrideEditWidgets.provider = new
83                 dijit.form.TextBox({disabled: 'true', value: providerId});
84             phsListGrid.overrideEditWidgets.name = name;
85             phsListGrid.resetStore();
86             phsListGrid.loadAll({order_by:{acqphsm : 'name'}}, {provider : providerId});
87             break;
88         case "tab-invoice":
89             invListGrid.resetStore();
90             invListGrid.loadAll(
91                 {"order_by": {"acqinv": "recv_date DESC"}},
92                 {"provider": providerId}
93             );
94             break;
95         default:
96             paListGrid.overrideEditWidgets.provider = new
97                 dijit.form.TextBox({disabled: 'true', value: providerId});
98             paListGrid.resetStore();
99             paListGrid.loadAll({order_by:{acqpa:'provider'}}, {provider: providerId}); 
100         }
101         
102     } else {
103         paListGrid.overrideEditWidgets.provider = new
104             dijit.form.TextBox({disabled: 'true', value: providerId});
105         paListGrid.resetStore();
106         paListGrid.loadAll({order_by:{acqpa:'provider'}}, {provider: providerId}); 
107     }
108 }
109
110
111 function getParsedTag(rowIndex, item) {
112     return item && xpathParser.parse(padListGrid.store.getValue(item, 'xpath')).tags;
113 }
114
115
116 function getParsedSubf(rowIndex, item) {
117
118     if(item) {
119         var subfields = xpathParser.parse(padListGrid.store.getValue(item, 'xpath')).subfields;
120         return subfields.join(',');
121     }
122     return'';
123 }
124 openils.Util.addOnLoad(draw);