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