From fbe7c7a60faf4418c5f5a2e7aa24bd1d58aeb011 Mon Sep 17 00:00:00 2001 From: Martin Renvoize Date: Fri, 17 Apr 2026 14:56:43 +0100 Subject: [PATCH] Bug 41728: (QA follow-up) Move Item::Checkin::Availability to Item::Availability::Checkin MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Introduce a dedicated Koha::Item::Availability::* namespace for checkers that return a Koha::Result::Availability. Keeping these under the Item subject prefix keeps them co-located with the Item they describe, while the Availability sub-namespace gives future parallel checkers (Checkout, Hold, Book, ...) an obvious home rather than scattering them as single-file directories alongside Koha/Item/Transfer/ etc. The $item->checkin_availability convenience method on Koha::Item is preserved; only its internal delegation target changes. Renames: Koha::Item::Checkin::Availability -> Koha::Item::Availability::Checkin Koha/Item/Checkin/Availability.pm -> Koha/Item/Availability/Checkin.pm t/db_dependent/Koha/Item/Checkin/Availability.t -> t/db_dependent/Koha/Item/Availability/Checkin.t Test plan: prove t/db_dependent/Koha/Item/Availability/Checkin.t prove t/db_dependent/Circulation/Returns.t Signed-off-by: Tomás Cohen Arazi Signed-off-by: Martin Renvoize Signed-off-by: Pedro Amorim --- Koha/Item.pm | 6 +++--- .../{Checkin/Availability.pm => Availability/Checkin.pm} | 8 ++++---- .../{Checkin/Availability.t => Availability/Checkin.t} | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) rename Koha/Item/{Checkin/Availability.pm => Availability/Checkin.pm} (95%) rename t/db_dependent/Koha/Item/{Checkin/Availability.t => Availability/Checkin.t} (99%) diff --git a/Koha/Item.pm b/Koha/Item.pm index 4e89098b88..f6fb32db38 100644 --- a/Koha/Item.pm +++ b/Koha/Item.pm @@ -867,7 +867,7 @@ sub can_be_returned_at { Returns check-in availability information for this item. -This is a convenience method that calls Koha::Item::Checkin::Availability->check(). +This is a convenience method that calls Koha::Item::Availability::Checkin->check(). Parameters: library => branchcode where the return takes place (required) @@ -887,8 +887,8 @@ Returns a Koha::Result::Availability object with methods: sub checkin_availability { my ( $self, $params ) = @_; - require Koha::Item::Checkin::Availability; - return Koha::Item::Checkin::Availability->check( $self, $params ); + require Koha::Item::Availability::Checkin; + return Koha::Item::Availability::Checkin->check( $self, $params ); } =head3 request_transfer diff --git a/Koha/Item/Checkin/Availability.pm b/Koha/Item/Availability/Checkin.pm similarity index 95% rename from Koha/Item/Checkin/Availability.pm rename to Koha/Item/Availability/Checkin.pm index 1b314b433a..898c2c9c29 100644 --- a/Koha/Item/Checkin/Availability.pm +++ b/Koha/Item/Availability/Checkin.pm @@ -1,4 +1,4 @@ -package Koha::Item::Checkin::Availability; +package Koha::Item::Availability::Checkin; # Copyright 2026 Koha Development Team # @@ -24,11 +24,11 @@ use Koha::Result::Availability; =head1 NAME -Koha::Item::Checkin::Availability - Check-in availability validation for items +Koha::Item::Availability::Checkin - Check-in availability validation for items =head1 SYNOPSIS - my $availability = Koha::Item::Checkin::Availability->check( $item, + my $availability = Koha::Item::Availability::Checkin->check( $item, { library => $branchcode, to_library => $destination_branchcode, @@ -68,7 +68,7 @@ The result categorizes conditions as: =head3 check - my $availability = Koha::Item::Checkin::Availability->check( $item, + my $availability = Koha::Item::Availability::Checkin->check( $item, { library => $branchcode, to_library => $destination_branchcode, diff --git a/t/db_dependent/Koha/Item/Checkin/Availability.t b/t/db_dependent/Koha/Item/Availability/Checkin.t similarity index 99% rename from t/db_dependent/Koha/Item/Checkin/Availability.t rename to t/db_dependent/Koha/Item/Availability/Checkin.t index 03d0c4feef..7a15ca6b2d 100755 --- a/t/db_dependent/Koha/Item/Checkin/Availability.t +++ b/t/db_dependent/Koha/Item/Availability/Checkin.t @@ -26,7 +26,7 @@ use t::lib::TestBuilder; use t::lib::Mocks; use Koha::Database; -use Koha::Item::Checkin::Availability; +use Koha::Item::Availability::Checkin; my $builder = t::lib::TestBuilder->new; my $schema = Koha::Database->new->schema;