]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/acq/picklist/view.js
Merge branch 'master' of git.evergreen-ils.org:Evergreen-DocBook into doc_consolidati...
[working/Evergreen.git] / Open-ILS / web / js / ui / default / acq / picklist / view.js
1 dojo.require('dojo.date.stamp');
2 dojo.require('dojo.date.locale');
3 dojo.require('openils.User');
4 dojo.require('openils.Util');
5 dojo.require('dijit.layout.ContentPane');
6
7 var plist;
8 var plOffset = 0;
9 var plLimit = 20;
10 var liTable;
11
12
13 function load() {
14     liTable = new AcqLiTable();
15     liTable.isPL = plId;
16     fieldmapper.standardRequest(
17         ['open-ils.acq', 'open-ils.acq.picklist.retrieve.authoritative'],
18         {   async: true,
19             params: [openils.User.authtoken, plId, 
20                 {flesh_lineitem_count:true, flesh_owner:true}],
21             oncomplete: function(r) {
22                 plist = openils.Util.readResponse(r);
23                 drawPl(plist);
24             }
25         }
26     );
27
28 }
29
30 function drawPl() {
31
32     dojo.byId("oils-acq-picklist-name").innerHTML = plist.name();
33     dojo.byId("oils-acq-picklist-attr-owner").innerHTML = plist.owner().usrname();
34     dojo.byId("oils-acq-picklist-attr-count").innerHTML = plist.entry_count();
35
36     dojo.byId("oils-acq-picklist-attr-cdate").innerHTML =
37          dojo.date.locale.format(
38             dojo.date.stamp.fromISOString(plist.create_time()), 
39             {selector:'date'}
40         );
41
42     dojo.byId("oils-acq-picklist-attr-edate").innerHTML = 
43          dojo.date.locale.format(
44             dojo.date.stamp.fromISOString(plist.edit_time()), 
45             {selector:'date'}
46         );
47
48     loadLIs();
49 }
50
51 function loadLIs() {
52     liTable.reset();
53
54     if(plist.entry_count() > (plOffset + plLimit)) {
55         liTable.setNext(
56             function() { 
57                 plOffset += plLimit;
58                 loadLIs();
59             }
60         );
61     } else {
62         liTable.setNext(null);
63     }
64
65     if(plOffset > 0) {
66         liTable.setPrev(
67             function() { 
68                 plOffset -= plLimit;
69                 loadLIs();
70             }
71         );
72     } else {
73         liTable.setPrev(null);
74     }
75
76
77     fieldmapper.standardRequest(
78         ['open-ils.acq', 'open-ils.acq.lineitem.picklist.retrieve'],
79         {   async: true,
80             params: [openils.User.authtoken, plId, 
81                 {flesh_notes:true, flesh_cancel_reason:true, flesh_attrs:true, clear_marc:true, offset:plOffset, limit:plLimit}],
82             onresponse: function(r) {
83                 var li = openils.Util.readResponse(r);
84                 if (li) { /* Not every response is an LI (for some reason) */
85                     liTable.addLineitem(li);
86                     liTable.show('list');
87                 }
88             }
89         }
90     );
91 }
92
93 openils.Util.addOnLoad(load);
94
95