From 5461b6973cf7200afaa97300aa0a963ba9d4711c Mon Sep 17 00:00:00 2001 From: Jason Etheridge Date: Tue, 17 Jan 2017 16:39:58 -0500 Subject: [PATCH] Fix Can't locate object method "workstation" error When trying to utilize the Recall functionality, Evergreen would fail to update targeted circulations (truncate the due date, etc.) In the logs, we would have an error like this: [] open-ils.storage [ERR ::action.pm:1597:] Processing of hold failed: Can't locate object method "workstation" via package "action::circulation" at /usr/local/share/perl/5.14.2/OpenILS/Application/Storage/CDBI.pm line 181. We first tried adding the workstation column to Storage/CDBI/action.pm, but a similar message would then appear instead: Can't locate object method "checkin_workstation" This sidesteps the problem entirely. Thanks to Mike for the solution! Signed-off-by: Jason Etheridge Signed-off-by: Mike Rylander --- Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI.pm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI.pm b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI.pm index d8391b8edc..d164251ad6 100644 --- a/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI.pm +++ b/Open-ILS/src/perlmods/lib/OpenILS/Application/Storage/CDBI.pm @@ -178,7 +178,7 @@ sub to_fieldmapper { if (ref($obj)) { for my $field ( $fm->real_fields ) { - $fm->$field( ''.$obj->$field ) if defined $obj->$field; + $fm->$field( ''.$obj->$field ) if $obj->find_column($field) && defined $obj->$field; } } -- 2.11.0