Bugzilla – Attachment 54075 Details for
Bug 10148
007 not filling in with existing values
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 10148: Marc21 field 007 builder improper reload values
Bug-10148-Marc21-field-007-builder-improper-reload.patch (text/plain), 5.06 KB, created by
Nick Clemens (kidclamp)
on 2016-08-06 18:34:45 UTC
(
hide
)
Description:
Bug 10148: Marc21 field 007 builder improper reload values
Filename:
MIME Type:
Creator:
Nick Clemens (kidclamp)
Created:
2016-08-06 18:34:45 UTC
Size:
5.06 KB
patch
obsolete
>From 8284fa35b3250765b89c3dd4600ea7a6927a8d66 Mon Sep 17 00:00:00 2001 >From: Mark Tompsett <mtompset@hotmail.com> >Date: Sun, 10 Apr 2016 23:18:26 -0400 >Subject: [PATCH] Bug 10148: Marc21 field 007 builder improper reload values > >The more correct solution is fix that template file. >However, in the mean time, this works. > >TEST PLAN >--------- > 1) find a record > 2) edit record > 3) click value builder for 007 > 4) change everything to pipes as much as possible. > (use Motion Picture to get all 00-22 values) > 5) save > -- should save just fine. > 6) click the value builder again > -- OOPS! Bad reload. > 7) prove t/db_dependent/FrameworkPlugin.t > -- NOISY 007 messages. > 8) apply patch > 9) click the value builder again > -- good reload >10) prove t/db_dependent/FrameworkPlugin.t > -- No noise related to 007. >11) run koha qa test tools. > >Signed-off-by: Nick Clemens <nick@bywatersolutions.com> >--- > cataloguing/value_builder/marc21_field_007.pl | 101 +++++++------------------- > 1 file changed, 25 insertions(+), 76 deletions(-) > >diff --git a/cataloguing/value_builder/marc21_field_007.pl b/cataloguing/value_builder/marc21_field_007.pl >index d7b9789..a64f407 100755 >--- a/cataloguing/value_builder/marc21_field_007.pl >+++ b/cataloguing/value_builder/marc21_field_007.pl >@@ -64,88 +64,37 @@ my $launcher = sub { > debug => 1, > } > ); >- $result = "ta" unless $result; >- my $f0 = substr( $result, 0, 1 ); >- my $f1 = substr( $result, 1, 1 ); > >- #added new parameters to allow for all material types >- my $f2 = substr( $result, 2, 1 ); >- my $f3 = substr( $result, 3, 1 ); >- my $f4 = substr( $result, 4, 1 ); >- my $f5 = substr( $result, 5, 1 ); >- my $f6 = substr( $result, 6, 1 ); >- my $f7 = substr( $result, 7, 1 ); >- my $f8 = substr( $result, 8, 1 ); >- my $f9 = substr( $result, 9, 1 ); >- my $f10 = substr( $result, 10, 1 ); >- my $f11 = substr( $result, 11, 1 ); >- my $f12 = substr( $result, 12, 1 ); >- my $f13 = substr( $result, 13, 1 ); >- my $f14 = substr( $result, 14, 1 ); >- my $f15 = substr( $result, 15, 1 ); >- my $f16 = substr( $result, 16, 1 ); >- my $f17 = substr( $result, 17, 1 ); >- my $f18 = substr( $result, 18, 1 ); >- my $f19 = substr( $result, 19, 1 ); >- my $f20 = substr( $result, 20, 1 ); >- my $f21 = substr( $result, 21, 1 ); >- my $f22 = substr( $result, 22, 1 ); >+ $result = "ta" unless $result; >+ my $pad_length = 23 - length $result; >+ my @fvalues = split //, $result; >+ if ($pad_length>0) { >+ push @fvalues, (undef)x($pad_length); >+ } >+ my @fnames = map { "f$_" } (0..22); > >- #FIXME: There is probably a more-elegant way to do this! > #FIXME: Two of the material types treat position 06, 07, and 08 as a single > #three-char field. This script works fine for creating values and sending them > #back to the MARC, but if there is already a value in the 007, it won't send > #it properly to the value builder for those two instances. Not sure how to solve. >- $template->param( >- index => $index, >- f0 => $f0, >- "f0$f0" => $f0, >- f1 => $f1, >- "f1$f1" => $f1, >- f2 => $f2, >- "f2$f2" => $f2, >- f3 => $f3, >- "f3$f3" => $f3, >- f4 => $f4, >- "f4$f4" => $f4, >- f5 => $f5, >- "f5$f5" => $f5, >- f6 => $f6, >- "f6$f6" => $f6, >- f7 => $f7, >- "f7$f7" => $f7, >- f8 => $f8, >- "f8$f8" => $f8, >- f9 => $f9, >- "f9$f9" => $f9, >- f10 => $f10, >- "f10$f10" => $f10, >- f11 => $f11, >- "f11$f11" => $f11, >- f12 => $f12, >- "f12$f12" => $f12, >- f13 => $f13, >- "f13$f13" => $f13, >- f14 => $f14, >- "f14$f14" => $f14, >- f15 => $f15, >- "f15$f15" => $f15, >- f16 => $f16, >- "f16$f16" => $f16, >- f17 => $f17, >- "f17$f17" => $f17, >- f18 => $f18, >- "f18$f18" => $f18, >- f19 => $f19, >- "f19$f19" => $f19, >- f20 => $f20, >- "f20$f20" => $f20, >- f21 => $f21, >- "f21$f21" => $f21, >- f22 => $f22, >- "f22$f22" => $f22, >- ); >+ $template->param( index => $index ); >+ foreach my $count ( 0..22 ) { >+ if (defined $fvalues[$count]) { >+ # template uses f##pipe variables. >+ my $key2; >+ if ($fvalues[$count] eq q{|}) { >+ $key2 = $fnames[$count] . 'pipe'; >+ } >+ else { >+ $key2 = $fnames[$count] . $fvalues[$count]; >+ } >+ $template->param( >+ $fnames[$count] => $fvalues[$count], >+ $key2 => $fvalues[$count] >+ ); >+ } >+ } > output_html_with_http_headers $input, $cookie, $template->output; > }; > >-return { builder => $builder, launcher => $launcher }; >\ No newline at end of file >+return { builder => $builder, launcher => $launcher }; >-- >2.1.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 10148
:
53118
|
54075
|
54103