Initial dev repository
[kcls-web.git] / js / ui / default / conify / global / asset / copy_template.js
1 dojo.require("dojo.data.ItemFileWriteStore");
2 dojo.require("dijit.form.CurrencyTextBox");
3 dojo.require("dijit.form.FilteringSelect");
4 dojo.require("openils.widget.AutoGrid");
5 dojo.require("openils.PermaCrud");
6 dojo.require("openils.widget.OrgUnitFilteringSelect");
7
8 var pcrud;
9 var actOwner;
10 var actList;
11
12 function create_or_update_act(obj, opts, edit_pane) {
13     fieldmapper.standardRequest(
14         ["open-ils.cat", "open-ils.cat.asset.copy_template.create_or_update"], {
15             "params": [openils.User.authtoken, obj],
16             "async": true,
17             "oncomplete": function(r) {
18                 if (r = openils.Util.readResponse(r)) {
19                     if (edit_pane.onPostSubmit)
20                         edit_pane.onPostSubmit(null, [r]);
21                 }
22             }
23         }
24     );
25 }
26
27 function actInit() {
28     actGrid.overrideEditWidgets.fine_level = special_fine_level;
29     actGrid.overrideEditWidgets.fine_level.shove = {"create": 2};
30
31     actGrid.overrideEditWidgets.loan_duration = special_loan_duration;
32     actGrid.overrideEditWidgets.loan_duration.shove = {"create": 2};
33
34     pcrud = new openils.PermaCrud();
35
36     new openils.User().buildPermOrgSelector(
37         "ADMIN_ASSET_COPY_TEMPLATE",
38         actOwnerSelect,
39         null,
40         function() {
41             dojo.connect(
42                 actOwnerSelect,
43                 "onChange",
44                 function() {
45                     actOwner = fieldmapper.aou.findOrgUnit(this.attr("value"));
46                     actGrid.resetStore();
47                     buildActGrid();
48                 }
49             );
50             buildActGrid();
51         }
52     );
53 }
54
55 function buildActGrid() {
56     if (!actOwner)
57         actOwner = fieldmapper.aou.findOrgUnit(openils.User.user.ws_ou());
58
59     pcrud.search(
60         "act", {
61             "owning_lib": fieldmapper.aou.orgNodeTrail(actOwner, true /* asId */)
62         }, {
63             "async": true,
64             "onresponse": function(r) {
65                 if ((actList = openils.Util.readResponse(r))) {
66                     actList = openils.Util.objectSort(actList);
67                     actList.forEach(
68                         function(o) {
69                             actGrid.store.newItem(act.toStoreItem(o));
70                         }
71                     );
72                 }
73             },
74             "oncomplete": function() {
75                 actGrid.hideLoadProgressIndicator();
76             }
77         }
78     );
79 }
80
81 openils.Util.addOnLoad(actInit);