View | Details | Raw Unified | Return to bug 33200
Collapse All | Expand All

(-)a/C4/Reserves.pm (-4 / +4 lines)
Lines 1809-1827 sub _Findgroupreserve { Link Here
1809
    return @results;
1809
    return @results;
1810
}
1810
}
1811
1811
1812
=head2 _Removereserve
1812
=head2 _FilterHoldsForIndependentBranches
1813
1813
1814
  @reserves = &_Removereserve( @reserves );
1814
  @reserves = &_FilterHoldsForIndependentBranches( @reserves );
1815
1815
1816
Check transfers is allowed from system preference and remove the reserves made from other branches
1816
Check transfers is allowed from system preference and remove the reserves made from other branches
1817
1817
1818
C<&_Removereserve> returns :
1818
C<&_FilterHoldsForIndependentBranches> returns :
1819
C<@results> is an array of references-to-hash whose keys are mostly
1819
C<@results> is an array of references-to-hash whose keys are mostly
1820
fields from the reserves table of the Koha database, plus
1820
fields from the reserves table of the Koha database, plus
1821
1821
1822
=cut
1822
=cut
1823
1823
1824
sub _Removereserve {
1824
sub _FilterHoldsForIndependentBranches {
1825
    my ( @reserves) = @_;
1825
    my ( @reserves) = @_;
1826
    if ( C4::Context->preference("IndependentBranchesTransfers") && !C4::Context->IsSuperLibrarian() && scalar @reserves) {
1826
    if ( C4::Context->preference("IndependentBranchesTransfers") && !C4::Context->IsSuperLibrarian() && scalar @reserves) {
1827
        my @results;
1827
        my @results;
(-)a/t/db_dependent/Reserves.t (-2 / +15 lines)
Lines 17-23 Link Here
17
17
18
use Modern::Perl;
18
use Modern::Perl;
19
19
20
use Test::More tests => 77;
20
use Test::More tests => 79;
21
use Test::MockModule;
21
use Test::MockModule;
22
use Test::Warn;
22
use Test::Warn;
23
23
Lines 61-66 my $frameworkcode = q//; Link Here
61
61
62
62
63
t::lib::Mocks::mock_preference('ReservesNeedReturns', 1);
63
t::lib::Mocks::mock_preference('ReservesNeedReturns', 1);
64
t::lib::Mocks::mock_preference( 'IndependentBranchesTransfers', 0 );
64
65
65
# Somewhat arbitrary field chosen for age restriction unit tests. Must be added to db before the framework is cached
66
# Somewhat arbitrary field chosen for age restriction unit tests. Must be added to db before the framework is cached
66
$dbh->do("update marc_subfield_structure set kohafield='biblioitems.agerestriction' where tagfield='521' and tagsubfield='a' and frameworkcode=?", undef, $frameworkcode);
67
$dbh->do("update marc_subfield_structure set kohafield='biblioitems.agerestriction' where tagfield='521' and tagsubfield='a' and frameworkcode=?", undef, $frameworkcode);
Lines 128-133 ok(exists($reserve->{reserve_id}), 'CheckReserves() include reserve_id in its re Link Here
128
($status, $reserve, $all_reserves) = CheckReserves( $item );
129
($status, $reserve, $all_reserves) = CheckReserves( $item );
129
is($status, "Reserved", "CheckReserves Test 2");
130
is($status, "Reserved", "CheckReserves Test 2");
130
131
132
# Set the preference 'IndependentBranchesTransfers' is set to 'yes'
133
# the userenv branch and the branche code are not the same holds should be filtered
134
t::lib::Mocks::mock_preference( 'IndependentBranchesTransfers', 1 );
135
($status, $reserve, $all_reserves) = CheckReserves( $item );
136
is( $status, "", 'Reserves is filtered');
137
138
# Set the userenv branchcode to be the same to the item branchcode.
139
t::lib::Mocks::mock_userenv({ branchcode => $branchcode });
140
($status, $reserve, $all_reserves) = CheckReserves( $item );
141
is( $status, "Reserved", 'Reserves should not be filtered');
142
143
t::lib::Mocks::mock_userenv({ branchcode => $branch_1 });
144
t::lib::Mocks::mock_preference( 'IndependentBranchesTransfers', 0 );
131
my $ReservesControlBranch = C4::Context->preference('ReservesControlBranch');
145
my $ReservesControlBranch = C4::Context->preference('ReservesControlBranch');
132
t::lib::Mocks::mock_preference( 'ReservesControlBranch', 'ItemHomeLibrary' );
146
t::lib::Mocks::mock_preference( 'ReservesControlBranch', 'ItemHomeLibrary' );
133
ok(
147
ok(
134
- 

Return to bug 33200