X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=catalogue%2Fsearch.pl;h=0fff659713e8197786cf6c9463692e0df5bbdba7;hb=755bf6aca7e5754264952c69b4bdbdc74c4eafbd;hp=13b137b1c2ca3c109b71212d3198b996107d8eba;hpb=aa9e3d0f7b40abc8818ecd3f42598a07fc948f13;p=koha.git diff --git a/catalogue/search.pl b/catalogue/search.pl index 13b137b1c2..0fff659713 100755 --- a/catalogue/search.pl +++ b/catalogue/search.pl @@ -208,8 +208,13 @@ if (C4::Context->preference("marcflavour") eq "UNIMARC" ) { my $branches = GetBranches(); my @branch_loop; +# we need to know the borrower branch code to set a default branch +my $borrowerbranchcode = C4::Context->userenv->{'branch'}; + for my $branch_hash (sort { $branches->{$a}->{branchname} cmp $branches->{$b}->{branchname} } keys %$branches) { - push @branch_loop, {value => "$branch_hash" , branchname => $branches->{$branch_hash}->{'branchname'}, }; + # if independantbranches is activated, set the default branch to the borrower branch + my $selected = (C4::Context->preference("independantbranches") and ($borrowerbranchcode eq $branch_hash)) ? 1 : undef; + push @branch_loop, {value => "$branch_hash" , branchname => $branches->{$branch_hash}->{'branchname'}, selected => $selected}; } my $categories = GetBranchCategories(undef,'searchdomain'); @@ -265,7 +270,12 @@ if ( $template_type eq 'advsearch' ) { my $secondary_servers_loop;# = displaySecondaryServers(); $template->param(outer_sup_servers_loop => $secondary_servers_loop,); - + + # set the default sorting + my $default_sort_by = C4::Context->preference('defaultSortField')."_".C4::Context->preference('defaultSortOrder') + if (C4::Context->preference('OPACdefaultSortField') && C4::Context->preference('OPACdefaultSortOrder')); + $template->param($default_sort_by => 1); + # determine what to display next to the search boxes (ie, boolean option # shouldn't appear on the first one, scan indexes should, adding a new # box should only appear on the last, etc. @@ -476,37 +486,6 @@ if ($@ || $error) { exit; } -# FIXME: This belongs in tools/ not in the primary search results page -my $op=$cgi->param("operation"); -if ($op eq "bulkedit"){ - my ($countchanged,$listunchanged)= - ModBiblios($results_hashref->{'biblioserver'}->{"RECORDS"}, - $params->{"tagsubfield"}, - $params->{"inputvalue"}, - $params->{"targetvalue"}, - $params->{"test"} - ); - $template->param(bulkeditresults=>1, - tagsubfield=>$params->{"tagsubfield"}, - inputvalue=>$params->{"inputvalue"}, - targetvalue=>$params->{"targetvalue"}, - countchanged=>$countchanged, - countunchanged=>scalar(@$listunchanged), - listunchanged=>$listunchanged); - - if (C4::Context->userenv->{'flags'}==1 ||(C4::Context->userenv->{'flags'} & ( 2**9 ) )){ - #Edit Catalogue Permissions - my $editable_subfields = GetManagedTagSubfields(); - # change '--' to '—' to avoid escaping issues - for (my $i = 0; $i <= $#{$editable_subfields}; $i++) { - $editable_subfields->[$i]->{subfielddesc} =~ s/--/—/g; - $editable_subfields->[$i]->{tagdesc} =~ s/--/—/g; - } - $template->param(bulkedit => 1); - $template->param(tagsubfields=>$editable_subfields); - } -} - # At this point, each server has given us a result set # now we build that set for template display my @sup_results_array; @@ -529,6 +508,9 @@ for (my $i=0;$i<@servers;$i++) { } exit; } + + + if ($hits) { $template->param(total => $hits); my $limit_cgi_not_availablity = $limit_cgi; @@ -575,6 +557,9 @@ for (my $i=0;$i<@servers;$i++) { } } + + + # now, show twenty pages, with the current one smack in the middle else { for (my $i=$current_page_number; $i<=($current_page_number + 20 );$i++) { @@ -592,10 +577,20 @@ for (my $i=0;$i<@servers;$i++) { previous_page_offset => $previous_page_offset) unless $pages < 2; $template->param( next_page_offset => $next_page_offset) unless $pages eq $current_page_number; } + + + + + # no hits else { $template->param(searchdesc => 1,query_desc => $query_desc,limit_desc => $limit_desc); } + + + + + } # end of the if local # asynchronously search the authority server