From b653ed1a1cb6c6e253de98d0fadcb97e85d6feca 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