When a new marc record is added, the language code in field 008 Range 35-37 defaults to Englih ("eng"). This makes cataloguing inefficient and error-prone for librarians if most of the bibliographic data is e.g. in German or in French.
Test:
- Apply patch
- Edit preference DefaultLanguageField008, fill in e.g. 'ger'
- Go to Cataloguing, Add marc Record
- Click in field 008. Language code should read 'ger' (instead of 'eng')
Signed-off-by: Chris Cormack <chris@bigballofwax.co.nz>
}
sub plugin_javascript {
+ my $lang = C4::Context->preference('DefaultLanguageField008' );
+ $lang = "eng" unless $lang;
+ $lang = pack("A3", $lang);
+
my ($dbh, $record, $tagslib, $field_number, $tabloop) = @_;
my $function_name = $field_number;
my $res = "
//<![CDATA[
function Focus$function_name(subfield_managed) {
-
if ( document.getElementById(\"$field_number\").value ) {
}
else {
- document.getElementById(\"$field_number\").value='$dateentered' + 'b xxu||||| |||| 00| 0 eng d';
+ document.getElementById(\"$field_number\").value='$dateentered' + 'b xxu||||| |||| 00| 0 $lang d';
}
return 1;
}
}
sub plugin {
+ my $lang = C4::Context->preference('DefaultLanguageField008' );
+ $lang = "eng" unless $lang;
+ $lang = pack("A3", $lang);
+
my ($input) = @_;
my $index = $input->param('index');
my $result = $input->param('result');
}
);
- $result = "$dateentered" . "b xxu||||| |||| 00| 0 eng d" unless $result;
+ $result = "$dateentered" . "b xxu||||| |||| 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} . '/modules/cataloguing/value_builder/';
}
sub plugin_javascript {
+ my $lang = C4::Context->preference('DefaultLanguageField008' );
+ $lang = "eng" unless $lang;
+ $lang = pack("A3", $lang);
my ($dbh, $record, $tagslib, $field_number, $tabloop) = @_;
my $function_name = $field_number;
my $res = "
if ( document.getElementById(\"$field_number\").value ) {
}
else {
- document.getElementById(\"$field_number\").value='$dateentered' + 't xxu||||| |||| 00| 0 eng d';
+ document.getElementById(\"$field_number\").value='$dateentered' + 't xxu||||| |||| 00| 0 $lang d';
}
return 1;
}
}
sub plugin {
+ my $lang = C4::Context->preference('DefaultLanguageField008' );
+ $lang = "eng" unless $lang;
+ $lang = pack("A3", $lang);
my ($input) = @_;
my $index = $input->param('index');
my $result = $input->param('result');
);
# $result = " t xxu 00 0 eng d" unless $result;
- $result = "$dateentered" . "t xxu||||| |||| 00| 0 eng d" unless $result;
+ $result = "$dateentered" . "t xxu||||| |||| 00| 0 $lang d" unless $result;
my $f1 = substr($result, 0, 6);
my $f6 = substr($result, 6, 1);
my $f710 = substr($result, 7, 4);
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('IssueLostItem', 'alert', 'alert|confirm|nothing', 'Defines what should be done when an attempt is made to issue an item that has been marked as lost.', 'Choice');
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('SuspendHoldsIntranet', '1', NULL , 'Allow holds to be suspended from the intranet.', 'YesNo');
INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('SuspendHoldsOpac', '1', NULL , 'Allow holds to be suspended from the OPAC.', 'YesNo');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('DefaultLanguageField008','','Fill in the default language for field 008 Range 35-37 (e.g. eng, nor, ger, see <a href="http://www.loc.gov/marc/languages/language_code.html">MARC Code List for Languages</a>)','','Free');
SetVersion($DBversion);
}
+$DBversion ="3.09.00.013";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+ $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('DefaultLanguageField008','','Fill in the default language for field 008 Range 35-37 (e.g. eng, nor, ger, see www.loc.gov/marc/languages/language_code.html)','','Free');");
+ print "Upgrade to $DBversion done (Add system preference DefaultLanguageField008))\n";
+ SetVersion($DBversion);
+}
+
=head1 FUNCTIONS
=head2 TableExists($table)
- buttons on the bib details page to print item spine labels.
-
Record Structure:
+ -
+ - Fill in the default language for field 008 Range 35-37 (e.g. eng, nor, ger, see <a href="http://www.loc.gov/marc/languages/language_code.html">MARC Code List for Languages</a>)
+ - pref: DefaultLanguageField008
+ - " Empty defaults to eng."
-
- Interpret and store MARC records in the
- pref: marcflavour