peer type menu, and some other buttons as we morph this toward being a CUD interface
authorJason Etheridge <jason@esilibrary.com>
Tue, 5 Apr 2011 16:44:02 +0000 (12:44 -0400)
committerJason Etheridge <jason@esilibrary.com>
Tue, 5 Apr 2011 16:44:02 +0000 (12:44 -0400)
Open-ILS/xul/staff_client/server/cat/add_multi_home_items.js
Open-ILS/xul/staff_client/server/cat/add_multi_home_items.xul

index a5290be..82b054d 100644 (file)
@@ -1,4 +1,4 @@
-var list; var error; var net; var pcrud; var rows; var sound;
+var data; var list; var error; var net; var pcrud; var rows; var sound;
 
 var commonStrings;
 var catStrings;
@@ -25,11 +25,16 @@ function my_init() {
 
         JSAN.use('util.error'); error = new util.error();
         JSAN.use('util.sound'); sound = new util.sound();
+        JSAN.use('util.widgets');
+        JSAN.use('util.functional');
         JSAN.use('util.list');
+        JSAN.use('OpenILS.data'); data = new OpenILS.data();
+        data.stash_retrieve();
         JSAN.use('util.network'); net = new util.network();
         dojo.require('openils.PermaCrud');
         pcrud = new openils.PermaCrud( { authtoken :ses() });
 
+        init_menu();
         init_list();
         $('list_actions').appendChild( list.render_list_actions() );
         list.set_list_actions();
@@ -46,6 +51,27 @@ function my_init() {
     }
 }
 
+function init_menu() {
+    try {
+        var ml = util.widgets.make_menulist(
+            util.functional.map_list(
+                data.list.bpt.sort( function(a,b) {
+                    if (a.name() < b.name()) return -1;
+                    if (a.name() > b.name()) return 1;
+                    return 0;
+                }),
+                function(obj) {
+                    return [ obj.name(), obj.id() ];
+                }
+            )
+        );
+        ml.setAttribute('id','bpt_menu');
+        $('menu_placeholder').appendChild(ml);
+    } catch(E) {
+        alert('Error in add_multi_home_items.js, init_menu(): ' + E);
+    }
+}
+
 function init_list() {
     try {
         list = new util.list( 'list' );
@@ -131,10 +157,14 @@ function handle_submit() {
                         if (robj.mvr.doc_id() != xul_param('docid')) {
                             var new_bpbcm = new bpbcm();
                                 new_bpbcm.isnew(1);
-                                new_bpbcm.peer_type(1);
+                                new_bpbcm.peer_type($('bpt_menu').value);
                                 new_bpbcm.peer_record(xul_param('docid'));
                                 new_bpbcm.target_copy(robj.copy.id());
                             pcrud.create(new_bpbcm, {
+                                "onerror" : function(r) {
+                                    alert('here');
+                                    alert(js2JSON(r));
+                                },
                                 "oncomplete": function (r, objs) {
                                     try {
                                         var obj = objs[0];
index 1618aff..b4d578d 100644 (file)
 
     <vbox flex="1" class="my_overflow">
         <hbox>
-            <label control="scanbox" value="Barcode" accesskey="B"/>
+            <label value="Peer Type:" />
+            <hbox id="menu_placeholder" />
+            <label control="scanbox" value="Barcode:" accesskey="B"/>
             <textbox id="scanbox"/>
-            <button id="submit" label="Submit" accesskey="S"/>
+            <button id="submit" label="Add to Bib" accesskey="A"/>
+            <spacer flex="1"/>
+            <button id="change" label="Change Peer Type on Selected Items"/> 
+            <button id="remove" label="Remove Selected Items from Bib"/> 
         </hbox>
         <tree id="list" flex="1" enableColumnDrag="true" />
         <hbox id="list_actions" />