Bug 13912: Add DefaultCountryField008 syspref
authorJosef Moravec <josef.moravec@gmail.com>
Thu, 26 Mar 2015 07:46:45 +0000 (08:46 +0100)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Fri, 29 Sep 2017 19:49:48 +0000 (16:49 -0300)
This syspref is going to be used for populating field 008, range 15-17
with a desired default. It is currently hardcoded to 'xxu'. If not set,
it will still fallback to 'xxu'.

Signed-off-by: m23 <black23@gmail.com>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

cataloguing/value_builder/marc21_field_008.pl
installer/data/mysql/sysprefs.sql
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/cataloguing.pref

index e47a20d..5da53dc 100755 (executable)
@@ -36,6 +36,8 @@ my $builder = sub {
     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 $function_name = $params->{id};
     my $dateentered = date_entered();
@@ -47,7 +49,7 @@ function Focus$function_name(event) {
     if ( document.getElementById(event.data.id).value ) {
        }
        else {
-        document.getElementById(event.data.id).value='$dateentered' + 'b        xxu||||| |||| 00| 0 $lang d';
+        document.getElementById(event.data.id).value='$dateentered' + 'b        $country||||| |||| 00| 0 $lang d';
        }
     return 1;
 }
@@ -77,6 +79,8 @@ my $launcher = sub {
     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');
@@ -142,7 +146,7 @@ my $launcher = sub {
     );
 
     my $dateentered = date_entered();
-    $result = "$dateentered" . "b        xxu||||| |||| 00| 0 $lang d" unless $result;
+    $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/';
index 5155fe7..33b11bc 100644 (file)
@@ -123,6 +123,7 @@ INSERT INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `
 ('decreaseLoanHighHoldsIgnoreStatuses', '', 'damaged|itemlost|notforloan|withdrawn', "Ignore items with these statuses for dynamic high holds checking", 'Choice'),
 ('decreaseLoanHighHoldsValue',NULL,'','Specifies a threshold for the minimum number of holds needed to trigger a reduction in loan duration (used with decreaseLoanHighHolds)','Integer'),
 ('DefaultClassificationSource','ddc',NULL,'Default classification scheme used by the collection. E.g., Dewey, LCC, etc.','ClassSources'),
+('DefaultCountryField008','','','Fill in the default country code for field 008 Range 15-17 - Place of publication, production, or execution. See <a href=\"http://www.loc.gov/marc/countries/countries_code.html\">MARC Code List for Countries</a>','Free'),
 ('DefaultLanguageField008','','','Fill in the default language for field 008 Range 35-37 of MARC21 records (e.g. eng, nor, ger, see <a href=\"http://www.loc.gov/marc/languages/language_code.html\">MARC Code List for Languages</a>)','Free'),
 ('DefaultLongOverdueChargeValue', '', NULL, "Charge a lost item to the borrower's account when the LOST value of the item changes to n.", 'integer'),
 ('DefaultLongOverdueDays', '', NULL, "Set the LOST value of an item when the item has been overdue for more than n days.", 'integer'),
index 18f7fd3..2a2dd08 100644 (file)
@@ -44,6 +44,10 @@ Cataloging:
             - pref: DefaultLanguageField008
             - " Empty defaults to eng."
         -
+            - Fill in the default country code for field 008 Range 15-17 - Place of publication, production, or execution. See <a href"http://www.loc.gov/marc/countries/countries_code.html\">MARC Code List for Countries</a>
+            - pref: DefaultCountryField008
+            - " Empty defaults to xxu for United States."
+        -
             - Interpret and store MARC records in the
             - pref: marcflavour
               choices: