Fix self-fetching callnumber columns collab/phasefx/call_number_columns
authorJason Etheridge <jason@esilibrary.com>
Mon, 9 Jan 2012 20:18:15 +0000 (15:18 -0500)
committerJason Etheridge <jason@esilibrary.com>
Mon, 9 Jan 2012 20:18:15 +0000 (15:18 -0500)
The callnumber (and related) columns from circ.util.columns() is meant to
retrieve call number objects if given call number id's instead of objects,
but there was a bug preventing that.

This fixes LP#906523, no call number information in billing interface

Signed-off-by: Jason Etheridge <jason@esilibrary.com>
Open-ILS/xul/staff_client/server/circ/util.js

index e8213d9..5ed9c43 100644 (file)
@@ -580,7 +580,7 @@ circ.util.columns = function(modify,params) {
                         acn_id = my.acn;
                     }
                 } else if (my.acp) {
-                    if (typeof my.acp.call_number() == 'object') {
+                    if (typeof my.acp.call_number() == 'object' && my.acp.call_number() != null) {
                         acn_id = my.acp.call_number().id();
                     } else {
                         acn_id = my.acp.call_number();
@@ -594,6 +594,9 @@ circ.util.columns = function(modify,params) {
                     return document.getElementById('circStrings').getString('staff.circ.utils.retrieving');
                 } else {
                     if (!my.acn) {
+                        if (typeof scratch_data == 'undefined' || scratch_data == null) {
+                            scratch_data = {};
+                        }
                         if (typeof scratch_data['acn_map'] == 'undefined') {
                             scratch_data['acn_map'] = {};
                         }
@@ -603,6 +606,7 @@ circ.util.columns = function(modify,params) {
                                 return document.getElementById('circStrings').getString('staff.circ.utils.not_cataloged');
                             } else {
                                 my.acn = x;
+                                alert('my.acn = ' + my.acn);
                                 scratch_data['acn_map'][ acn_id ] = my.acn;
                             }
                         } else {
@@ -646,7 +650,7 @@ circ.util.columns = function(modify,params) {
                         acn_id = my.acn;
                     }
                 } else if (my.acp) {
-                    if (typeof my.acp.call_number() == 'object') {
+                    if (typeof my.acp.call_number() == 'object' && my.acp.call_number() != null) {
                         acn_id = my.acp.call_number().id();
                     } else {
                         acn_id = my.acp.call_number();
@@ -660,6 +664,9 @@ circ.util.columns = function(modify,params) {
                     return document.getElementById('circStrings').getString('staff.circ.utils.retrieving');
                 } else {
                     if (!my.acn) {
+                        if (typeof scratch_data == 'undefined' || scratch_data == null) {
+                            scratch_data = {};
+                        }
                         if (typeof scratch_data['acn_map'] == 'undefined') {
                             scratch_data['acn_map'] = {};
                         }
@@ -700,7 +707,7 @@ circ.util.columns = function(modify,params) {
                         acn_id = my.acn;
                     }
                 } else if (my.acp) {
-                    if (typeof my.acp.call_number() == 'object') {
+                    if (typeof my.acp.call_number() == 'object' && my.acp.call_number() != null) {
                         acn_id = my.acp.call_number().id();
                     } else {
                         acn_id = my.acp.call_number();
@@ -714,6 +721,9 @@ circ.util.columns = function(modify,params) {
                     return document.getElementById('circStrings').getString('staff.circ.utils.retrieving');
                 } else {
                     if (!my.acn) {
+                        if (typeof scratch_data == 'undefined' || scratch_data == null) {
+                            scratch_data = {};
+                        }
                         if (typeof scratch_data['acn_map'] == 'undefined') {
                             scratch_data['acn_map'] = {};
                         }
@@ -754,7 +764,7 @@ circ.util.columns = function(modify,params) {
                         acn_id = my.acn;
                     }
                 } else if (my.acp) {
-                    if (typeof my.acp.call_number() == 'object') {
+                    if (typeof my.acp.call_number() == 'object' && my.acp.call_number() != null) {
                         acn_id = my.acp.call_number().id();
                     } else {
                         acn_id = my.acp.call_number();
@@ -768,6 +778,9 @@ circ.util.columns = function(modify,params) {
                     return document.getElementById('circStrings').getString('staff.circ.utils.retrieving');
                 } else {
                     if (!my.acn) {
+                        if (typeof scratch_data == 'undefined' || scratch_data == null) {
+                            scratch_data = {};
+                        }
                         if (typeof scratch_data['acn_map'] == 'undefined') {
                             scratch_data['acn_map'] = {};
                         }
@@ -2394,7 +2407,7 @@ circ.util.hold_columns = function(modify,params) {
                         acn_id = my.acn;
                     }
                 } else if (my.acp) {
-                    if (typeof my.acp.call_number() == 'object') {
+                    if (typeof my.acp.call_number() == 'object' && my.acp.call_number() != null) {
                         acn_id = my.acp.call_number().id();
                     } else {
                         acn_id = my.acp.call_number();
@@ -2408,6 +2421,9 @@ circ.util.hold_columns = function(modify,params) {
                     return document.getElementById('circStrings').getString('staff.circ.utils.retrieving');
                 } else {
                     if (!my.acn) {
+                        if (typeof scratch_data == 'undefined' || scratch_data == null) {
+                            scratch_data = {};
+                        }
                         if (typeof scratch_data['acn_map'] == 'undefined') {
                             scratch_data['acn_map'] = {};
                         }