Bugzilla – Attachment 150419 Details for
Bug 33445
Regression - Replacing authority via Z39.50 will not search for anything but the value from the existing authority
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 33445: [alternate] Pass through form info if present and use record values otherwise
Bug-33445-alternate-Pass-through-form-info-if-pres.patch (text/plain), 4.33 KB, created by
Phil Ringnalda
on 2023-04-28 19:18:36 UTC
(
hide
)
Description:
Bug 33445: [alternate] Pass through form info if present and use record values otherwise
Filename:
MIME Type:
Creator:
Phil Ringnalda
Created:
2023-04-28 19:18:36 UTC
Size:
4.33 KB
patch
obsolete
>From 3678f6d14bb0de0922facf502de23a245e75b8d6 Mon Sep 17 00:00:00 2001 >From: Nick Clemens <nick@bywatersolutions.com> >Date: Fri, 28 Apr 2023 12:39:58 +0000 >Subject: [PATCH] Bug 33445: [alternate] Pass through form info if present and > use record values otherwise > >This patch updates the form to pass through values formthe form when searching, and >to use record values if nothing is passed in. > >TO test: > 1 - Without the patch, edit a personal name authority record > 2 - Replace 100 subfield a (200 subfield a for UNIMARC) with your own name > 3 - Click "Replace record via Z39.50/SRU search" > 4 - Note that prefilled search field contains the original value, not your name. > 5 - Replace the Author (personal) field with your name in the search form > 6 - choose a search target, and click Search. > 7 - Note that the results of the search are for the original value, not your name > 8 - From the details page of a record, click 'Edit -> Replace record via Z3950' > 9 - Note form is prefilled >10 - Change value as in 5 and search >11 - Note original term was searched >12 - Apply patch, restart all >13 - Repeat searches as before >14 - Confirm that form is prefilled with record or the updated value >15 - Confirm your entered search terms are always searched > >Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org> >--- > cataloguing/z3950_auth_search.pl | 50 +++++++++++++++----------------- > 1 file changed, 24 insertions(+), 26 deletions(-) > >diff --git a/cataloguing/z3950_auth_search.pl b/cataloguing/z3950_auth_search.pl >index 5b413201fa..ce6a3bd324 100755 >--- a/cataloguing/z3950_auth_search.pl >+++ b/cataloguing/z3950_auth_search.pl >@@ -33,6 +33,7 @@ my $input = CGI->new; > my $dbh = C4::Context->dbh; > my $error = $input->param('error'); > my $authid = $input->param('authid') || 0; >+my $op = $input->param('op')||''; > > my $record = GetAuthority($authid); > my $marc_flavour = C4::Context->preference('marcflavour'); >@@ -44,34 +45,31 @@ my $authfields_mapping = { > 'subject' => $marc_flavour eq 'MARC21' ? '150' : '250', > }; > >-my $nameany = $input->param('nameany'); >-my $authorany = $input->param('authorany'); >-my $authorcorp = >- $record >- ? $record->subfield( $authfields_mapping->{'authorcorp'}, 'a' ) >- : $input->param('authorcorp'); >-my $authorpersonal = >- $record >- ? $record->subfield( $authfields_mapping->{'authorpersonal'}, 'a' ) >- : $input->param('authorpersonal'); >-my $authormeetingcon = >- $record >- ? $record->subfield( $authfields_mapping->{'authormeetingcon'}, 'a' ) >- : $input->param('authormeetingcon'); >+my $nameany = $input->param('nameany'); >+my $authorany = $input->param('authorany'); >+my $title = $input->param('title'); >+my $authorpersonal = $input->param('authorpersonal'); >+my $authormeetingcon = $input->param('authormeetingcon'); >+my $uniformtitle = $input->param('uniformtitle'); >+my $subject = $input->param('subject'); >+my $authorcorp = $input->param('authorcorp'); >+my $subjectsubdiv = $input->param('subjectsubdiv'); >+my $srchany = $input->param('srchany'); > >-my $title = $input->param('title'); >-my $uniformtitle = >- $record >- ? $record->subfield( $authfields_mapping->{'uniformtitle'}, 'a' ) >- : $input->param('uniformtitle'); >-my $subject = >- $record >- ? $record->subfield( $authfields_mapping->{'subject'}, 'a' ) >- : $input->param('subject'); >+# If replacing an existing record we want to initially populate the form with record info, >+# however, we want to use entered inputs when searching >+if ( $record && $op ne 'do_search' ) { >+ $authorcorp ||= >+ $record->subfield( $authfields_mapping->{'authorcorp'}, 'a' ); >+ $authorpersonal ||= >+ $record->subfield( $authfields_mapping->{'authorpersonal'}, 'a' ); >+ $authormeetingcon ||= >+ $record->subfield( $authfields_mapping->{'authormeetingcon'}, 'a' ); >+ $uniformtitle ||= >+ $record->subfield( $authfields_mapping->{'uniformtitle'}, 'a' ); >+ $subject ||= $record->subfield( $authfields_mapping->{'subject'}, 'a' ); >+} > >-my $subjectsubdiv = $input->param('subjectsubdiv'); >-my $srchany = $input->param('srchany'); >-my $op = $input->param('op')||''; > my $page = $input->param('current_page') || 1; > my $index =$input->param('index'); > $page = $input->param('goto_page') if $input->param('changepage_goto'); >-- >2.40.0
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 33445
:
149504
|
149624
|
150367
|
150368
|
150419
|
150466
|
150467
|
150468
|
150469
|
150470
|
150471
|
150472
|
150473
|
150474
|
150475
|
151125
|
151126
|
151127