shared buckets
authorpines <pines@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 23 Oct 2006 18:24:58 +0000 (18:24 +0000)
committerpines <pines@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Mon, 23 Oct 2006 18:24:58 +0000 (18:24 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@6499 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/server/cat/copy_buckets.js
Open-ILS/xul/staff_client/server/cat/copy_buckets_overlay.xul
Open-ILS/xul/staff_client/server/cat/record_buckets.js
Open-ILS/xul/staff_client/server/cat/record_buckets_overlay.xul

index 3fc6ae1..d850a74 100644 (file)
@@ -124,7 +124,7 @@ cat.copy_buckets.prototype = {
                                                function(e) {
                                                        return function() {
                                                                JSAN.use('util.widgets'); JSAN.use('util.functional');
-                                                               var items = [ ['Choose a bucket...',''] ].concat(
+                                                               var items = [ ['Choose a bucket...',''], ['Retrieve shared bucket...',-1] ].concat(
                                                                        util.functional.map_list(
                                                                                obj.network.simple_request(
                                                                                        'BUCKET_RETRIEVE_VIA_USER',
@@ -136,7 +136,7 @@ cat.copy_buckets.prototype = {
                                                                                }
                                                                        )
                                                                );
-                                                               g.error.sdump('D_TRACE','items = ' + js2JSON(items));
+                                                               obj.error.sdump('D_TRACE','items = ' + js2JSON(items));
                                                                util.widgets.remove_children( e );
                                                                var ml = util.widgets.make_menulist(
                                                                        items
@@ -147,11 +147,39 @@ cat.copy_buckets.prototype = {
 
                                                                function change_bucket(ev) {
                                                                        var bucket_id = ev.target.value;
+                                                                       if (bucket_id < 0 ) {
+                                                                               bucket_id = window.prompt('Enter bucket number:');
+                                                                               ev.target.value = bucket_id;
+                                                                               ev.target.setAttribute('value',bucket_id);
+                                                                       }
                                                                        if (!bucket_id) return;
                                                                        var bucket = obj.network.simple_request(
                                                                                'BUCKET_FLESH',
                                                                                [ ses(), 'copy', bucket_id ]
                                                                        );
+                                                                       if (typeof bucket.ilsevent != 'undefined') {
+                                                                               if (bucket.ilsevent == 1506 /* CONTAINER_NOT_FOUND */) {
+                                                                                       alert('Could not find a bucket with ID = ' + bucket_id);
+                                                                               } else {
+                                                                                       obj.error.standard_unexpected_error_alert('Error retrieving bucket.  Did you use a valid bucket id?',bucket);
+                                                                               }
+                                                                               return;
+                                                                       }
+                                                                       try {
+                                                                               var x = document.getElementById('info_box');
+                                                                               x.setAttribute('hidden','false');
+                                                                               x = document.getElementById('bucket_number');
+                                                                               x.setAttribute('value',bucket.id());
+                                                                               x = document.getElementById('bucket_name');
+                                                                               x.setAttribute('value',bucket.name());
+                                                                               x = document.getElementById('bucket_owner');
+                                                                               var s = bucket.owner(); JSAN.use('patron.util');
+                                                                               if (s && typeof s != "object") s = patron.util.retrieve_fleshed_au_via_id(ses(),s); 
+                                                                               x.setAttribute('value',s.card().barcode() + " @ " + obj.data.hash.aou[ s.home_ou() ].shortname());
+
+                                                                       } catch(E) {
+                                                                               alert(E);
+                                                                       }
                                                                        var items = bucket.items() || [];
                                                                        obj.list2.clear();
                                                                        for (var i = 0; i < items.length; i++) {
@@ -169,6 +197,9 @@ cat.copy_buckets.prototype = {
                                                                }, false);
                                                                obj.controller.view.bucket_menulist = ml;
                                                                JSAN.use('util.widgets'); util.widgets.dispatch('change_bucket',ml);
+                                                               document.getElementById('refresh').addEventListener( 'command', function() {
+                                                                       JSAN.use('util.widgets'); util.widgets.dispatch('change_bucket',ml);
+                                                               }, false);
                                                        };
                                                },
                                        ],
index 243f037..64b6c3c 100644 (file)
@@ -24,6 +24,7 @@
        <groupbox flex="2">
                <caption label="Bucket View" />
                <hbox id="copy_buckets_top_ui" />
+               <hbox id="info_box"/>
                <tree id="copies_in_bucket_list" flex="1" enableColumnDrag="true"/>
                <hbox id="copy_buckets_bottom_ui" />
        </groupbox>
        <hbox id="copy_buckets_menulist_placeholder" />
        <button command="copy_buckets_new_bucket" label="New Bucket"/>
        <button command="copy_buckets_delete_bucket" label="Delete Bucket"/>
+       <button id="refresh" label="Refresh"/>
        <spacer flex="1"/>
        <button id="clip_button" command="sel_clip" label="Copy to Clipboard" disabled="true" />
        <button command="copy_buckets_delete_item" label="Delete Selected" disabled="true" image="/xul/server/skin/media/images/icon_delete.gif"/>
        <button command="copy_buckets_export" label="Add Selected" disabled="true" image="/xul/server/skin/media/images/up_arrow.gif"/>
 </hbox>
 
+<hbox id="info_box" hidden="true" style="font-size: large;">
+       <label value="Bucket #"/>
+       <label id="bucket_number" style="color: blue; text-decoration: underline; -moz-user-focus: normal;" onclick="copy_to_clipboard(event)"/>
+       <label id="bucket_name" style="color: blue;"/>
+       <label value="Owner:"/>
+       <label id="bucket_owner" style="color: blue;"/>
+</hbox>
+
 <hbox id="copy_buckets_bottom_ui">
        <button id="copy_buckets_print" label="Print" command="cmd_copy_buckets_print" accesskey="P"/>
        <spacer flex="1"/>
index 8fc977d..87493ec 100644 (file)
@@ -133,7 +133,7 @@ cat.record_buckets.prototype = {
                                                                        obj.error.standard_unexpected_error_alert('Could not retrieve your buckets.',buckets);
                                                                        return;
                                                                }
-                                                               var items = [ ['Choose a bucket...',''] ].concat(
+                                                               var items = [ ['Choose a bucket...',''], ['Retrieve shared bucket...',-1] ].concat(
                                                                        util.functional.map_list(
                                                                                util.functional.filter_list(
                                                                                        buckets.biblio,
@@ -147,7 +147,7 @@ cat.record_buckets.prototype = {
                                                                                }
                                                                        )
                                                                );
-                                                               g.error.sdump('D_TRACE','items = ' + js2JSON(items));
+                                                               obj.error.sdump('D_TRACE','items = ' + js2JSON(items));
                                                                util.widgets.remove_children( e );
                                                                var ml = util.widgets.make_menulist(
                                                                        items
@@ -158,11 +158,38 @@ cat.record_buckets.prototype = {
 
                                                                function change_bucket(ev) {
                                                                        var bucket_id = ev.target.value;
+                                                                       if (bucket_id < 0 ) {
+                                                                               bucket_id = window.prompt('Enter bucket number:');
+                                                                               ev.target.value = bucket_id;
+                                                                               ev.target.setAttribute('value',bucket_id);
+                                                                       }
                                                                        if (!bucket_id) return;
                                                                        var bucket = obj.network.simple_request(
                                                                                'BUCKET_FLESH',
                                                                                [ ses(), 'biblio', bucket_id ]
                                                                        );
+                                                                       if (typeof bucket.ilsevent != 'undefined') {
+                                                                               if (bucket.ilsevent == 1506 /* CONTAINER_NOT_FOUND */) {
+                                                                                       alert('Could not find a bucket with ID = ' + bucket_id);
+                                                                               } else {
+                                                                                       obj.error.standard_unexpected_error_alert('Error retrieving bucket.  Did you use a valid bucket id?',bucket);
+                                                                               }
+                                                                               return;
+                                                                       }
+                                                                       try {
+                                                                               var x = document.getElementById('info_box');
+                                                                               x.setAttribute('hidden','false');
+                                                                               x = document.getElementById('bucket_number');
+                                                                               x.setAttribute('value',bucket.id());
+                                                                               x = document.getElementById('bucket_name');
+                                                                               x.setAttribute('value',bucket.name());
+                                                                               x = document.getElementById('bucket_owner');
+                                                                               var s = bucket.owner(); JSAN.use('patron.util');
+                                                                               if (s && typeof s != "object") s = patron.util.retrieve_fleshed_au_via_id(ses(),s); 
+                                                                               x.setAttribute('value',s.card().barcode() + " @ " + obj.data.hash.aou[ s.home_ou() ].shortname());
+                                                                       } catch(E) {
+                                                                               alert(E);
+                                                                       }
                                                                        var items = bucket.items() || [];
                                                                        obj.list2.clear();
                                                                        for (var i = 0; i < items.length; i++) {
@@ -180,6 +207,9 @@ cat.record_buckets.prototype = {
                                                                }, false);
                                                                obj.controller.view.bucket_menulist = ml;
                                                                JSAN.use('util.widgets'); util.widgets.dispatch('change_bucket',ml);
+                                                               document.getElementById('refresh').addEventListener( 'command', function() {
+                                                                       JSAN.use('util.widgets'); util.widgets.dispatch('change_bucket',ml);
+                                                               }, false);
                                                        };
                                                },
                                        ],
index ace9422..cc61a52 100644 (file)
@@ -24,6 +24,7 @@
        <groupbox flex="2">
                <caption label="Bucket View" />
                <hbox id="record_buckets_top_ui" />
+               <hbox id="info_box" />
                <tree id="records_in_bucket_list" flex="1" enableColumnDrag="true"/>
                <hbox id="record_buckets_bottom_ui" />
        </groupbox>
        <hbox id="record_buckets_menulist_placeholder" />
        <button id="record_buckets_new_bucket" label="New Bucket"/>
        <button id="record_buckets_delete_bucket" label="Delete Bucket"/>
+       <button id="refresh" label="Refresh"/>
        <spacer flex="1"/>
        <button id="clip_button" command="sel_clip" label="Copy to Clipboard" disabled="true" />
        <button id="record_buckets_delete_item" label="Delete Selected" disabled="true" image="/xul/server/skin/media/images/icon_delete.gif"/>
        <button id="record_buckets_export" label="Add Selected" disabled="true" image="/xul/server/skin/media/images/up_arrow.gif"/>
 </hbox>
 
+<hbox id="info_box" hidden="true" style="font-size: large;">
+       <label value="Bucket #"/>
+       <label id="bucket_number" style="color: blue; text-decoration: underline; -moz-user-focus: normal;" onclick="copy_to_clipboard(event)"/>
+       <label id="bucket_name" style="color: blue;"/>
+       <label value="Owner:"/>
+       <label id="bucket_owner" style="color: blue;"/>
+</hbox>
+
 <hbox id="record_buckets_bottom_ui">
        <spacer flex="1"/>
        <hbox style="background: grey">