Bugzilla – Attachment 39193 Details for
Bug 13437
Convert marc21 framework plugins to new style
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 13437: Preliminary changes for marc21 plugins field 008
Bug-13437-Preliminary-changes-for-marc21-plugins-f.patch (text/plain), 6.35 KB, created by
Marcel de Rooy
on 2015-05-14 17:38:16 UTC
(
hide
)
Description:
Bug 13437: Preliminary changes for marc21 plugins field 008
Filename:
MIME Type:
Creator:
Marcel de Rooy
Created:
2015-05-14 17:38:16 UTC
Size:
6.35 KB
patch
obsolete
>From 9f5f2fbaf020e8a29f86febc56893dc15732f123 Mon Sep 17 00:00:00 2001 >From: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> >Date: Tue, 12 May 2015 17:49:04 +0200 >Subject: [PATCH] Bug 13437: Preliminary changes for marc21 plugins field 008 >Content-Type: text/plain; charset=utf-8 > >Preliminary work on marc21_field_008.pl and 008_authorities.pl. >Moving $dateentered en $defaultval to lower scope level. >date_entered is a new sub (in a module); sub Field008 has been reduced to >one line. >Added a trivial unit test for date_entered. >Note: the format used in date_entered could be added in DateUtils, moving >this logic to a better place. > >Test plan: >Use both plugins in the marc21 editor (biblios/authorities). >Run the adjusted unit test. >--- > Koha/Util/FrameworkPlugin.pm | 16 +++++++++++- > cataloguing/value_builder/marc21_field_008.pl | 10 +++----- > .../value_builder/marc21_field_008_authorities.pl | 26 +++++--------------- > t/Koha_Util_FrameworkPlugin.t | 7 ++++-- > 4 files changed, 29 insertions(+), 30 deletions(-) > >diff --git a/Koha/Util/FrameworkPlugin.pm b/Koha/Util/FrameworkPlugin.pm >index f0eabc0..e226295 100644 >--- a/Koha/Util/FrameworkPlugin.pm >+++ b/Koha/Util/FrameworkPlugin.pm >@@ -27,7 +27,7 @@ BEGIN { > require Exporter; > @ISA = qw( Exporter ); > @EXPORT = qw( ); >- @EXPORT_OK = qw( wrapper ); >+ @EXPORT_OK = qw( wrapper date_entered ); > } > > =head1 NAME >@@ -52,4 +52,18 @@ sub wrapper { > return $str; > } > >+=head2 date_entered >+ >+ date_entered returns date in yymmdd format as needed by MARC21 field 008 >+ >+=cut >+ >+sub date_entered { >+ # find today's date >+ my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); >+ $year +=1900; >+ $mon +=1; >+ return substr($year,2,2).sprintf ("%0.2d", $mon).sprintf ("%0.2d",$mday); >+} >+ > 1; >diff --git a/cataloguing/value_builder/marc21_field_008.pl b/cataloguing/value_builder/marc21_field_008.pl >index cc2d28d..01d63d7 100755 >--- a/cataloguing/value_builder/marc21_field_008.pl >+++ b/cataloguing/value_builder/marc21_field_008.pl >@@ -27,6 +27,7 @@ use C4::Search; > use C4::Output; > > use XML::LibXML; >+use Koha::Util::FrameworkPlugin qw|date_entered|; > > =head1 DESCRIPTION > >@@ -34,13 +35,6 @@ plugin_parameters : other parameters added when the plugin is called by the dopo > > =cut > >-# find today's date >-my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time); >- >-$year += 1900; >-$mon += 1; >-my $dateentered = substr($year, 2, 2) . sprintf("%0.2d", $mon) . sprintf("%0.2d", $mday); >- > sub plugin_javascript { > my $lang = C4::Context->preference('DefaultLanguageField008' ); > $lang = "eng" unless $lang; >@@ -48,6 +42,7 @@ sub plugin_javascript { > > my ($dbh, $record, $tagslib, $field_number, $tabloop) = @_; > my $function_name = $field_number; >+ my $dateentered = date_entered(); > my $res = " > <script type=\"text/javascript\"> > //<![CDATA[ >@@ -149,6 +144,7 @@ sub plugin { > } > ); > >+ my $dateentered = date_entered(); > $result = "$dateentered" . "b xxu||||| |||| 00| 0 $lang d" unless $result; > my $errorXml = ''; > # Check if the xml, xsd exists and is validated >diff --git a/cataloguing/value_builder/marc21_field_008_authorities.pl b/cataloguing/value_builder/marc21_field_008_authorities.pl >index be15ced..e6ddbd7 100755 >--- a/cataloguing/value_builder/marc21_field_008_authorities.pl >+++ b/cataloguing/value_builder/marc21_field_008_authorities.pl >@@ -1,6 +1,5 @@ > #!/usr/bin/perl > >- > # Copyright 2000-2002 Katipo Communications > # > # This file is part of Koha. >@@ -26,6 +25,7 @@ use C4::Context; > > use C4::Search; > use C4::Output; >+use Koha::Util::FrameworkPlugin qw|date_entered|; > > use constant FIXLEN_DATA_ELTS => '|| aca||aabn | a|a d'; > use constant PREF_008 => 'MARCAuthorityControlField008'; >@@ -36,16 +36,11 @@ plugin_parameters : other parameters added when the plugin is called by the dopo > > =cut > >-# find today's date >-my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); >- >-$year +=1900; $mon +=1; >-my $dateentered = substr($year,2,2).sprintf ("%0.2d", $mon).sprintf ("%0.2d",$mday); >-my $defaultval = Field008(); >- > sub plugin_javascript { > my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_; > my $function_name= $field_number; >+ my $dateentered = date_entered(); >+ my $defaultval = substr( C4::Context->preference(PREF_008) || FIXLEN_DATA_ELTS, 0, 34 ); > my $res=" > <script type=\"text/javascript\"> > //<![CDATA[ >@@ -79,6 +74,8 @@ sub plugin { > my $index= $input->param('index'); > my $result= $input->param('result'); > my $authtype= $input->param('authtypecode')||''; >+ >+ my $defaultval = substr( C4::Context->preference(PREF_008) || FIXLEN_DATA_ELTS, 0, 34 ); > substr($defaultval,14-6,1)='b' if $authtype=~ /TOPIC_TERM|GENRE.FORM|CHRON_TERM/; > > my $dbh = C4::Context->dbh; >@@ -91,6 +88,7 @@ sub plugin { > flagsrequired => {editcatalogue => '*'}, > debug => 1, > }); >+ my $dateentered = date_entered(); > $result = "$dateentered$defaultval" unless $result; > my @f; > for(0,6..17,28,29,31..33,38,39) { >@@ -109,15 +107,3 @@ sub plugin { > } > output_html_with_http_headers $input, $cookie, $template->output; > } >- >-sub Field008 { >- my $pref= C4::Context->preference(PREF_008); >- if(!$pref) { >- return FIXLEN_DATA_ELTS; >- } >- elsif(length($pref)<34) { >- warn "marc21_field_008_authorities.pl: Syspref ".PREF_008." should be 34 characters long "; >- return FIXLEN_DATA_ELTS; >- } >- return substr($pref,0,34); #ignore remainder >-} >diff --git a/t/Koha_Util_FrameworkPlugin.t b/t/Koha_Util_FrameworkPlugin.t >index 20f941c..a30e3e7 100755 >--- a/t/Koha_Util_FrameworkPlugin.t >+++ b/t/Koha_Util_FrameworkPlugin.t >@@ -1,9 +1,9 @@ > #!/usr/bin/perl > > use Modern::Perl; >-use Test::More tests => 6; >+use Test::More tests => 7; > >-use_ok( 'Koha::Util::FrameworkPlugin', qw(wrapper) ); >+use_ok( 'Koha::Util::FrameworkPlugin', qw(wrapper date_entered) ); > > my $char; > is($char=wrapper(' '),'space',"Return space"); >@@ -11,3 +11,6 @@ is($char=wrapper(' '),'dblspace',"Return dblspace"); > is($char=wrapper('|'),'pipe',"Return pipe"); > is($char=wrapper('||'),'dblpipe',"Return dblpipe"); > is($char=wrapper('somethingelse'),'somethingelse',"Return somethingelse"); >+ >+my $f008= date_entered(); >+is( $f008 =~ /^\d{6}$/, 1, 'date_entered gives six digits' ); >-- >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 13437
:
39093
|
39095
|
39140
|
39141
|
39142
|
39177
|
39184
|
39193
|
39194
|
39195
|
39196
|
39371
|
39372
|
39373
|
39374
|
39375
|
39949
|
39950
|
39951
|
39952
|
39953