From c4a85f0af05d4a8e262461b1bffec6eea37b9c5e Mon Sep 17 00:00:00 2001 From: Andrew Isherwood Date: Tue, 17 Apr 2018 12:02:18 +0100 Subject: [PATCH] Bug 20581: Provide status_alias on IllRequest This patch provides status_alias support for the Koha::Illrequest object. - New 'statusalias' getter method, returns the request's status_alias authorised value object if set, otherwise undef - Overloads existing 'status' method, getter/setter accessors intact, but setting the request's status now implicitly removes any status_alias that has been set --- Koha/Illrequest.pm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/Koha/Illrequest.pm b/Koha/Illrequest.pm index 99b97bdbe4..d2c70ba64a 100644 --- a/Koha/Illrequest.pm +++ b/Koha/Illrequest.pm @@ -30,6 +30,7 @@ use Koha::Database; use Koha::Email; use Koha::Exceptions::Ill; use Koha::Illrequestattributes; +use Koha::AuthorisedValue; use Koha::Patron; use base qw(Koha::Object); @@ -108,6 +109,19 @@ available for request. =head2 Class methods +=head3 statusalias + +=cut + +sub statusalias { + my ( $self ) = @_; + return $self->status_alias ? + Koha::AuthorisedValue->_new_from_dbic( + scalar $self->_result->status_alias + ) : + undef; +} + =head3 illrequestattributes =cut @@ -130,6 +144,22 @@ sub patron { ); } +=head3 status + +Overloaded getter/setter for request status, +also nullifies status_alias + +=cut + +sub status { + my ( $self, $newval) = @_; + if ($newval) { + $self->status_alias(undef); + return $self->SUPER::status($newval); + } + return $self->SUPER::status; +} + =head3 load_backend Require "Base.pm" from the relevant ILL backend. -- 2.11.0