Browse Source

Bug 15758: Koha::Libraries - Ultimate duel for C4::Branch

Signed-off-by: Owen Leonard <oleonard@myacpl.org>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
16.11.x
Jonathan Druart 8 years ago
committed by Kyle M Hall
parent
commit
c840c93835
  1. 73
      C4/Branch.pm
  2. 1
      C4/HoldsQueue.pm
  3. 1
      C4/Items.pm
  4. 1
      C4/Koha.pm
  5. 1
      C4/Letters.pm
  6. 1
      C4/Utils/DataTables/Members.pm
  7. 1
      C4/Utils/DataTables/VirtualShelves.pm
  8. 1
      C4/XSLT.pm
  9. 1
      acqui/acqui-home.pl
  10. 1
      acqui/histsearch.pl
  11. 1
      admin/smart-rules.pl
  12. 1
      catalogue/moredetail.pl
  13. 1
      cataloguing/linkitem.pl
  14. 1
      cataloguing/moveitem.pl
  15. 1
      cataloguing/value_builder/marc21_linking_section.pl
  16. 1
      circ/branchoverdues.pl
  17. 1
      circ/overdue.pl
  18. 1
      debian/templates/plack.psgi
  19. 1
      members/boraccount.pl
  20. 1
      members/files.pl
  21. 1
      members/mancredit.pl
  22. 1
      members/maninvoice.pl
  23. 1
      members/member-flags.pl
  24. 1
      members/member-password.pl
  25. 1
      members/member.pl
  26. 1
      members/members-update-do.pl
  27. 1
      members/members-update.pl
  28. 1
      members/printfeercpt.pl
  29. 1
      members/printinvoice.pl
  30. 1
      members/purchase-suggestions.pl
  31. 1
      members/statistics.pl
  32. 1
      misc/plack/koha.psgi
  33. 1
      offline_circ/list.pl
  34. 1
      opac/opac-detail.pl
  35. 1
      opac/opac-discharge.pl
  36. 1
      opac/opac-messaging.pl
  37. 1
      opac/opac-topissues.pl
  38. 1
      serials/routing-preview.pl
  39. 1
      serials/serials-home.pl
  40. 14
      t/Branch.t
  41. 196
      t/db_dependent/Branch.t
  42. 1
      t/db_dependent/Circulation.t
  43. 1
      t/db_dependent/Circulation/TooMany.t
  44. 1
      t/db_dependent/Circulation/transfers.t
  45. 1
      t/db_dependent/Holds.t
  46. 1
      t/db_dependent/Holds/LocalHoldsPriority.t
  47. 1
      t/db_dependent/Holds/RevertWaitingStatus.t
  48. 1
      t/db_dependent/HoldsQueue.t
  49. 1
      t/db_dependent/Holidays.t
  50. 1
      t/db_dependent/Reserves.t
  51. 1
      t/db_dependent/Template/Plugin/Categories.t
  52. 1
      tools/batchMod.pl
  53. 1
      tools/viewlog.pl

73
C4/Branch.pm

@ -1,73 +0,0 @@
package C4::Branch;
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Koha is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Koha; if not, see <http://www.gnu.org/licenses>.
use strict;
#use warnings; FIXME - Bug 2505
require Exporter;
use C4::Context;
use Koha::LibraryCategories;
use vars qw(@ISA @EXPORT @EXPORT_OK %EXPORT_TAGS);
BEGIN {
@ISA = qw(Exporter);
@EXPORT = qw(
&GetBranch
);
@EXPORT_OK = qw( &onlymine );
}
=head1 NAME
C4::Branch - Koha branch module
=head1 SYNOPSIS
use C4::Branch;
=head1 DESCRIPTION
The functions in this module deal with branches.
=head1 FUNCTIONS
=cut
=head2 GetBranch
$branch = GetBranch( $query, $branches );
=cut
sub GetBranch {
my ( $query, $branches ) = @_; # get branch for this query from branches
my $branch = $query->param('branch');
my %cookie = $query->cookie('userenv');
($branch) || ($branch = $cookie{'branchname'});
( $branches->{$branch} ) || ( $branch = ( keys %$branches )[0] );
return $branch;
}
1;
__END__
=head1 AUTHOR
Koha Development Team <http://koha-community.org/>
=cut

1
C4/HoldsQueue.pm

@ -25,7 +25,6 @@ use warnings;
use C4::Context;
use C4::Search;
use C4::Items;
use C4::Branch;
use C4::Circulation;
use C4::Members;
use C4::Biblio;

1
C4/Items.pm

@ -739,7 +739,6 @@ item that has a given branch code.
sub CheckItemPreSave {
my $item_ref = shift;
require C4::Branch;
my %errors = ();

1
C4/Koha.pm

@ -24,7 +24,6 @@ use strict;
#use warnings; FIXME - Bug 2505
use C4::Context;
use C4::Branch; # Can be removed?
use Koha::Caches;
use Koha::DateUtils qw(dt_from_string);
use Koha::Libraries;

1
C4/Letters.pm

@ -31,7 +31,6 @@ use Module::Load::Conditional qw(can_load);
use C4::Koha qw(GetAuthorisedValueByCode);
use C4::Members;
use C4::Members::Attributes qw(GetBorrowerAttributes);
use C4::Branch;
use C4::Log;
use C4::SMS;
use C4::Debug;

1
C4/Utils/DataTables/Members.pm

@ -1,7 +1,6 @@
package C4::Utils::DataTables::Members;
use Modern::Perl;
use C4::Branch qw/onlymine/;
use C4::Context;
use C4::Members qw/GetMemberIssuesAndFines/;
use C4::Utils::DataTables;

1
C4/Utils/DataTables/VirtualShelves.pm

@ -1,7 +1,6 @@
package C4::Utils::DataTables::VirtualShelves;
use Modern::Perl;
use C4::Branch qw/onlymine/;
use C4::Context;
use C4::Members qw/GetMemberIssuesAndFines/;
use C4::Utils::DataTables;

1
C4/XSLT.pm

@ -24,7 +24,6 @@ package C4::XSLT;
use Modern::Perl;
use C4::Context;
use C4::Branch;
use C4::Items;
use C4::Koha;
use C4::Biblio;

1
acqui/acqui-home.pl

@ -35,7 +35,6 @@ use C4::Output;
use C4::Acquisition;
use C4::Budgets;
use C4::Members;
use C4::Branch;
use C4::Debug;
use C4::Suggestions;
use Koha::Acquisition::Currencies;

1
acqui/histsearch.pl

@ -56,7 +56,6 @@ use C4::Auth; # get_template_and_user
use C4::Output;
use C4::Acquisition;
use C4::Debug;
use C4::Branch;
use C4::Koha;
use Koha::DateUtils;

1
admin/smart-rules.pl

@ -25,7 +25,6 @@ use C4::Output;
use C4::Auth;
use C4::Koha;
use C4::Debug;
use C4::Branch;
use Koha::DateUtils;
use Koha::Database;
use Koha::IssuingRule;

1
catalogue/moredetail.pl

@ -26,7 +26,6 @@ use CGI qw ( -utf8 );
use HTML::Entities;
use C4::Biblio;
use C4::Items;
use C4::Branch;
use C4::Acquisition;
use C4::Output;
use C4::Auth;

1
cataloguing/linkitem.pl

@ -27,7 +27,6 @@ use C4::Biblio;
use C4::Items;
use C4::Context;
use C4::Koha;
use C4::Branch;
my $query = CGI->new;

1
cataloguing/moveitem.pl

@ -28,7 +28,6 @@ use C4::Biblio;
use C4::Items;
use C4::Context;
use C4::Koha;
use C4::Branch;
use C4::ClassSource;
use C4::Acquisition qw/GetOrderFromItemnumber ModOrder GetOrder/;

1
cataloguing/value_builder/marc21_linking_section.pl

@ -31,7 +31,6 @@ use C4::Output;
use C4::Biblio;
use C4::Koha;
use MARC::Record;
use C4::Branch;
use Koha::ItemTypes;

1
circ/branchoverdues.pl

@ -26,7 +26,6 @@ use C4::Overdues; # AddNotifyLine
use C4::Biblio;
use C4::Koha;
use C4::Debug;
use C4::Branch;
use Koha::DateUtils;
use Data::Dumper;

1
circ/overdue.pl

@ -24,7 +24,6 @@ use C4::Context;
use C4::Output;
use CGI qw(-oldstyle_urls -utf8);
use C4::Auth;
use C4::Branch;
use C4::Debug;
use Text::CSV_XS;
use Koha::DateUtils;

1
debian/templates/plack.psgi

@ -29,7 +29,6 @@ use Mojo::Server::PSGI;
# Pre-load libraries
use C4::Boolean;
use C4::Branch;
use C4::Koha;
use C4::Languages;
use C4::Letters;

1
members/boraccount.pl

@ -29,7 +29,6 @@ use C4::Auth;
use C4::Output;
use CGI qw ( -utf8 );
use C4::Members;
use C4::Branch;
use C4::Accounts;
use C4::Members::Attributes qw(GetBorrowerAttributes);
use Koha::Patron::Images;

1
members/files.pl

@ -23,7 +23,6 @@ use warnings;
use CGI qw ( -utf8 );
use C4::Auth;
use C4::Branch;
use C4::Output;
use C4::Members;
use C4::Members::Attributes qw(GetBorrowerAttributes);

1
members/mancredit.pl

@ -30,7 +30,6 @@ use C4::Output;
use CGI qw ( -utf8 );
use C4::Members;
use C4::Branch;
use C4::Accounts;
use C4::Items;
use C4::Members::Attributes qw(GetBorrowerAttributes);

1
members/maninvoice.pl

@ -31,7 +31,6 @@ use CGI qw ( -utf8 );
use C4::Members;
use C4::Accounts;
use C4::Items;
use C4::Branch;
use C4::Members::Attributes qw(GetBorrowerAttributes);
use Koha::Patron::Images;

1
members/member-flags.pl

@ -12,7 +12,6 @@ use C4::Output;
use C4::Auth qw(:DEFAULT :EditPermissions);
use C4::Context;
use C4::Members;
use C4::Branch;
use C4::Members::Attributes qw(GetBorrowerAttributes);
#use C4::Acquisitions;

1
members/member-password.pl

@ -12,7 +12,6 @@ use Koha::AuthUtils;
use C4::Output;
use C4::Context;
use C4::Members;
use C4::Branch;
use C4::Circulation;
use CGI qw ( -utf8 );
use C4::Members::Attributes qw(GetBorrowerAttributes);

1
members/member.pl

@ -27,7 +27,6 @@ use Modern::Perl;
use C4::Auth;
use C4::Output;
use CGI qw( -utf8 );
use C4::Branch;
use C4::Members qw( GetMember );
use Koha::DateUtils;
use Koha::List::Patron;

1
members/members-update-do.pl

@ -24,7 +24,6 @@ use C4::Auth;
use C4::Output;
use C4::Context;
use C4::Members;
use C4::Branch;
use Koha::Patron::Modifications;
my $query = new CGI;

1
members/members-update.pl

@ -24,7 +24,6 @@ use C4::Auth;
use C4::Output;
use C4::Context;
use C4::Members;
use C4::Branch;
use Koha::Patron::Modifications;
my $query = new CGI;

1
members/printfeercpt.pl

@ -29,7 +29,6 @@ use C4::Auth;
use C4::Output;
use CGI qw ( -utf8 );
use C4::Members;
use C4::Branch;
use C4::Accounts;
use Koha::DateUtils;
use Koha::Patron::Images;

1
members/printinvoice.pl

@ -28,7 +28,6 @@ use C4::Output;
use Koha::DateUtils;
use CGI qw ( -utf8 );
use C4::Members;
use C4::Branch;
use C4::Accounts;
use Koha::Patron::Images;

1
members/purchase-suggestions.pl

@ -23,7 +23,6 @@ use CGI qw ( -utf8 );
use C4::Auth;
use C4::Context;
use C4::Output;
use C4::Branch;
use C4::Members;
use C4::Members::Attributes qw(GetBorrowerAttributes);
use C4::Suggestions;

1
members/statistics.pl

@ -26,7 +26,6 @@ use Modern::Perl;
use CGI qw ( -utf8 );
use C4::Auth;
use C4::Branch;
use C4::Context;
use C4::Members;
use C4::Members::Statistics;

1
misc/plack/koha.psgi

@ -43,7 +43,6 @@ use C4::Boolean;
use C4::Letters;
use C4::Koha;
use C4::XSLT;
use C4::Branch;
use Koha::DateUtils;
use Koha::Caches;
use Koha::Cache::Memory::Lite;

1
offline_circ/list.pl

@ -27,7 +27,6 @@ use C4::Auth;
use C4::Koha;
use C4::Context;
use C4::Circulation;
use C4::Branch;
use C4::Members;
use C4::Biblio;

1
opac/opac-detail.pl

@ -25,7 +25,6 @@ use Modern::Perl;
use CGI qw ( -utf8 );
use C4::Acquisition qw( SearchOrders );
use C4::Auth qw(:DEFAULT get_session);
use C4::Branch;
use C4::Koha;
use C4::Serials; #uses getsubscriptionfrom biblionumber
use C4::Output;

1
opac/opac-discharge.pl

@ -26,7 +26,6 @@ use C4::Context;
use C4::Output;
use C4::Log;
use C4::Debug;
use C4::Branch;
use C4::Members;
use Koha::Patron::Discharge;
use Koha::DateUtils;

1
opac/opac-messaging.pl

@ -29,7 +29,6 @@ use C4::Circulation;
use C4::Output;
use C4::Members;
use C4::Members::Messaging;
use C4::Branch;
use C4::Form::MessagingPreferences;
use Koha::SMS::Providers;

1
opac/opac-topissues.pl

@ -29,7 +29,6 @@ use C4::Languages;
use C4::Search;
use C4::Output;
use C4::Koha;
use C4::Branch;
use C4::Circulation;
use Date::Manip;

1
serials/routing-preview.pl

@ -33,7 +33,6 @@ use C4::Biblio;
use C4::Items;
use C4::Serials;
use URI::Escape;
use C4::Branch;
use Koha::Libraries;
my $query = new CGI;

1
serials/serials-home.pl

@ -31,7 +31,6 @@ this script is the main page for serials/
use Modern::Perl;
use CGI qw ( -utf8 );
use C4::Auth;
use C4::Branch;
use C4::Context;
use C4::Output;
use C4::Serials;

14
t/Branch.t

@ -1,14 +0,0 @@
#!/usr/bin/perl
#
# This Koha test module is a stub!
# Add more tests here!!!
use strict;
use warnings;
use Test::More tests => 1;
BEGIN {
use_ok('C4::Branch');
}

196
t/db_dependent/Branch.t

@ -1,196 +0,0 @@
#!/usr/bin/perl
# Copyright 2013 Equinox Software, Inc.
#
# This file is part of Koha.
#
# Koha is free software; you can redistribute it and/or modify it under the
# terms of the GNU General Public License as published by the Free Software
# Foundation; either version 3 of the License, or (at your option) any later
# version.
#
# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with Koha; if not, see <http://www.gnu.org/licenses>.
use Modern::Perl;
use C4::Context;
use Data::Dumper;
use Test::More tests => 16;
use C4::Branch;
use Koha::Database;
use Koha::Library;
use Koha::Libraries;
use Koha::LibraryCategories;
BEGIN {
use FindBin;
use lib $FindBin::Bin;
use_ok('C4::Branch');
}
can_ok(
'C4::Branch', qw(
GetBranch
GetBranches
)
);
my $schema = Koha::Database->new->schema;
$schema->storage->txn_begin;
my $dbh = C4::Context->dbh;
# clear the slate
$dbh->do('DELETE FROM branchcategories');
# Start test
my $count = Koha::Libraries->search->count;
like( $count, '/^\d+$/', "the count is a number" );
#add 2 branches
my $b1 = {
branchcode => 'BRA',
branchname => 'BranchA',
branchaddress1 => 'adr1A',
branchaddress2 => 'adr2A',
branchaddress3 => 'adr3A',
branchzip => 'zipA',
branchcity => 'cityA',
branchstate => 'stateA',
branchcountry => 'countryA',
branchphone => 'phoneA',
branchfax => 'faxA',
branchemail => 'emailA',
branchreplyto => 'emailreply',
branchreturnpath => 'branchreturn',
branchurl => 'urlA',
branchip => 'ipA',
branchprinter => undef,
branchnotes => 'noteA',
opac_info => 'opacA',
issuing => undef,
};
my $b2 = {
branchcode => 'BRB',
branchname => 'BranchB',
branchaddress1 => 'adr1B',
branchaddress2 => 'adr2B',
branchaddress3 => 'adr3B',
branchzip => 'zipB',
branchcity => 'cityB',
branchstate => 'stateB',
branchcountry => 'countryB',
branchphone => 'phoneB',
branchfax => 'faxB',
branchemail => 'emailB',
branchreplyto => 'emailreply',
branchreturnpath => 'branchreturn',
branchurl => 'urlB',
branchip => 'ipB',
branchprinter => undef,
branchnotes => 'noteB',
opac_info => 'opacB',
issuing => undef,
};
Koha::Library->new($b1)->store;
Koha::Library->new($b2)->store;
is( Koha::Libraries->search->count, $count + 2, "two branches added" );
is( Koha::Libraries->find( $b2->{branchcode} )->delete, 1, "One row affected" );
is( Koha::Libraries->search->count, $count + 1, "branch BRB deleted" );
#Test Getbranches
my $branches = GetBranches();
is( scalar( keys %$branches ),
Koha::Libraries->search->count, "GetBranches returns the right number of branches" );
#Test modify a library
$b1 = {
branchcode => 'BRA',
branchname => 'BranchA modified',
branchaddress1 => 'adr1A modified',
branchaddress2 => 'adr2A modified',
branchaddress3 => 'adr3A modified',
branchzip => 'zipA modified',
branchcity => 'cityA modified',
branchstate => 'stateA modified',
branchcountry => 'countryA modified',
branchphone => 'phoneA modified',
branchfax => 'faxA modified',
branchemail => 'emailA modified',
branchreplyto => 'emailreply modified',
branchreturnpath => 'branchreturn modified',
branchurl => 'urlA modified',
branchip => 'ipA modified',
branchprinter => undef,
branchnotes => 'notesA modified',
opac_info => 'opacA modified',
issuing => undef,
};
Koha::Libraries->find($b1->{branchcode})->set($b1)->store;
is( Koha::Libraries->search->count, $count + 1,
"A branch has been modified, no new branch added" );
#Test categories
my $count_cat = Koha::LibraryCategories->search->count;
my $cat1 = {
categorycode => 'CAT1',
categoryname => 'catname1',
codedescription => 'catdesc1',
categorytype => 'cattype1',
show_in_pulldown => 1
};
my $cat2 = {
categorycode => 'CAT2',
categoryname => 'catname2',
categorytype => 'catype2',
codedescription => 'catdesc2',
show_in_pulldown => 1
};
my %new_category = (
categorycode => 'LIBCATCODE',
categoryname => 'library category name',
codedescription => 'library category code description',
categorytype => 'searchdomain',
show_in_pulldown => 1,
);
Koha::LibraryCategory->new(\%new_category)->store;
Koha::LibraryCategory->new($cat1)->store;
Koha::LibraryCategory->new($cat2)->store;
my $categories = Koha::LibraryCategories->search;
is( $categories->count, $count_cat + 3, "Two categories added" );
my $del = Koha::LibraryCategories->find( $cat2->{categorycode} )->delete;
is( $del, 1, 'One row affected' );
is( Koha::LibraryCategories->search->count, $count_cat + 2, "Category CAT 2 deleted" );
my $b2_stored = Koha::Library->new($b2)->store;
my $CAT1 = Koha::LibraryCategories->find('CAT1');
$b2_stored->add_to_categories([$CAT1]);
is( Koha::Libraries->search->count, $count + 2, 'BRB added' );
my $b1info = Koha::Libraries->find( $b1->{branchcode} );
is_deeply( $b1info->get_categories->count, 0, 'BRA has no categories' );
my $b2info = Koha::Libraries->find( $b2->{branchcode} );
is_deeply( $b2info->get_categories->count, 1, 'BRB has the category CAT1' );
Koha::LibraryCategory->new($cat2)->store;
is( Koha::LibraryCategories->search->count, $count_cat + 3, "Two categories added" );
$schema->storage->txn_rollback;

1
t/db_dependent/Circulation.t

@ -20,7 +20,6 @@ use Modern::Perl;
use DateTime;
use t::lib::Mocks;
use C4::Biblio;
use C4::Branch;
use C4::Items;
use C4::Members;
use C4::Reserves;

1
t/db_dependent/Circulation/TooMany.t

@ -20,7 +20,6 @@ use C4::Context;
use C4::Biblio;
use C4::Members;
use C4::Branch;
use C4::Circulation;
use C4::Items;
use C4::Context;

1
t/db_dependent/Circulation/transfers.t

@ -4,7 +4,6 @@ use Modern::Perl;
use C4::Biblio;
use C4::Context;
use C4::Items;
use C4::Branch;
use C4::Circulation;
use Koha::Database;
use Koha::DateUtils;

1
t/db_dependent/Holds.t

@ -6,7 +6,6 @@ use t::lib::Mocks;
use t::lib::TestBuilder;
use C4::Context;
use C4::Branch;
use Test::More tests => 61;
use MARC::Record;

1
t/db_dependent/Holds/LocalHoldsPriority.t

@ -4,7 +4,6 @@ use Modern::Perl;
use t::lib::Mocks;
use C4::Context;
use C4::Branch;
use Test::More tests => 6;
use MARC::Record;

1
t/db_dependent/Holds/RevertWaitingStatus.t

@ -4,7 +4,6 @@ use Modern::Perl;
use t::lib::Mocks;
use C4::Context;
use C4::Branch;
use Test::More tests => 3;
use MARC::Record;

1
t/db_dependent/HoldsQueue.t

@ -11,7 +11,6 @@ use Modern::Perl;
use Test::More tests => 38;
use Data::Dumper;
use C4::Branch;
use C4::Calendar;
use C4::Context;
use C4::Members;

1
t/db_dependent/Holidays.t

@ -23,7 +23,6 @@ use DateTime::TimeZone;
use t::lib::TestBuilder;
use C4::Context;
use C4::Branch;
use Koha::Database;
use Koha::DateUtils;

1
t/db_dependent/Reserves.t

@ -24,7 +24,6 @@ use Test::Warn;
use MARC::Record;
use DateTime::Duration;
use C4::Branch;
use C4::Biblio;
use C4::Items;
use C4::Members;

1
t/db_dependent/Template/Plugin/Categories.t

@ -3,7 +3,6 @@ use Modern::Perl;
use Test::More tests => 5;
use C4::Context;
use C4::Branch;
use Koha::Template::Plugin::Categories;
my $dbh = C4::Context->dbh;

1
tools/batchMod.pl

@ -28,7 +28,6 @@ use C4::Items;
use C4::Circulation;
use C4::Context;
use C4::Koha;
use C4::Branch;
use C4::BackgroundJob;
use C4::ClassSource;
use C4::Debug;

1
tools/viewlog.pl

@ -28,7 +28,6 @@ use C4::Koha;
use C4::Output;
use C4::Log;
use C4::Items;
use C4::Branch;
use C4::Debug;
use C4::Search; # enabled_staff_search_views
use Koha::Patron::Images;

Loading…
Cancel
Save