6c46f2aa2f31cc8fe325bfe1ee781ae803da7a43
[working/Evergreen.git] / Open-ILS / web / js / ui / default / actor / user / trigger_events.js
1 dojo.require('dojox.grid.DataGrid');
2 dojo.require('dojo.data.ItemFileWriteStore');
3 dojo.require('openils.Util');
4 dojo.require('openils.User');
5
6 var evtCache = {};
7
8 function init() {
9     var store = new dojo.data.ItemFileWriteStore({data:acqf.initStoreData()});
10     evtGrid.setStore(store);
11     evtGrid.render();
12
13     function onResponse(r) {
14         var evt = openils.Util.readResponse(r);
15         evtCache[evt.id()] = evt;
16         evtGrid.store.newItem(evt.toStoreItem()); 
17     }
18
19     fieldmapper.standardRequest(
20         ['open-ils.actor', 'open-ils.actor.user.events.circ'],
21         {   async: true,
22             params: [openils.User.authtoken, patronId],
23             onresponse : onResponse
24         }
25     );
26
27     fieldmapper.standardRequest(
28         ['open-ils.actor', 'open-ils.actor.user.events.ahr'],
29         {   async: true,
30             params: [openils.User.authtoken, patronId],
31             onresponse : onResponse
32         }
33     );
34 }
35
36 function getField(rowIdx, item) {
37     if(!item) return '';
38     var evt = evtCache[this.grid.store.getValue(item, 'id')];
39
40     switch(this.field) {
41         case 'reactor':
42             return evt.event_def().reactor().module();
43         case 'validator':
44             return evt.event_def().validator().module();
45         case 'hook':
46             return evt.event_def().hook();
47         case 'target':
48             switch(evt.target().classname) {
49                 case 'circ':
50                     return evt.target().target_copy().barcode();
51                 case 'ahr':
52                     if(evt.target().currrent_copy())
53                         return evt.target().currrent_copy().barcode();
54             }
55             
56     }
57
58     return this.grid.store.getValue(item, this.field) || '';
59 }
60
61 function evtCancelSelected() {
62     var selected = evtGrid.selection.getSelected();
63     if(selected.length == 0) return;
64     var eventIds = selected.map(
65         function(item) { return evtGrid.store.getValue(item, 'id') } );
66     alert(eventIds);
67     fieldmapper.standardRequest(
68         ['open-ils.actor', 'open-ils.actor.user.event.cancel.batch'],
69         {   async: true,
70             params: [openils.User.authtoken, eventIds],
71             oncomplete : init
72         }
73     );
74 }
75
76 openils.Util.addOnLoad(init);
77