action for show in catalog
[evergreen-equinox.git] / Open-ILS / xul / staff_client / server / cat / manage_multi_home_items.js
index 79ab906..802710b 100644 (file)
@@ -35,6 +35,7 @@ function my_init() {
         JSAN.use('util.network'); net = new util.network();
         dojo.require('openils.PermaCrud');
         pcrud = new openils.PermaCrud( { authtoken :ses() });
+        JSAN.use('cat.util');
 
         init_menu();
         init_list();
@@ -44,6 +45,7 @@ function my_init() {
         $('submit').addEventListener('command', function() { handle_submit(true); }, false);
         $('remove').addEventListener('command', function() { handle_remove(); }, false);
         $('change').addEventListener('command', function() { handle_change(); }, false);
+        $('opac').addEventListener('command', function() { handle_opac(); }, false);
         $('scanbox').addEventListener('keypress', handle_keypress, false);
         default_focus();
 
@@ -389,3 +391,28 @@ function handle_remove() {
         alert('Error in manage_multi_home_items.js, handle_remove(): ' + E);
     }
 }
+
+function handle_opac() {
+    try {
+        var node_list = list.retrieve_selection();
+        var eligibles = [];
+        for (var i = 0; i < node_list.length; i++) {
+            var retrieve_id = node_list[i].getAttribute('retrieve_id');
+            if (retrieve_id && retrieve_id != 'undefined') {
+                eligibles.push( retrieve_id );
+            }
+        }
+        if (eligibles.length > 0) {
+            var selection_list = [];
+            for (var i = 0; i < eligibles.length; i++) {
+                selection_list.push({
+                    'barcode' : bpbcm_barcode_map[ eligibles[i] ]
+                });
+            }
+            cat.util.show_in_opac(selection_list);
+        }
+
+    } catch(E) {
+        alert('Error in manage_multi_home_items.js, handle_opac(): ' + E);
+    }
+}