]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/conify/global/acq/distribution_formula.js
added distribution formula admin UI
[working/Evergreen.git] / Open-ILS / web / js / ui / default / conify / global / acq / distribution_formula.js
1 dojo.require('openils.widget.AutoGrid');
2 dojo.require('dijit.form.FilteringSelect');
3 dojo.require('openils.PermaCrud');
4 var formula;
5 var formCache = [];
6 function draw() {
7     if(formulaId) {
8         openils.Util.hide('formula-list-div');
9         drawFormulaSummary();
10     } else {
11         openils.Util.hide('formula-entry-div');
12         fListGrid.onPostCreate = function(fmObject) {
13             location.href = location.href + '/' + fmObject.id();
14         }
15  fieldmapper.standardRequest(
16                 ['open-ils.acq', 'open-ils.acq.distribution_formula.ranged.retrieve'],
17                 {   async: true,
18                     params: [openils.User.authtoken],
19                     onresponse: function (r) { 
20                         var form = openils.Util.readResponse(r);
21                         formCache[form.id()] = form;
22                         fListGrid.store.newItem(form.toStoreItem());
23                         }
24                     }
25                              );
26      
27     }
28 }
29 openils.Util.addOnLoad(draw);
30
31 /*function getFormulaId (rowIndex, item) {
32     if(!item) return '';
33     var pcrud = new openils.PermaCrud;
34     var formulaName = pcrud.retrieve('acqdf', formulaId);
35     return formulaName.name();
36     
37
38 }
39 */
40 function drawFormulaSummary() {
41     openils.Util.show('formula-entry-div');
42     dfeListGrid.overrideEditWidgets.formula = new
43         dijit.form.TextBox({style:'display:none', value: formulaId});
44     dfeListGrid.loadAll({order_by:{acqdfe : 'formula'}}, {formula : formulaId});
45     var pcrud = new openils.PermaCrud;
46     var formulaName = pcrud.retrieve('acqdf', formulaId);
47     dojo.byId('formula_head').innerHTML = formulaName.name();
48 }
49
50 function getItemCount(rowIndex, item) {
51     if(!item) return '';
52     var form = formCache[this.grid.store.getValue(item, "id")];
53     var count = 0;
54     dojo.forEach(form.entries(),
55                  function(e) {
56                      count = count + e.item_count();
57                  }
58                  );
59     return count;
60 }
61
62 function getFormulaName(rowIndex, item) {
63     if(!item) return '';
64     return '<a href="' + location.href + '/' +
65         this.grid.store.getValue(item, 'id') + '">' +
66         this.grid.store.getValue(item, 'name') + '</a>';
67 }
68