Added is_event check to AppUtils
authorBill Erickson <berick@esilibrary.com>
Tue, 7 Aug 2012 20:28:33 +0000 (16:28 -0400)
committerBill Erickson <berick@esilibrary.com>
Wed, 8 Aug 2012 15:51:29 +0000 (11:51 -0400)
Signed-off-by: Bill Erickson <berick@esilibrary.com>
Open-ILS/src/perlmods/lib/OpenILS/Application/AppUtils.pm

index 2529d6b..a3a1b08 100644 (file)
@@ -138,10 +138,22 @@ sub rollback_db_session {
 # returns the event code otherwise
 sub event_code {
        my( $self, $evt ) = @_;
-       return $evt->{ilsevent} if( ref($evt) eq 'HASH' and defined($evt->{ilsevent})) ;
+       return $evt->{ilsevent} if $self->is_event($evt);
        return undef;
 }
 
+# some events, in particular auto-generated events, don't have an 
+# ilsevent key.  treat hashes with a 'textcode' key as events.
+sub is_event {
+       my ($self, $evt) = @_;
+       return (
+               ref($evt) eq 'HASH' and (
+                       defined $evt->{ilsevent} or
+                       defined $evt->{textcode}
+               )
+       );
+}
+
 # ---------------------------------------------------------------------------
 # Checks to see if a user is logged in.  Returns the user record on success,
 # throws an exception on error.