Initial dev repository
[kcls-web.git] / js / ui / default / serial / list_subscription.js
diff --git a/js/ui/default/serial/list_subscription.js b/js/ui/default/serial/list_subscription.js
new file mode 100644 (file)
index 0000000..0f166fe
--- /dev/null
@@ -0,0 +1,60 @@
+dojo.require("dijit.form.Button");
+dojo.require("openils.widget.AutoGrid");
+dojo.require("openils.widget.OrgUnitFilteringSelect");
+dojo.require("openils.BibTemplate");
+dojo.require("openils.CGI");
+
+var terms;
+var cgi;
+
+function format_ssub_link(id) {
+    return "<a href='" + oilsBasePath + "/serial/subscription?id=" +
+        id + "'>" + id + "</a>";
+}
+
+function load_ssub_grid() {
+    ssub_grid.resetStore();
+    ssub_grid.loadAll({"order_by": {"ssub": "start_date DESC"}}, terms);
+}
+
+openils.Util.addOnLoad(
+    function() {
+        cgi = new openils.CGI();
+
+        terms = {
+            "owning_lib": aou.orgNodeTrail(
+                aou.findOrgUnit(openils.User.user.ws_ou()),
+                true /* asId */
+            ),
+            "record_entry": cgi.param("record_entry") || _fallback_record_entry
+        };
+
+        if (terms.record_entry)
+            new openils.BibTemplate({"record": terms.record_entry}).render();
+
+        /* This should be present even if terms.record_entry is undef */
+        ssub_grid.overrideEditWidgets.record_entry = new dijit.form.TextBox(
+            {"value": terms.record_entry, "disabled": true}
+        );
+
+        new openils.User().buildPermOrgSelector(
+            "ADMIN_SERIAL_SUBSCRIPTION",
+            ssub_owner_select,
+            null,
+            function() {
+                dojo.connect(
+                    ssub_owner_select,
+                    "onChange",
+                    function() {
+                        terms.owning_lib = aou.orgNodeTrail(
+                            aou.findOrgUnit(this.attr("value")),
+                            true /* asId */
+                        );
+                        load_ssub_grid();
+                    }
+                );
+                load_ssub_grid();
+            }
+        );
+    }
+);