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 <jason@EquinoxInitiative.org>
Signed-off-by: Mike Rylander <mrylander@gmail.com>
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;
}
}