be more careful with copy objects vs copy ids
authorpines <pines@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 26 Oct 2006 19:06:14 +0000 (19:06 +0000)
committerpines <pines@dcc99617-32d9-48b4-a31d-7c20da2025e4>
Thu, 26 Oct 2006 19:06:14 +0000 (19:06 +0000)
git-svn-id: svn://svn.open-ils.org/ILS/trunk@6521 dcc99617-32d9-48b4-a31d-7c20da2025e4

Open-ILS/xul/staff_client/server/circ/util.js
Open-ILS/xul/staff_client/server/patron/holds.js
Open-ILS/xul/staff_client/server/patron/items.js

index 9e60e84..983060b 100644 (file)
@@ -49,6 +49,8 @@ circ.util.show_copy_details = function(copy_id) {
        JSAN.use('util.network'); obj.network = new util.network();
        JSAN.use('OpenILS.data'); obj.data = new OpenILS.data(); obj.data.init({'via':'stash'});
 
+       if (typeof copy_id == 'object' && copy_id != null) copy_id = copy_id.id();
+
        try {
                obj.data.fancy_prompt_data = null; obj.data.stash('fancy_prompt_data');
                var url = xulG.url_prefix( urls.XUL_COPY_DETAILS ) + '?copy_id=' + copy_id;
index a5724df..ced1763 100644 (file)
@@ -61,10 +61,21 @@ patron.holds.prototype = {
                                                                        row.my.patron_first_given_name = blob.patron_first;
                                                                        row.my.patron_barcode = blob.patron_barcode;
 
+                                                                       var copy_id = row.my.ahr.current_copy();
+                                                                       if (typeof copy_id == 'object') {
+                                                                               if (copy_id == null) {
+                                                                                       if (typeof row.my.acp == 'object' && row.my.acp != null) copy_id = row.my.acp.id();
+                                                                               } else {
+                                                                                       copy_id = copy_id.id();
+                                                                               }
+                                                                       } else {
+                                                                               copy_id = row.my.acp.id();
+                                                                       }
+
                                                                        obj.holds_map[ row.my.ahr.id() ] = row.my.ahr;
                                                                        params.row_node.setAttribute('retrieve_id', 
                                                                                js2JSON({
-                                                                                       'copy_id':row.my.ahr.current_copy(),
+                                                                                       'copy_id':copy_id,
                                                                                        'id':row.my.ahr.id(),
                                                                                        'type':row.my.ahr.hold_type(),
                                                                                        'target':row.my.ahr.target(),
index e05d296..22cc587 100644 (file)
@@ -519,8 +519,19 @@ patron.items.prototype = {
                                                row.my.acp = robj.copy;
                                                row.my.mvr = robj.mvr;
                                                row.my.acn = robj.volume;
+
+                                               var copy_id = row.my.circ.target_copy();
+                                               if (typeof copy_id == 'object') {
+                                                       if (copy_id != null) {
+                                                               copy_id = copy_id.id();
+                                                       } else {
+                                                               if (typeof robj.copy == 'object' && robj.copy != null) copy_id = robj.copy.id();
+                                                       }
+                                               } else {
+                                                               if (typeof robj.copy == 'object' && robj.copy != null) copy_id = robj.copy.id();
+                                               }
                                                
-                                               params.row_node.setAttribute( 'retrieve_id', js2JSON({'copy_id':row.my.circ.target_copy(),'circ_id':row.my.circ.id(),'barcode':row.my.acp.barcode(),'doc_id': (robj.record ? robj.record.id() : null) }) );
+                                               params.row_node.setAttribute( 'retrieve_id', js2JSON({'copy_id':copy_id,'circ_id':row.my.circ.id(),'barcode':row.my.acp.barcode(),'doc_id': (robj.record ? robj.record.id() : null) }) );
        
                                                if (typeof params.on_retrieve == 'function') {
                                                        params.on_retrieve(row);