Initial dev repository
[kcls-web.git] / js / ui / default / serial / list_stream.js
1 dojo.require("dijit.form.Button");
2 dojo.require("dijit.form.NumberSpinner");
3 dojo.require("dijit.form.TextBox");
4 dojo.require("openils.widget.AutoGrid");
5 dojo.require("openils.widget.ProgressDialog");
6 dojo.require("openils.PermaCrud");
7 dojo.require("openils.CGI");
8
9 var pcrud;
10 var dist_id;
11 var cgi;
12
13 function format_routing_label(routing_label) {
14     return routing_label ? routing_label : "[None]";
15 }
16
17 function load_sstr_grid() {
18     sstr_grid.overrideEditWidgets.distribution =
19         new dijit.form.TextBox({"disabled": true, "value": dist_id});
20
21     sstr_grid.resetStore();
22     sstr_grid.loadAll(
23         {"order_by": {"ssub": "start_date DESC"}},
24         {"distribution": dist_id}
25     );
26 }
27
28 function load_sdist_display() {
29     pcrud.retrieve(
30         "sdist", dist_id, {
31             "onresponse": function(r) {
32                 if (r = openils.Util.readResponse(r)) {
33                     var link = dojo.byId("sdist_label_here");
34                     link.onclick = function() {
35                         location.href = oilsBasePath +
36                             "/eg/serial/subscription?id=" +
37                             r.subscription() + "&tab=distributions";
38                     }
39                     link.innerHTML = r.label();
40                     load_sdist_org_unit_display(r);
41                 }
42             }
43         }
44     );
45 }
46
47 function load_sdist_org_unit_display(dist) {
48     dojo.byId("sdist_org_unit_name_here").innerHTML =
49         aou.findOrgUnit(dist.holding_lib()).name();
50 }
51
52 function create_many_streams(fields) {
53     var streams = [];
54     for (var i = 0; i < fields.quantity; i++) {
55         var stream = new sstr();
56         stream.distribution(dist_id);
57         streams.push(stream);
58     }
59
60     progress_dialog.show(true);
61     this.pcrud.create(
62         streams, {
63             "oncomplete": function(r, list) {
64                 progress_dialog.hide();
65                 sstr_grid.refresh();
66             },
67             "onerror": function(r) {
68                 progress_dialog.hide();
69                 alert("Error creating streams!"); /* XXX i18n */
70             }
71         }
72     );
73 }
74
75 openils.Util.addOnLoad(
76     function() {
77         cgi = new openils.CGI();
78         pcrud = new openils.PermaCrud();
79
80         dist_id = cgi.param("distribution");
81         load_sdist_display();
82         load_sstr_grid();
83     }
84 );