Bug 21249: Code cleaning

Trying to make the code a bit more readable removing unecessary
variables and parenthesis.

Code is duplicated but no idea where we could move it to.

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
Signed-off-by: Victor Grousset/tuxayo <victor@tuxayo.net>

Signed-off-by: David Cook <dcook@prosentient.com.au>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Jonathan Druart 2019-11-06 12:19:11 +01:00
parent 6b5496b1c0
commit 73689bad17
2 changed files with 31 additions and 24 deletions

View File

@ -379,21 +379,23 @@ my @nolimits = map uri_unescape($_), $cgi->multi_param('nolimit');
my %is_nolimit = map { $_ => 1 } @nolimits;
@limits = grep { not $is_nolimit{$_} } @limits;
my $branchfield = C4::Context->preference('AdvancedSearchBranchFieldToUse');
if($params->{'multibranchlimit'}) {
if ( $params->{'multibranchlimit'} ) {
my $branchfield = C4::Context->preference('AdvancedSearchBranchFieldToUse');
my $search_group = Koha::Library::Groups->find( $params->{multibranchlimit} );
my @libraries = $search_group->all_libraries;
my @branchcodes = map { $_->branchcode } $search_group->all_libraries;
if ( $branchfield eq "homebranch") {
my $multihomebranch = '('.join( " OR ", map { 'homebranch: ' . $_->branchcode } @libraries ) .')';
push @limits, $multihomebranch if ( $multihomebranch ne '()');
} elsif ( $branchfield eq "holdingbranch") {
my $multiholdingbranch = '('.join( " OR ", map { 'holdingbranch: ' . $_->branchcode } @libraries ) .')';
push @limits, $multiholdingbranch if ( $multiholdingbranch ne '()');
} else {
my $multihomeandholdingbranch = '('.join( " OR ", map { 'homebranch: ' . $_->branchcode, 'holdingbranch: ' . $_->branchcode} @libraries ) .')';
push @limits, $multihomeandholdingbranch if ($multihomeandholdingbranch ne '()');
if (@branchcodes) {
if ( $branchfield eq "homebranch" ) {
push @limits, sprintf "(%s)", join " or ", map { 'homebranch: ' . $_ } @branchcodes;
}
elsif ( $branchfield eq "holdingbranch" ) {
push @limits, sprintf "(%s)", join " or ", map { 'holdingbranch: ' . $_ } @branchcodes;
}
else {
push @limits, sprintf "(%s or %s)",
join( " or ", map { 'homebranch: ' . $_ } @branchcodes ),
join( " or ", map { 'holdingbranch: ' . $_ } @branchcodes );
}
}
}

View File

@ -486,19 +486,24 @@ if (@searchCategories > 0) {
my $branchfield = C4::Context->preference('AdvancedSearchBranchFieldToUse');
if($params->{'multibranchlimit'}) {
if ( $params->{'multibranchlimit'} ) {
my $branchfield = C4::Context->preference('AdvancedSearchBranchFieldToUse');
my $search_group = Koha::Library::Groups->find( $params->{multibranchlimit} );
my @libraries = $search_group->all_libraries;
if ( $branchfield eq "homebranch" ) {
my $multihomebranch = '('.join( " OR ", map { 'homebranch: ' . $_->branchcode } @libraries ) .')';
push @limits, $multihomebranch if ( $multihomebranch ne '()');
} elsif ( $branchfield eq "holdingbranch") {
my $multiholdingbranch = '('.join( " OR ", map { 'holdingbranch: ' . $_->branchcode } @libraries ) .')';
push @limits, $multiholdingbranch if ( $multiholdingbranch ne '()');
} else {
my $multihomeandholdingbranch = '('.join( " OR ", map { 'homebranch: ' . $_->branchcode, 'holdingbranch: ' . $_->branchcode} @libraries ) .')';
push @limits, $multihomeandholdingbranch if ($multihomeandholdingbranch ne '()');
my @branchcodes = map { $_->branchcode } $search_group->all_libraries;
if (@branchcodes) {
if ( $branchfield eq "homebranch" ) {
push @limits, sprintf "(%s)", join " or ", map { 'homebranch: ' . $_ } @branchcodes;
}
elsif ( $branchfield eq "holdingbranch" ) {
push @limits, sprintf "(%s)", join " or ", map { 'holdingbranch: ' . $_ } @branchcodes;
}
else {
push @limits, sprintf "(%s or %s)",
join( " or ", map { 'homebranch: ' . $_ } @branchcodes ),
join( " or ", map { 'holdingbranch: ' . $_ } @branchcodes );
}
}
}