Initial dev repository
[kcls-web.git] / js / ui / default / conify / global / config / billing_type.js
1 dojo.require('dojox.grid.DataGrid');
2 dojo.require('openils.widget.AutoGrid');
3 dojo.require('dojox.grid.cells.dijit');
4 dojo.require('dojo.data.ItemFileWriteStore');
5 dojo.require('dijit.form.CurrencyTextBox');
6 dojo.require('dijit.Dialog');
7 dojo.require('dojox.widget.PlaceholderMenuItem');
8 dojo.require('fieldmapper.OrgUtils');
9 dojo.require('dijit.form.FilteringSelect');
10 dojo.require('openils.PermaCrud');
11 dojo.require('openils.widget.OrgUnitFilteringSelect');
12
13 var btContextOrg;
14 var btList;
15
16 /** really need to put this in a shared location... */
17 function getOrgInfo(rowIndex, item) {
18     if(!item) return '';
19     var orgId = this.grid.store.getValue(item, this.field);
20     return fieldmapper.aou.findOrgUnit(orgId).shortname();
21 }
22
23 function btInit() {
24
25     btGrid.disableSelectorForRow = function(rowIdx) {
26         var item = btGrid.getItem(rowIdx);
27         return (btGrid.store.getValue(item, 'id') < 100);
28     }
29
30     buildBTGrid();
31     var connect = function() {
32         dojo.connect(btContextOrgSelect, 'onChange',
33                      function() {
34                          btContextOrg = this.getValue();
35                          btGrid.resetStore();
36                          buildBTGrid();
37                      }
38                     );
39     };
40     new openils.User().buildPermOrgSelector('VIEW_BILLING_TYPE', btContextOrgSelect, null, connect);
41 }
42
43 function buildBTGrid() {
44     if(btContextOrg == null)
45         btContextOrg = openils.User.user.ws_ou();
46     fieldmapper.standardRequest(
47         ['open-ils.circ', 'open-ils.circ.billing_type.ranged.retrieve.all'],
48         {   async: true,
49             params: [openils.User.authtoken, btContextOrg, fieldmapper.aou.findOrgDepth(btContextOrg)],
50             oncomplete: function(r) {
51                 if(btList = openils.Util.readResponse(r)) {
52                     btList = openils.Util.objectSort(btList);
53                     dojo.forEach(btList,
54                                  function(e) {
55                                      btGrid.store.newItem(cbt.toStoreItem(e));
56                                  }
57                                 );
58                 }
59             }
60         }
61     );
62 }
63
64 openils.Util.addOnLoad(btInit);
65
66