Bug 27461: Move hardcoded value to module

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
Signed-off-by: Phil Ringnalda <phil@chetcolibrary.org>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>
This commit is contained in:
Marcel de Rooy 2021-08-19 09:52:14 +00:00 committed by Kyle Hall
parent 841cb78394
commit 24d2e08c94
2 changed files with 27 additions and 23 deletions

View file

@ -22,12 +22,14 @@ package Koha::Util::FrameworkPlugin;
use Modern::Perl;
use constant DEFAULT_008_POS_6_39 => 'b |||||||| |||| 00| 0 eng d';
our ( @ISA, @EXPORT, @EXPORT_OK );
BEGIN {
require Exporter;
@ISA = qw( Exporter );
@EXPORT = qw( );
@EXPORT_OK = qw( wrapper date_entered );
@EXPORT_OK = qw( wrapper date_entered biblio_008 );
}
=head1 NAME
@ -66,4 +68,22 @@ sub date_entered {
return substr($year,2,2).sprintf ("%0.2d", $mon).sprintf ("%0.2d",$mday);
}
=head2 biblio_008
Returns a default value for MARC21 field 008 for biblio records.
Depends on prefs DefaultCountryField008, DefaultLanguageField008.
=cut
sub biblio_008 {
my $result = date_entered() . DEFAULT_008_POS_6_39;
if( C4::Context->preference('DefaultCountryField008') ) {
substr( $result, 15, 3 ) = pack( "A3", C4::Context->preference('DefaultCountryField008') );
}
if( C4::Context->preference('DefaultLanguageField008') ) {
substr( $result, 35, 3 ) = pack( "A3", C4::Context->preference('DefaultLanguageField008' ) );
}
return $result;
}
1;

View file

@ -28,29 +28,20 @@ use C4::Search;
use C4::Output;
use XML::LibXML;
use Koha::Util::FrameworkPlugin qw|date_entered|;
use Koha::Util::FrameworkPlugin qw( biblio_008 );
my $builder = sub {
my ( $params ) = @_;
my $lang = C4::Context->preference('DefaultLanguageField008' );
$lang = "eng" unless $lang;
$lang = pack("A3", $lang);
my $country = C4::Context->preference('DefaultCountryField008');
$country = "|||" unless $country;
$country = pack("A3", $country);
my $function_name = $params->{id};
my $dateentered = date_entered();
my $default008 = biblio_008();
my $res = "
<script>
function Focus$function_name(event) {
if ( document.getElementById(event.data.id).value ) {
}
else {
document.getElementById(event.data.id).value='$dateentered' + 'b $country||||| |||| 00| 0 $lang d';
}
if( !document.getElementById(event.data.id).value ) {
document.getElementById(event.data.id).value='$default008';
}
return 1;
}
@ -75,14 +66,9 @@ function Click$function_name(event) {
my $launcher = sub {
my ( $params ) = @_;
my $input = $params->{cgi};
my $lang = C4::Context->preference('DefaultLanguageField008' );
$lang = "eng" unless $lang;
$lang = pack("A3", $lang);
my $country = C4::Context->preference('DefaultCountryField008') // "xxu";
$country = pack("A3", $country);
my $index = $input->param('index');
my $result = $input->param('result');
my $result = $input->param('result') || biblio_008();
my $leader = $input->param('leader');
my $material_configuration;
@ -143,8 +129,6 @@ my $launcher = sub {
}
);
my $dateentered = date_entered();
$result = "$dateentered" . "b $country||||| |||| 00| 0 $lang d" unless $result;
my $errorXml = '';
# Check if the xml, xsd exists and is validated
my $dir = C4::Context->config('intrahtdocs') . '/prog/' . $template->{lang} . '/data/';