]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/acq/lineitem/related.js
removed call to removed function
[working/Evergreen.git] / Open-ILS / web / js / ui / default / acq / lineitem / related.js
1 dojo.require("openils.acq.Lineitem");
2 dojo.require("openils.Util");
3 dojo.require("openils.XUL");
4 dojo.require("openils.CGI");
5 dojo.require("openils.PermaCrud");
6 dojo.require('openils.BibTemplate');
7 dojo.require('fieldmapper.OrgUtils');
8
9 var liTable;
10 var identTarget;
11 var bibRecord;
12 var paramPL;
13 var paramPO;
14
15 function fetchLi() {
16     fieldmapper.standardRequest(
17         ["open-ils.acq", "open-ils.acq.lineitem.retrieve"], {
18             "async": true,
19             "params": [openils.User.authtoken, targetId, {
20                 "flesh_attrs": true,
21                 "flesh_li_details": true,
22                 "flesh_fund_debit": true,
23                 "flesh_cancel_reason": true
24             }],
25             "oncomplete": function(r) {
26                 fetchBib();
27             }
28         }
29     );
30 }
31
32
33 function fetchRelated() {
34     var method = 'open-ils.acq.lineitems_for_bib.by_lineitem_id';
35     if(identTarget == 'bib')
36         var method = 'open-ils.acq.lineitems_for_bib.by_bib_id';
37
38     fieldmapper.standardRequest(
39         ["open-ils.acq", method], {
40             "async": true,
41             "params": [openils.User.authtoken, targetId, {
42                 "flesh_attrs": true,
43                 "flesh_notes": true,
44                 "flesh_cancel_reason": true
45             }],
46             "onresponse": function(r) {
47                 var resp = openils.Util.readResponse(r);
48                 if (resp) {
49                     liTable.show("list");
50                     liTable.addLineitem(resp);
51                 }
52             }
53         }
54     );
55 }
56
57 function fetchBib() {
58     new openils.BibTemplate({ 
59         record : targetId, 
60         org_unit : fieldmapper.aou.findOrgUnit(openils.User.user.ws_ou()).shortname()
61     }).render();
62
63     new openils.PermaCrud().retrieve('bre', targetId, {
64         oncomplete : function(r) {
65             bibRecord = openils.Util.readResponse(r);
66             // render bib details
67             // perhaps we just pull these from the beating heart of bibtemplate
68         }
69     }) 
70 }
71
72 function addLi(fields) {
73
74     var li = new fieldmapper.jub();
75     li.marc(bibRecord.marc());
76     li.eg_bib_id(bibRecord.id());
77     if(fields.picklist) li.picklist(fields.picklist);
78     if(fields.po) li.po(fields.po);
79     li.selector(openils.User.user.id());
80     li.creator(openils.User.user.id());
81     li.editor(openils.User.user.id());
82
83     fieldmapper.standardRequest(
84         ['open-ils.acq', 'open-ils.acq.lineitem.create'],
85         {   async : true,
86             params : [openils.User.authtoken, li],
87             oncomplete : function(r) {
88                 var id = openils.Util.readResponse(r);
89                 if(!id) return;
90                 if(fields.picklist) 
91                     location.href = oilsBasePath + '/acq/picklist/view/' + fields.picklist;
92                 else
93                     location.href = oilsBasePath + '/acq/po/view/' + fields.po;
94             }
95         }
96     );
97 }
98
99 function loadPl() {
100
101     if(paramPL) {
102
103         fieldmapper.standardRequest(
104             ['open-ils.acq', 'open-ils.acq.picklist.retrieve'],
105             {   async: true,
106                 params: [openils.User.authtoken, paramPL], 
107                 oncomplete : function(r) {
108                     var pl = openils.Util.readResponse(r);
109                     plSelector.store = 
110                         new dojo.data.ItemFileReadStore({data:fieldmapper.acqpl.toStoreData([pl])});
111                     plSelector.attr('value', pl.name());
112                     plSelector.attr('disabled', true);
113                 }
114             }
115         );
116
117     } else {
118
119         fieldmapper.standardRequest(
120             ['open-ils.acq', 'open-ils.acq.picklist.user.retrieve.atomic'],
121             {   async: true,
122                 params: [openils.User.authtoken], 
123                 oncomplete : function(r) {
124                     var list = openils.Util.readResponse(r);
125                     plSelector.store = 
126                         new dojo.data.ItemFileReadStore({data:fieldmapper.acqpl.toStoreData(list)});
127                 }
128             }
129         );
130     }
131 }
132
133
134 function load() {
135     var cgi = new openils.CGI();
136
137     identTarget = cgi.param('target');
138     paramPL = cgi.param('pl');
139     paramPO = cgi.param('po');
140
141     loadPl();
142
143     if(identTarget == 'bib') {
144         fetchBib();
145     } else {
146         fetchLi(); 
147     }
148
149     liTable = new AcqLiTable();
150     liTable.reset();
151     liTable._isRelatedViewer = true;
152
153     fetchRelated();
154 }
155
156 openils.Util.addOnLoad(load);