Bugzilla – Attachment 20731 Details for
Bug 10808
Thesaurus search form does not correspond to current search query
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 10808 - Formatting auth_finder.pl
0002-Bug-10808-Formatting-auth_finder.pl.patch (text/plain), 9.95 KB, created by
Fridolin Somers
on 2013-08-30 09:46:08 UTC
(
hide
)
Description:
Bug 10808 - Formatting auth_finder.pl
Filename:
MIME Type:
Creator:
Fridolin Somers
Created:
2013-08-30 09:46:08 UTC
Size:
9.95 KB
patch
obsolete
>From 431f9822e0ab10694d40b0b29dbac6f512754065 Mon Sep 17 00:00:00 2001 >From: Fridolyn SOMERS <fridolyn.somers@biblibre.com> >Date: Fri, 30 Aug 2013 11:41:26 +0200 >Subject: [PATCH 2/2] Bug 10808 - Formatting auth_finder.pl > >Perltidy and some format changes. >Most important : call to get_template_and_user must be at begining of script because it checks authentification. >--- > authorities/auth_finder.pl | 157 ++++++++++++++++++++++---------------------- > 1 file changed, 77 insertions(+), 80 deletions(-) > >diff --git a/authorities/auth_finder.pl b/authorities/auth_finder.pl >index 09e8d45..2ff76ec 100755 >--- a/authorities/auth_finder.pl >+++ b/authorities/auth_finder.pl >@@ -27,64 +27,76 @@ use C4::Auth; > use C4::Context; > use C4::AuthoritiesMarc; > use C4::Acquisition; >-use C4::Koha; # XXX subfield_is_koha_internal_p >+use C4::Koha; > > my $query = new CGI; >-my $op = $query->param('op'); >-my $authtypecode = $query->param('authtypecode'); >-my $index = $query->param('index'); >-my $tagid = $query->param('tagid'); >-my $resultstring = $query->param('result'); >-my $relationship = $query->param('relationship'); >-my $dbh = C4::Context->dbh; >- >-my $startfrom = $query->param('startfrom'); >-$startfrom = 0 if ( !defined $startfrom ); >-my ( $template, $loggedinuser, $cookie ); >-my $resultsperpage; >- >-my $authtypes = getauthtypes; >+my $op = $query->param('op') || ''; >+my $authtypecode = $query->param('authtypecode') || ''; >+my $index = $query->param('index') || ''; >+my $tagid = $query->param('tagid') || ''; >+my $source = $query->param('source') || ''; >+my $relationship = $query->param('relationship') || ''; >+ >+my ( $template, $loggedinuser, $cookie ) = get_template_and_user( >+ { >+ template_name => ( $op eq 'do_search' ) >+ ? 'authorities/searchresultlist-auth.tt' >+ : 'authorities/auth_finder.tt', >+ query => $query, >+ type => 'intranet', >+ authnotrequired => 0, >+ flagsrequired => { catalogue => 1 }, >+ } >+); >+ >+# Authority types loop >+my $authtypes = C4::Koha::getauthtypes(); > my @authtypesloop; > foreach my $thisauthtype ( keys %$authtypes ) { > my %row = ( > value => $thisauthtype, >- selected => ($thisauthtype eq $authtypecode), >+ selected => ( $thisauthtype eq $authtypecode ), > authtypetext => $authtypes->{$thisauthtype}{'authtypetext'}, > index => $index, > ); > push @authtypesloop, \%row; > } > >-$op ||= q{}; >+# If search form posted > if ( $op eq "do_search" ) { > my @marclist = $query->param('marclist'); > my @and_or = $query->param('and_or'); > my @excluding = $query->param('excluding'); > my @operator = $query->param('operator'); >- my @value = ($query->param('value_mainstr')||undef, $query->param('value_main')||undef, $query->param('value_any')||undef, $query->param('value_match')||undef); >- my $orderby = $query->param('orderby'); >- >- $resultsperpage = $query->param('resultsperpage'); >- $resultsperpage = 20 if ( !defined $resultsperpage ); >+ my @value = ( >+ $query->param('value_mainstr') || undef, >+ $query->param('value_main') || undef, >+ $query->param('value_any') || undef, >+ $query->param('value_match') || undef >+ ); >+ my $orderby = $query->param('orderby') || ''; >+ my $startfrom = $query->param('startfrom') || 0; >+ my $resultsperpage = $query->param('resultsperpage') || 20; > > my ( $results, $total ) = > SearchAuthorities( \@marclist, \@and_or, \@excluding, \@operator, \@value, > $startfrom * $resultsperpage, >- $resultsperpage, $authtypecode, $orderby); >+ $resultsperpage, $authtypecode, $orderby ); > > # If an authority heading is repeated, add an arrayref to those repetions > # First heading -- Second heading >- for my $heading ( @$results ) { >+ for my $heading (@$results) { > my @repets = split / -- /, $heading->{summary}; > if ( @repets > 1 ) { > my @repets_loop; >- for (my $i = 0; $i < @repets; $i++) { >+ for ( my $i = 0 ; $i < @repets ; $i++ ) { > push @repets_loop, >- { index => $index, repet => $i+1, value => $repets[$i] }; >+ { index => $index, repet => $i + 1, value => $repets[$i] }; > } > $heading->{repets} = \@repets_loop; > } > } >+ > # multi page display gestion > my $displaynext = 0; > my $displayprev = $startfrom; >@@ -94,9 +106,8 @@ if ( $op eq "do_search" ) { > > my @field_data = (); > >- my @marclist_ini = >- $query->param('marclist') >- ; # get marclist again, as the previous one has been modified by catalogsearch (mainentry replaced by field name >+# get marclist again, as the previous one has been modified by catalogsearch (mainentry replaced by field name) >+ my @marclist_ini = $query->param('marclist'); > for ( my $i = 0 ; $i <= $#marclist ; $i++ ) { > push @field_data, { term => "marclist", val => $marclist_ini[$i] }; > push @field_data, { term => "and_or", val => $and_or[$i] }; >@@ -104,13 +115,16 @@ if ( $op eq "do_search" ) { > push @field_data, { term => "operator", val => $operator[$i] }; > } > >- push @field_data, { term => "value_mainstr", val => $query->param('value_mainstr') || "" }; >- push @field_data, { term => "value_main", val => $query->param('value_main') || "" }; >- push @field_data, { term => "value_any", val => $query->param('value_any') || ""}; >- push @field_data, { term => "value_match", val => $query->param('value_match') || ""}; >+ push @field_data, >+ { term => "value_mainstr", val => $query->param('value_mainstr') || "" }; >+ push @field_data, >+ { term => "value_main", val => $query->param('value_main') || "" }; >+ push @field_data, >+ { term => "value_any", val => $query->param('value_any') || "" }; >+ push @field_data, >+ { term => "value_match", val => $query->param('value_match') || "" }; > > my @numbers = (); >- > if ( $total > $resultsperpage ) { > for ( my $i = 1 ; $i < $total / $resultsperpage + 1 ; $i++ ) { > if ( $i < 16 ) { >@@ -129,73 +143,56 @@ if ( $op eq "do_search" ) { > > my $from = $startfrom * $resultsperpage + 1; > my $to; >- > if ( $total < ( ( $startfrom + 1 ) * $resultsperpage ) ) { > $to = $total; > } > else { > $to = ( ( $startfrom + 1 ) * $resultsperpage ); > } >- ( $template, $loggedinuser, $cookie ) = get_template_and_user( >- { >- template_name => "authorities/searchresultlist-auth.tt", >- query => $query, >- type => 'intranet', >- authnotrequired => 0, >- flagsrequired => { catalogue => 1 }, >- } >- ); > > $template->param( result => $results ) if $results; > $template->param( >- orderby => $orderby, >- startfrom => $startfrom, >- displaynext => $displaynext, >- displayprev => $displayprev, >- resultsperpage => $resultsperpage, >- startfromnext => $startfrom + 1, >- startfromprev => $startfrom - 1, >- searchdata => \@field_data, >- total => $total, >- from => $from, >- to => $to, >- numbers => \@numbers, >- operator_mainstr => ( @operator > 0 && $operator[0] ) ? $operator[0] : '', >- operator_main => ( @operator > 1 && $operator[1] ) ? $operator[1] : '', >- operator_any => ( @operator > 2 && $operator[2] ) ? $operator[2] : '', >- operator_match => ( @operator > 3 && $operator[3] ) ? $operator[3] : '', >- ); >-} else { >- ( $template, $loggedinuser, $cookie ) = get_template_and_user( >- { >- template_name => "authorities/auth_finder.tt", >- query => $query, >- type => 'intranet', >- authnotrequired => 0, >- flagsrequired => { catalogue => 1 }, >- } >+ orderby => $orderby, >+ startfrom => $startfrom, >+ displaynext => $displaynext, >+ displayprev => $displayprev, >+ resultsperpage => $resultsperpage, >+ startfromnext => $startfrom + 1, >+ startfromprev => $startfrom - 1, >+ searchdata => \@field_data, >+ total => $total, >+ from => $from, >+ to => $to, >+ numbers => \@numbers, >+ operator_mainstr => ( @operator > 0 && $operator[0] ) >+ ? $operator[0] >+ : '', >+ operator_main => ( @operator > 1 && $operator[1] ) ? $operator[1] : '', >+ operator_any => ( @operator > 2 && $operator[2] ) ? $operator[2] : '', >+ operator_match => ( @operator > 3 && $operator[3] ) ? $operator[3] : '', > ); >+} >+else { > >- $template->param( >- resultstring => $resultstring, >- ); >+ # special case for UNIMARC field 210c builder >+ my $resultstring = $query->param('result') || ''; >+ $template->param( resultstring => $resultstring, ); > } > > $template->param( > op => $op, >- value_mainstr => $query->param('value_mainstr') || "", >- value_main => $query->param('value_main') || "", >- value_any => $query->param('value_any') || "", >- value_match => $query->param('value_match') || "", >+ value_mainstr => $query->param('value_mainstr') || '', >+ value_main => $query->param('value_main') || '', >+ value_any => $query->param('value_any') || '', >+ value_match => $query->param('value_match') || '', > tagid => $tagid, > index => $index, > authtypesloop => \@authtypesloop, > authtypecode => $authtypecode, >+ source => $source, >+ relationship => $relationship, > ); > >-$template->{VARS}->{source} = $query->param('source') || ''; >-$template->{VARS}->{relationship} = $query->param('relationship') || ''; >- > # Print the page > output_html_with_http_headers $query, $cookie, $template->output; > >-- >1.7.10.4 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 10808
:
20730
|
20731
|
21261
|
21262
|
21322
|
21323