]> git.evergreen-ils.org Git - working/Evergreen.git/blob - Open-ILS/web/js/ui/default/serial/subscription/issuance.js
Remove deprecated 'all_dists' option for make_predictions(), pass along _build_unit...
[working/Evergreen.git] / Open-ILS / web / js / ui / default / serial / subscription / issuance.js
1 function fresh_scap_selector(grid) {
2     /* this really needs to be sync, not async */
3     pcrud.search(
4         "scap", {"subscription": sub_id, "active": "t"}, {
5             "timeout": 10,
6             "oncomplete": function(r) {
7                 var data = scap.toStoreData(openils.Util.readResponse(r));
8                 var selector = new dijit.form.FilteringSelect(
9                     {
10                         "store": new dojo.data.ItemFileReadStore({"data":data}),
11                         "searchAttr": "id"
12                     },
13                     dojo.create("span")
14                 );
15                 selector.shove = {
16                     "create": data.items.length ? data.items[0].id : ""
17                 };
18                 dojo.connect(
19                     selector, "onChange", null, function() {
20                         if (this.item) {
21                             var widget =
22                                 iss_grid.overrideEditWidgets.holding_type;
23                             widget.attr("value", this.item.type);
24                             widget.attr("disabled", true);
25                         }
26                     }
27                 );
28
29                 grid.overrideEditWidgets.caption_and_pattern = selector;
30                 if (grid.overrideEditWidgets.holding_code) {
31                     grid.overrideEditWidgets.holding_code.update_scap_selector(
32                         selector
33                     );
34                 } else {
35                     grid.overrideEditWidgets.holding_code =
36                         new openils.widget.HoldingCode({
37                             "scap_selector": selector
38                         });
39                     grid.overrideEditWidgets.holding_code.shove = {
40                         "create": "[]"
41                     };
42                     grid.overrideEditWidgets.holding_code.startup();
43                 }
44             }
45         }
46     );
47 }
48
49 function prepare_prediction_dialog() {
50     if (sub.end_date()) {
51         prediction_dialog_end_date.attr("disabled", false);
52         prediction_dialog_end_date.attr("checked", true);
53     } else {
54         prediction_dialog_end_num.attr("checked", true);
55         prediction_dialog_end_date.attr("disabled", true);
56         prediction_dialog_num_to_predict.focus();
57     }
58     prediction_dialog_submit.attr("disabled", false);
59 }
60
61 function generate_predictions(fields) {
62     var args = {"ssub_id": sub.id()};
63
64     if (fields.end_how == "date") {
65         args.end_date = sub.end_date();
66     } else if ((num = Number(fields.num_to_predict)) > 0)  {
67         args.num_to_predict = num;
68     } else {
69         alert("Go with a whole, positive number."); /* XXX i18n */
70         return;
71     }
72
73     progress_dialog.show(true);
74     try {
75         fieldmapper.standardRequest(
76             ["open-ils.serial", "open-ils.serial.make_predictions"], {
77                 "params": [openils.User.authtoken, args],
78                 "async": true,
79                 "onresponse": function(r) {
80                     openils.Util.readResponse(r); /* tests for events */
81                 },
82                 "oncomplete": function() {
83                     progress_dialog.hide();
84                     iss_grid.refresh();
85                 }
86             }
87         );
88     } catch (E) {
89         alert(E);
90         progess_dialog.hide();
91     }
92 }