Merge remote-tracking branch 'origin/new/bug_7453'
authorPaul Poulain <paul.poulain@biblibre.com>
Mon, 27 Feb 2012 10:35:12 +0000 (11:35 +0100)
committerPaul Poulain <paul.poulain@biblibre.com>
Mon, 27 Feb 2012 10:35:12 +0000 (11:35 +0100)
229 files changed:
C4/Accounts.pm
C4/Auth.pm
C4/Biblio.pm
C4/Circulation.pm
C4/Context.pm
C4/Heading.pm
C4/ImportBatch.pm
C4/Installer/PerlDependencies.pm
C4/Items.pm
C4/Koha.pm
C4/Languages.pm
C4/Output.pm
C4/Record.pm
C4/SIP/ILS/Transaction/Checkout.pm
C4/SIP/ILS/Transaction/RenewAll.pm
C4/SQLHelper.pm
C4/Search.pm
C4/Serials.pm
C4/Suggestions.pm
C4/Templates.pm
C4/VirtualShelves.pm
INSTALL.fedora7
acqui/addorder.pl
acqui/basket.pl
acqui/basketheader.pl
acqui/booksellers.pl
acqui/finishreceive.pl
acqui/histsearch.pl
acqui/lateorders.pl
acqui/neworderempty.pl
acqui/newordersuggestion.pl
acqui/orderreceive.pl
acqui/parcel.pl
acqui/parcels.pl
acqui/supplier.pl
acqui/updatesupplier.pl
admin/aqbudgetperiods.pl
admin/aqcontract.pl
admin/branch_transfer_limits.pl
catalogue/export.pl
cataloguing/additem.pl
cataloguing/value_builder/callnumber-KU.pl [new file with mode: 0755]
circ/pendingreserves.pl
circ/view_holdsqueue.pl
circ/waitingreserves.pl
debian/control
debian/control.in
debian/rules
debian/templates/SIPconfig.xml [new file with mode: 0644]
etc/koha-conf.xml
etc/zebradb/marc_defs/marc21/biblios/record.abs
etc/zebradb/marc_defs/normarc/biblios/record.abs
install_misc/debian.packages
install_misc/install_koha_on_fresh_debian
install_misc/ubuntu.packages
install_misc/ubuntu_maverick.packages
installer/data/Pg/en/marcflavour/marc21/mandatory/marc21_framework_DEFAULT.sql
installer/data/Pg/en/marcflavour/marc21/optional/marc21_simple_bib_frameworks.sql
installer/data/mysql/de-DE/marcflavour/marc21/mandatory/marc21_framework_DEFAULT.sql
installer/data/mysql/de-DE/marcflavour/marc21/optional/marc21_fastadd_framework.sql
installer/data/mysql/de-DE/marcflavour/marc21/optional/marc21_simple_bib_frameworks.sql
installer/data/mysql/en/marcflavour/marc21/mandatory/marc21_framework_DEFAULT.sql
installer/data/mysql/en/marcflavour/marc21/optional/marc21_fastadd_framework.sql
installer/data/mysql/en/marcflavour/marc21/optional/marc21_simple_bib_frameworks.sql
installer/data/mysql/en/marcflavour/unimarc/mandatory/unimarc_framework_DEFAULT.sql
installer/data/mysql/en/optional/marc21_relatorterms.sql [new file with mode: 0644]
installer/data/mysql/en/optional/marc21_relatorterms.txt [new file with mode: 0644]
installer/data/mysql/es-ES/marcflavour/marc21/mandatory/marc21_framework_DEFAULT.sql
installer/data/mysql/es-ES/marcflavour/marc21/optional/marc21_fastadd_framework.sql
installer/data/mysql/es-ES/marcflavour/marc21/optional/marc21_simple_bib_frameworks.sql
installer/data/mysql/es-ES/marcflavour/unimarc/mandatory/unimarc_framework_DEFAULT.sql
installer/data/mysql/es-ES/optional/marc21_relatorterms.sql [new file with mode: 0644]
installer/data/mysql/es-ES/optional/marc21_relatorterms.txt [new file with mode: 0644]
installer/data/mysql/fr-FR/marcflavour/marc21/Obligatoire/marc21_framework_DEFAULT.sql
installer/data/mysql/fr-FR/marcflavour/marc21/Optionnel/marc21_relatorterms.sql [new file with mode: 0644]
installer/data/mysql/fr-FR/marcflavour/marc21/Optionnel/marc21_relatorterms.txt [new file with mode: 0644]
installer/data/mysql/fr-FR/marcflavour/marc21/Optionnel/marc21_simple_bib_frameworks.sql
installer/data/mysql/fr-FR/marcflavour/unimarc_lecture_pub/Obligatoire/framework_DEFAULT.sql
installer/data/mysql/it-IT/marcflavour/marc21/mandatory/marc21_framework_DEFAULT.sql
installer/data/mysql/it-IT/marcflavour/marc21/optional/marc21_fastadd_framework.sql
installer/data/mysql/it-IT/marcflavour/marc21/optional/marc21_simple_bib_frameworks.sql
installer/data/mysql/it-IT/marcflavour/unimarc/necessari/unimarc_framework.sql
installer/data/mysql/kohastructure.sql
installer/data/mysql/nb-NO/marcflavour/marc21/mandatory/marc21_framework_DEFAULT.sql
installer/data/mysql/nb-NO/marcflavour/marc21/optional/marc21_fastadd_framework.sql
installer/data/mysql/nb-NO/marcflavour/marc21/optional/marc21_simple_bib_frameworks.sql
installer/data/mysql/nb-NO/marcflavour/normarc/Obligatorisk/normarc.sql
installer/data/mysql/nb-NO/marcflavour/normarc/Valgfritt/normarc_fastadd_framework.sql
installer/data/mysql/pl-PL/marcflavour/marc21/mandatory/marc21_framework_DEFAULT.sql
installer/data/mysql/pl-PL/marcflavour/marc21/optional/marc21_fastadd_framework.sql
installer/data/mysql/pl-PL/marcflavour/marc21/optional/marc21_simple_bib_frameworks.sql
installer/data/mysql/pl-PL/marcflavour/unimarc/mandatory/unimarc_framework_DEFAULT.sql
installer/data/mysql/ru-RU/marcflavour/unimarc/mandatory/unimarc_bibliographic_[DEFAULT].sql
installer/data/mysql/sysprefs.sql
installer/data/mysql/uk-UA/marcflavour/unimarc/mandatory/unimarc_bibliographic_[DEFAULT].sql
installer/data/mysql/uk-UA/marcflavour/unimarc/optional/unimarc_bibliographic_[AUD].sql
installer/data/mysql/uk-UA/marcflavour/unimarc/optional/unimarc_bibliographic_[BOOK].sql
installer/data/mysql/uk-UA/marcflavour/unimarc/optional/unimarc_bibliographic_[EL].sql
installer/data/mysql/uk-UA/marcflavour/unimarc/optional/unimarc_bibliographic_[NOTE].sql
installer/data/mysql/uk-UA/marcflavour/unimarc/optional/unimarc_bibliographic_[PER].sql
installer/data/mysql/uk-UA/marcflavour/unimarc/optional/unimarc_bibliographic_[TECH].sql
installer/data/mysql/updatedatabase.pl
koha-tmpl/intranet-tmpl/prog/en/css/login.css
koha-tmpl/intranet-tmpl/prog/en/css/staff-global.css
koha-tmpl/intranet-tmpl/prog/en/includes/acquisitions-toolbar.inc
koha-tmpl/intranet-tmpl/prog/en/includes/budgets-admin-toolbar.inc
koha-tmpl/intranet-tmpl/prog/en/includes/cat-toolbar.inc
koha-tmpl/intranet-tmpl/prog/en/includes/circ-menu.inc
koha-tmpl/intranet-tmpl/prog/en/includes/header.inc
koha-tmpl/intranet-tmpl/prog/en/includes/suggestions-add-search.inc
koha-tmpl/intranet-tmpl/prog/en/includes/table-pager.inc
koha-tmpl/intranet-tmpl/prog/en/js/basket.js
koha-tmpl/intranet-tmpl/prog/en/js/members.js
koha-tmpl/intranet-tmpl/prog/en/js/staff-global.js
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/addorderiso2709.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basketgroup.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basketheader.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/booksellers.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/histsearch.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/lateorders.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderbiblio.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/newordersuggestion.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/ordered.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/orderreceive.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcel.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/parcels.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/spent.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/supplier.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/uncertainprice.tt
koha-tmpl/intranet-tmpl/prog/en/modules/acqui/z3950_search.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqbudgetperiods.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqbudgets.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/aqcontract.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/branch_transfer_limits.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/circulation.pref
koha-tmpl/intranet-tmpl/prog/en/modules/admin/preferences/opac.pref
koha-tmpl/intranet-tmpl/prog/en/modules/admin/systempreferences.tt
koha-tmpl/intranet-tmpl/prog/en/modules/authorities/searchresultlist-auth.tt
koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/detail.tt
koha-tmpl/intranet-tmpl/prog/en/modules/catalogue/moredetail.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt
koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/z3950_search.tt
koha-tmpl/intranet-tmpl/prog/en/modules/circ/pendingreserves.tt
koha-tmpl/intranet-tmpl/prog/en/modules/circ/view_holdsqueue.tt
koha-tmpl/intranet-tmpl/prog/en/modules/circ/waitingreserves.tt
koha-tmpl/intranet-tmpl/prog/en/modules/help/acqui/lateorders.tt
koha-tmpl/intranet-tmpl/prog/en/modules/help/acqui/supplier.tt
koha-tmpl/intranet-tmpl/prog/en/modules/help/admin/branches.tt
koha-tmpl/intranet-tmpl/prog/en/modules/help/members/boraccount.tt
koha-tmpl/intranet-tmpl/prog/en/modules/labels/label-edit-batch.tt
koha-tmpl/intranet-tmpl/prog/en/modules/labels/label-edit-layout.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/mancredit.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/maninvoice.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/member-password.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/member.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/pay.tt
koha-tmpl/intranet-tmpl/prog/en/modules/members/paycollect.tt
koha-tmpl/intranet-tmpl/prog/en/modules/patroncards/edit-layout.tt
koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt
koha-tmpl/intranet-tmpl/prog/en/modules/reserve/request.tt
koha-tmpl/intranet-tmpl/prog/en/modules/rotating_collections/editCollections.tt
koha-tmpl/intranet-tmpl/prog/en/modules/serials/result.tt
koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-collection.tt
koha-tmpl/intranet-tmpl/prog/en/modules/serials/serials-home.tt
koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl
koha-tmpl/opac-tmpl/prog/en/includes/masthead.inc
koha-tmpl/opac-tmpl/prog/en/includes/opac-detail-sidebar.inc [new file with mode: 0644]
koha-tmpl/opac-tmpl/prog/en/includes/page-numbers.inc
koha-tmpl/opac-tmpl/prog/en/js/basket.js
koha-tmpl/opac-tmpl/prog/en/js/localcovers.js
koha-tmpl/opac-tmpl/prog/en/js/script.js
koha-tmpl/opac-tmpl/prog/en/modules/ilsdi.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-ISBDdetail.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-MARCdetail.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-account.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-authoritiessearchresultlist.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-downloadshelf.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-full-serial-issues.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-messaging.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-passwd.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-privacy.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-readingrecord.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-reserve.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-results.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-search-history.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-sendshelfform.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-shelves.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-user.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-userdetails.tt
koha-tmpl/opac-tmpl/prog/en/modules/opac-userupdate.tt
koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl
koha-tmpl/opac-tmpl/prog/en/xslt/NORMARCslim2OPACDetail.xsl
koha-tmpl/opac-tmpl/prog/en/xslt/NORMARCslim2OPACResults.xsl
kohaversion.pl
mainpage.pl
members/member-password.pl
members/memberentry.pl
members/pay.pl
misc/migration_tools/rebuild_zebra.pl
misc/translator/xgettext.pl
opac/opac-ISBDdetail.pl
opac/opac-MARCdetail.pl
opac/opac-changelanguage.pl
opac/opac-detail.pl
opac/opac-export.pl
opac/opac-ics.pl
opac/opac-main.pl
opac/opac-renew.pl
opac/opac-user.pl
opac/sco/sco-main.pl
serials/serials-collection.pl
serials/serials-edit.pl
serials/subscription-bib-search.pl
serials/subscription-detail.pl
t/Koha_template_plugin_KohaDates.t [deleted file]
t/db_dependent/Circulation.t [new file with mode: 0755]
t/db_dependent/Koha_template_plugin_KohaDates.t [new file with mode: 0644]
t/db_dependent/SIP_ILS.t
t/db_dependent/Suggestions.t
t/db_dependent/lib/KohaTest/Biblio.pm
t/db_dependent/lib/KohaTest/Items.pm
tools/batchMod.pl
tools/export.pl
tools/import_borrowers.pl

index e822b6a..c3d121d 100644 (file)
@@ -201,10 +201,10 @@ sub makepayment {
         my $ins = 
             $dbh->prepare( 
                 "INSERT 
-                    INTO accountlines (borrowernumber, accountno, date, amount, description, accounttype, amountoutstanding)
-                    VALUES ( ?, ?, now(), ?, 'Payment,thanks', 'Pay', 0)"
+                    INTO accountlines (borrowernumber, accountno, date, amount, itemnumber, description, accounttype, amountoutstanding, manager_id)
+                    VALUES ( ?, ?, now(), ?, ?, 'Payment,thanks', 'Pay', 0, ?)"
             );
-        $ins->execute($borrowernumber, $nextaccntno, $payment);
+        $ins->execute($borrowernumber, $nextaccntno, $payment, $data->{'itemnumber'}, $manager_id);
         $ins->finish;
     }
 
@@ -725,6 +725,8 @@ sub recordpayment_selectaccts {
 # fills in
 sub makepartialpayment {
     my ( $borrowernumber, $accountno, $amount, $user, $branch ) = @_;
+    my $manager_id = 0;
+    $manager_id = C4::Context->userenv->{'number'} if C4::Context->userenv;
     if (!$amount || $amount < 0) {
         return;
     }
@@ -743,11 +745,11 @@ sub makepartialpayment {
 
     # create new line
     my $insert = 'INSERT INTO accountlines (borrowernumber, accountno, date, amount, '
-    .  'description, accounttype, amountoutstanding) '
-    . ' VALUES (?, ?, now(), ?, ?, ?, 0)';
+    .  'description, accounttype, amountoutstanding, itemnumber, manager_id) '
+    . ' VALUES (?, ?, now(), ?, ?, ?, 0, ?, ?)';
 
     $dbh->do(  $insert, undef, $borrowernumber, $nextaccntno, $amount,
-        "Payment, thanks - $user", 'Pay');
+        "Payment, thanks - $user", 'Pay', $data->{'itemnumber'}, $manager_id);
 
     UpdateStats( $user, 'payment', $amount, '', '', '', $borrowernumber, $accountno );
 
index e4bd119..ccb2c15 100644 (file)
@@ -27,15 +27,13 @@ use CGI::Session;
 require Exporter;
 use C4::Context;
 use C4::Templates;    # to get the template
-use C4::Members;
-use C4::Koha;
 use C4::Branch; # GetBranches
 use C4::VirtualShelves;
 use POSIX qw/strftime/;
 use List::MoreUtils qw/ any /;
 
 # use utf8;
-use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $debug $ldap $cas $caslogout $servers $memcached);
+use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $debug $ldap $cas $caslogout);
 
 BEGIN {
     sub psgi_env { any { /^psgi\./ } keys %ENV }
@@ -61,16 +59,7 @@ BEGIN {
     if ($cas) {
         import  C4::Auth_with_cas qw(check_api_auth_cas checkpw_cas login_cas logout_cas login_cas_url);
     }
-    $servers = C4::Context->config('memcached_servers');
-    if ($servers) {
-       require Cache::Memcached;
-        $memcached = Cache::Memcached->new({
-                                              servers => [ $servers ],
-                                              debug   => 0,
-                                              compress_threshold => 10_000,
-                                              namespace => C4::Context->config('memcached_namespace') || 'koha',
-                                          });
-    }
+
 }
 
 =head1 NAME
@@ -188,8 +177,8 @@ sub get_template_and_user {
         }
 
         $borrowernumber = getborrowernumber($user) if defined($user);
-
-        my ( $borr ) = GetMemberDetails( $borrowernumber );
+        require C4::Members;
+        my ( $borr ) = C4::Members::GetMemberDetails( $borrowernumber );
         my @bordat;
         $bordat[0] = $borr;
         $template->param( "USER_INFO" => \@bordat );
@@ -1426,8 +1415,8 @@ sub get_session {
     elsif ($storage_method eq 'Pg') {
         $session = new CGI::Session("driver:PostgreSQL;serializer:yaml;id:md5", $sessionID, {Handle=>$dbh});
     }
-    elsif ($storage_method eq 'memcached' && $servers){
-       $session = new CGI::Session("driver:memcached;serializer:yaml;id:md5", $sessionID, { Memcached => $memcached } );
+    elsif ($storage_method eq 'memcached' && C4::Context->ismemcached){
+       $session = new CGI::Session("driver:memcached;serializer:yaml;id:md5", $sessionID, { Memcached => C4::Context->memcached } );
     }
     else {
         # catch all defaults to tmp should work on all systems
index 98e4f5b..f2ebca7 100644 (file)
@@ -27,7 +27,6 @@ use Carp;
 use MARC::Record;
 use MARC::File::USMARC;
 use MARC::File::XML;
-use ZOOM;
 use POSIX qw(strftime);
 
 use C4::Koha;
@@ -35,9 +34,6 @@ use C4::Dates qw/format_date/;
 use C4::Log;    # logaction
 use C4::ClassSource;
 use C4::Charset;
-require C4::Heading;
-require C4::Serials;
-require C4::Items;
 
 use vars qw($VERSION @ISA @EXPORT);
 
@@ -131,22 +127,17 @@ BEGIN {
       &TransformHtmlToMarc2
       &TransformHtmlToMarc
       &TransformHtmlToXml
-      &PrepareItemrecordDisplay
       &GetNoZebraIndexes
     );
 }
 
 eval {
-    my $servers = C4::Context->config('memcached_servers');
-    if ($servers) {
+    if (C4::Context->ismemcached) {
         require Memoize::Memcached;
         import Memoize::Memcached qw(memoize_memcached);
 
-        my $memcached = {
-            servers    => [$servers],
-            key_prefix => C4::Context->config('memcached_namespace') || 'koha',
-        };
-        memoize_memcached( 'GetMarcStructure', memcached => $memcached, expire_time => 600 );    #cache for 10 minutes
+        memoize_memcached( 'GetMarcStructure',
+                            memcached => C4::Context->memcached);
     }
 };
 
@@ -417,9 +408,10 @@ sub DelBiblio {
     return $error if $error;
 
     # We delete attached subscriptions
-    my $subscriptions = &C4::Serials::GetFullSubscriptionsFromBiblionumber($biblionumber);
+    require C4::Serials;
+    my $subscriptions = C4::Serials::GetFullSubscriptionsFromBiblionumber($biblionumber);
     foreach my $subscription (@$subscriptions) {
-        &C4::Serials::DelSubscription( $subscription->{subscriptionid} );
+        C4::Serials::DelSubscription( $subscription->{subscriptionid} );
     }
 
     # Delete in Zebra. Be careful NOT to move this line after _koha_delete_biblio
@@ -477,6 +469,7 @@ MARC record.
 =cut
 
 sub LinkBibHeadingsToAuthorities {
+    require C4::Heading;
     my $bib = shift;
 
     my $num_headings_changed = 0;
@@ -2141,6 +2134,7 @@ sub TransformHtmlToMarc {
     my $record = MARC::Record->new();
     my $i      = 0;
     my @fields;
+#FIXME This code assumes that the CGI params will be in the same order as the fields in the template; this is no absolute guarantee!
     while ( $params[$i] ) {    # browse all CGI params
         my $param    = $params[$i];
         my $newfield = 0;
@@ -2180,19 +2174,23 @@ sub TransformHtmlToMarc {
 
                 # > 009, deal with subfields
             } else {
-                while ( defined $params[$j] && $params[$j] =~ /_code_/ ) {    # browse all it's subfield
-                    my $inner_param = $params[$j];
-                    if ($newfield) {
-                        if ( $cgi->param( $params[ $j + 1 ] ) ne '' ) {         # only if there is a value (code => value)
-                            $newfield->add_subfields( $cgi->param($inner_param) => $cgi->param( $params[ $j + 1 ] ) );
-                        }
-                    } else {
-                        if ( $cgi->param( $params[ $j + 1 ] ) ne '' ) {         # creating only if there is a value (code => value)
-                            $newfield = MARC::Field->new( $tag, $ind1, $ind2, $cgi->param($inner_param) => $cgi->param( $params[ $j + 1 ] ), );
-                        }
+                # browse subfields for this tag (reason for _code_ match)
+                while(defined $params[$j] && $params[$j] =~ /_code_/) {
+                    last unless defined $params[$j+1];
+                    #if next param ne subfield, then it was probably empty
+                    #try next param by incrementing j
+                    if($params[$j+1]!~/_subfield_/) {$j++; next; }
+                    my $fval= $cgi->param($params[$j+1]);
+                    #check if subfield value not empty and field exists
+                    if($fval ne '' && $newfield) {
+                        $newfield->add_subfields( $cgi->param($params[$j]) => $fval);
+                    }
+                    elsif($fval ne '') {
+                        $newfield = MARC::Field->new( $tag, $ind1, $ind2, $cgi->param($params[$j]) => $fval );
                     }
                     $j += 2;
-                }
+                } #end-of-while
+                $i= $j-1; #update i for outer loop accordingly
             }
             push @fields, $newfield if ($newfield);
         }
@@ -2444,232 +2442,6 @@ sub TransformMarcToKohaOneField {
     return $result;
 }
 
-=head1  OTHER FUNCTIONS
-
-
-=head2 PrepareItemrecordDisplay
-
-  PrepareItemrecordDisplay($itemrecord,$bibnum,$itemumber,$frameworkcode);
-
-Returns a hash with all the fields for Display a given item data in a template
-
-The $frameworkcode returns the item for the given frameworkcode, ONLY if bibnum is not provided
-
-=cut
-
-sub PrepareItemrecordDisplay {
-
-    my ( $bibnum, $itemnum, $defaultvalues, $frameworkcode ) = @_;
-
-    my $dbh = C4::Context->dbh;
-    $frameworkcode = &GetFrameworkCode($bibnum) if $bibnum;
-    my ( $itemtagfield, $itemtagsubfield ) = &GetMarcFromKohaField( "items.itemnumber", $frameworkcode );
-    my $tagslib = &GetMarcStructure( 1, $frameworkcode );
-
-    # return nothing if we don't have found an existing framework.
-    return q{} unless $tagslib;
-    my $itemrecord;
-    if ($itemnum) {
-        $itemrecord = C4::Items::GetMarcItem( $bibnum, $itemnum );
-    }
-    my @loop_data;
-    my $authorised_values_sth = $dbh->prepare( "SELECT authorised_value,lib FROM authorised_values WHERE category=? ORDER BY lib" );
-    foreach my $tag ( sort keys %{$tagslib} ) {
-        my $previous_tag = '';
-        if ( $tag ne '' ) {
-
-            # loop through each subfield
-            my $cntsubf;
-            foreach my $subfield ( sort keys %{ $tagslib->{$tag} } ) {
-                next if ( subfield_is_koha_internal_p($subfield) );
-                next if ( $tagslib->{$tag}->{$subfield}->{'tab'} ne "10" );
-                my %subfield_data;
-                $subfield_data{tag}           = $tag;
-                $subfield_data{subfield}      = $subfield;
-                $subfield_data{countsubfield} = $cntsubf++;
-                $subfield_data{kohafield}     = $tagslib->{$tag}->{$subfield}->{'kohafield'};
-
-                #        $subfield_data{marc_lib}=$tagslib->{$tag}->{$subfield}->{lib};
-                $subfield_data{marc_lib}   = $tagslib->{$tag}->{$subfield}->{lib};
-                $subfield_data{mandatory}  = $tagslib->{$tag}->{$subfield}->{mandatory};
-                $subfield_data{repeatable} = $tagslib->{$tag}->{$subfield}->{repeatable};
-                $subfield_data{hidden}     = "display:none"
-                  if $tagslib->{$tag}->{$subfield}->{hidden};
-                my ( $x, $defaultvalue );
-                if ($itemrecord) {
-                    ( $x, $defaultvalue ) = _find_value( $tag, $subfield, $itemrecord );
-                }
-                $defaultvalue = $tagslib->{$tag}->{$subfield}->{defaultvalue} unless $defaultvalue;
-                if ( !defined $defaultvalue ) {
-                    $defaultvalue = q||;
-                }
-                $defaultvalue =~ s/"/&quot;/g;
-
-                # search for itemcallnumber if applicable
-                if ( $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.itemcallnumber'
-                    && C4::Context->preference('itemcallnumber') ) {
-                    my $CNtag      = substr( C4::Context->preference('itemcallnumber'), 0, 3 );
-                    my $CNsubfield = substr( C4::Context->preference('itemcallnumber'), 3, 1 );
-                    if ($itemrecord) {
-                        my $temp = $itemrecord->field($CNtag);
-                        if ($temp) {
-                            $defaultvalue = $temp->subfield($CNsubfield);
-                        }
-                    }
-                }
-                if (   $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.itemcallnumber'
-                    && $defaultvalues
-                    && $defaultvalues->{'callnumber'} ) {
-                    my $temp;
-                    if ($itemrecord) {
-                        $temp = $itemrecord->field($subfield);
-                    }
-                    unless ($temp) {
-                        $defaultvalue = $defaultvalues->{'callnumber'} if $defaultvalues;
-                    }
-                }
-                if (   ( $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.holdingbranch' || $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.homebranch' )
-                    && $defaultvalues
-                    && $defaultvalues->{'branchcode'} ) {
-                    my $temp;
-                    if ($itemrecord) {
-                        $temp = $itemrecord->field($subfield);
-                    }
-                    unless ($temp) {
-                        $defaultvalue = $defaultvalues->{branchcode} if $defaultvalues;
-                    }
-                }
-                if (   ( $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.location' )
-                    && $defaultvalues
-                    && $defaultvalues->{'location'} ) {
-                    my $temp = $itemrecord->field($subfield) if ($itemrecord);
-                    unless ($temp) {
-                        $defaultvalue = $defaultvalues->{location} if $defaultvalues;
-                    }
-                }
-                if ( $tagslib->{$tag}->{$subfield}->{authorised_value} ) {
-                    my @authorised_values;
-                    my %authorised_lib;
-
-                    # builds list, depending on authorised value...
-                    #---- branch
-                    if ( $tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" ) {
-                        if (   ( C4::Context->preference("IndependantBranches") )
-                            && ( C4::Context->userenv->{flags} % 2 != 1 ) ) {
-                            my $sth = $dbh->prepare( "SELECT branchcode,branchname FROM branches WHERE branchcode = ? ORDER BY branchname" );
-                            $sth->execute( C4::Context->userenv->{branch} );
-                            push @authorised_values, ""
-                              unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
-                            while ( my ( $branchcode, $branchname ) = $sth->fetchrow_array ) {
-                                push @authorised_values, $branchcode;
-                                $authorised_lib{$branchcode} = $branchname;
-                            }
-                        } else {
-                            my $sth = $dbh->prepare( "SELECT branchcode,branchname FROM branches ORDER BY branchname" );
-                            $sth->execute;
-                            push @authorised_values, ""
-                              unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
-                            while ( my ( $branchcode, $branchname ) = $sth->fetchrow_array ) {
-                                push @authorised_values, $branchcode;
-                                $authorised_lib{$branchcode} = $branchname;
-                            }
-                        }
-
-                        #----- itemtypes
-                    } elsif ( $tagslib->{$tag}->{$subfield}->{authorised_value} eq "itemtypes" ) {
-                        my $sth = $dbh->prepare( "SELECT itemtype,description FROM itemtypes ORDER BY description" );
-                        $sth->execute;
-                        push @authorised_values, ""
-                          unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
-                        while ( my ( $itemtype, $description ) = $sth->fetchrow_array ) {
-                            push @authorised_values, $itemtype;
-                            $authorised_lib{$itemtype} = $description;
-                        }
-                        #---- class_sources
-                    } elsif ( $tagslib->{$tag}->{$subfield}->{authorised_value} eq "cn_source" ) {
-                        push @authorised_values, "" unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
-
-                        my $class_sources = GetClassSources();
-                        my $default_source = C4::Context->preference("DefaultClassificationSource");
-
-                        foreach my $class_source (sort keys %$class_sources) {
-                            next unless $class_sources->{$class_source}->{'used'} or
-                                        ($class_source eq $default_source);
-                            push @authorised_values, $class_source;
-                            $authorised_lib{$class_source} = $class_sources->{$class_source}->{'description'};
-                        }
-
-                        #---- "true" authorised value
-                    } else {
-                        $authorised_values_sth->execute( $tagslib->{$tag}->{$subfield}->{authorised_value} );
-                        push @authorised_values, ""
-                          unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
-                        while ( my ( $value, $lib ) = $authorised_values_sth->fetchrow_array ) {
-                            push @authorised_values, $value;
-                            $authorised_lib{$value} = $lib;
-                        }
-                    }
-                    $subfield_data{marc_value} = CGI::scrolling_list(
-                        -name     => 'field_value',
-                        -values   => \@authorised_values,
-                        -default  => "$defaultvalue",
-                        -labels   => \%authorised_lib,
-                        -size     => 1,
-                        -tabindex => '',
-                        -multiple => 0,
-                    );
-                } elsif ( $tagslib->{$tag}->{$subfield}->{value_builder} ) {
-                        # opening plugin
-                        my $plugin = C4::Context->intranetdir . "/cataloguing/value_builder/" . $tagslib->{$tag}->{$subfield}->{'value_builder'};
-                        if (do $plugin) {
-                            my $temp;
-                            my $extended_param = plugin_parameters( $dbh, $temp, $tagslib, $subfield_data{id}, undef );
-                            my ( $function_name, $javascript ) = plugin_javascript( $dbh, $temp, $tagslib, $subfield_data{id}, undef );
-                            $subfield_data{random}     = int(rand(1000000));    # why do we need 2 different randoms?
-                            my $index_subfield = int(rand(1000000));
-                            $subfield_data{id} = "tag_".$tag."_subfield_".$subfield."_".$index_subfield;
-                            $subfield_data{marc_value} = qq[<input tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255"
-                                onfocus="Focus$function_name($subfield_data{random}, '$subfield_data{id}');"
-                                 onblur=" Blur$function_name($subfield_data{random}, '$subfield_data{id}');" />
-                                <a href="#" class="buttonDot" onclick="Clic$function_name('$subfield_data{id}'); return false;" title="Tag Editor">...</a>
-                                $javascript];
-                        } else {
-                            warn "Plugin Failed: $plugin";
-                            $subfield_data{marc_value} = qq(<input tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255" />); # supply default input form
-                        }
-                }
-                elsif ( $tag eq '' ) {       # it's an hidden field
-                    $subfield_data{marc_value} = qq(<input type="hidden" tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255" value="$defaultvalue" />);
-                }
-                elsif ( $tagslib->{$tag}->{$subfield}->{'hidden'} ) {   # FIXME: shouldn't input type be "hidden" ?
-                    $subfield_data{marc_value} = qq(<input type="text" tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255" value="$defaultvalue" />);
-                }
-                elsif ( length($defaultvalue) > 100
-                            or (C4::Context->preference("marcflavour") eq "UNIMARC" and
-                                  300 <= $tag && $tag < 400 && $subfield eq 'a' )
-                            or (C4::Context->preference("marcflavour") eq "MARC21"  and
-                                  500 <= $tag && $tag < 600                     )
-                          ) {
-                    # oversize field (textarea)
-                    $subfield_data{marc_value} = qq(<textarea tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255">$defaultvalue</textarea>\n");
-                } else {
-                    $subfield_data{marc_value} = "<input type=\"text\" name=\"field_value\" value=\"$defaultvalue\" size=\"50\" maxlength=\"255\" />";
-                }
-                push( @loop_data, \%subfield_data );
-            }
-        }
-    }
-    my $itemnumber;
-    if ( $itemrecord && $itemrecord->field($itemtagfield) ) {
-        $itemnumber = $itemrecord->subfield( $itemtagfield, $itemtagsubfield );
-    }
-    return {
-        'itemtagfield'    => $itemtagfield,
-        'itemtagsubfield' => $itemtagsubfield,
-        'itemnumber'      => $itemnumber,
-        'iteminformation' => \@loop_data
-    };
-}
 
 #"
 
@@ -2833,6 +2605,7 @@ sub EmbedItemsInMarcBiblio {
     my @item_fields;
     my ( $itemtag, $itemsubfield ) = GetMarcFromKohaField( "items.itemnumber", $frameworkcode );
     while (my ($itemnumber) = $sth->fetchrow_array) {
+        require C4::Items;
         my $item_marc = C4::Items::GetMarcItem($biblionumber, $itemnumber);
         push @item_fields, $item_marc->field($itemtag);
     }
@@ -3103,45 +2876,6 @@ sub _AddBiblioNoZebra {
     return %result;
 }
 
-=head2 _find_value
-
-  ($indicators, $value) = _find_value($tag, $subfield, $record,$encoding);
-
-Find the given $subfield in the given $tag in the given
-MARC::Record $record.  If the subfield is found, returns
-the (indicators, value) pair; otherwise, (undef, undef) is
-returned.
-
-PROPOSITION :
-Such a function is used in addbiblio AND additem and serial-edit and maybe could be used in Authorities.
-I suggest we export it from this module.
-
-=cut
-
-sub _find_value {
-    my ( $tagfield, $insubfield, $record, $encoding ) = @_;
-    my @result;
-    my $indicator;
-    if ( $tagfield < 10 ) {
-        if ( $record->field($tagfield) ) {
-            push @result, $record->field($tagfield)->data();
-        } else {
-            push @result, "";
-        }
-    } else {
-        foreach my $field ( $record->field($tagfield) ) {
-            my @subfields = $field->subfields();
-            foreach my $subfield (@subfields) {
-                if ( @$subfield[0] eq $insubfield ) {
-                    push @result, @$subfield[1];
-                    $indicator = $field->indicator(1) . $field->indicator(2);
-                }
-            }
-        }
-    }
-    return ( $indicator, @result );
-}
-
 =head2 _koha_marc_update_bib_ids
 
 
@@ -3626,112 +3360,6 @@ sub ModBiblioMarc {
     return $biblionumber;
 }
 
-=head2 z3950_extended_services
-
-  z3950_extended_services($serviceType,$serviceOptions,$record);
-
-z3950_extended_services is used to handle all interactions with Zebra's extended serices package, which is employed to perform all management of the MARC data stored in Zebra.
-
-C<$serviceType> one of: itemorder,create,drop,commit,update,xmlupdate
-
-C<$serviceOptions> a has of key/value pairs. For instance, if service_type is 'update', $service_options should contain:
-
- action => update action, one of specialUpdate, recordInsert, recordReplace, recordDelete, elementUpdate.
-
-and maybe
-
-  recordidOpaque => Opaque Record ID (user supplied) or recordidNumber => Record ID number (system number).
-  syntax => the record syntax (transfer syntax)
-  databaseName = Database from connection object
-
-To set serviceOptions, call set_service_options($serviceType)
-
-C<$record> the record, if one is needed for the service type
-
-A record should be in XML. You can convert it to XML from MARC by running it through marc2xml().
-
-=cut
-
-sub z3950_extended_services {
-    my ( $server, $serviceType, $action, $serviceOptions ) = @_;
-
-    # get our connection object
-    my $Zconn = C4::Context->Zconn( $server, 0, 1 );
-
-    # create a new package object
-    my $Zpackage = $Zconn->package();
-
-    # set our options
-    $Zpackage->option( action => $action );
-
-    if ( $serviceOptions->{'databaseName'} ) {
-        $Zpackage->option( databaseName => $serviceOptions->{'databaseName'} );
-    }
-    if ( $serviceOptions->{'recordIdNumber'} ) {
-        $Zpackage->option( recordIdNumber => $serviceOptions->{'recordIdNumber'} );
-    }
-    if ( $serviceOptions->{'recordIdOpaque'} ) {
-        $Zpackage->option( recordIdOpaque => $serviceOptions->{'recordIdOpaque'} );
-    }
-
-    # this is an ILL request (Zebra doesn't support it, but Koha could eventually)
-    #if ($serviceType eq 'itemorder') {
-    #   $Zpackage->option('contact-name' => $serviceOptions->{'contact-name'});
-    #   $Zpackage->option('contact-phone' => $serviceOptions->{'contact-phone'});
-    #   $Zpackage->option('contact-email' => $serviceOptions->{'contact-email'});
-    #   $Zpackage->option('itemorder-item' => $serviceOptions->{'itemorder-item'});
-    #}
-
-    if ( $serviceOptions->{record} ) {
-        $Zpackage->option( record => $serviceOptions->{record} );
-
-        # can be xml or marc
-        if ( $serviceOptions->{'syntax'} ) {
-            $Zpackage->option( syntax => $serviceOptions->{'syntax'} );
-        }
-    }
-
-    # send the request, handle any exception encountered
-    eval { $Zpackage->send($serviceType) };
-    if ( $@ && $@->isa("ZOOM::Exception") ) {
-        return "error:  " . $@->code() . " " . $@->message() . "\n";
-    }
-
-    # free up package resources
-    $Zpackage->destroy();
-}
-
-=head2 set_service_options
-
-  my $serviceOptions = set_service_options($serviceType);
-
-C<$serviceType> itemorder,create,drop,commit,update,xmlupdate
-
-Currently, we only support 'create', 'commit', and 'update'. 'drop' support will be added as soon as Zebra supports it.
-
-=cut
-
-sub set_service_options {
-    my ($serviceType) = @_;
-    my $serviceOptions;
-
-    # FIXME: This needs to be an OID ... if we ever need 'syntax' this sub will need to change
-    #   $serviceOptions->{ 'syntax' } = ''; #zebra doesn't support syntaxes other than xml
-
-    if ( $serviceType eq 'commit' ) {
-
-        # nothing to do
-    }
-    if ( $serviceType eq 'create' ) {
-
-        # nothing to do
-    }
-    if ( $serviceType eq 'drop' ) {
-        die "ERROR: 'drop' not currently supported (by Zebra)";
-    }
-    return $serviceOptions;
-}
-
 =head2 get_biblio_authorised_values
 
 find the types and values for all authorised values assigned to this biblio.
index 2bf5d51..93c6fac 100644 (file)
@@ -571,7 +571,7 @@ sub itemissues {
 =head2 CanBookBeIssued
 
   ( $issuingimpossible, $needsconfirmation ) =  CanBookBeIssued( $borrower, 
-                                      $barcode, $duedatespec, $inprocess );
+                      $barcode, $duedatespec, $inprocess, $ignore_reserves );
 
 Check if a book can be issued.
 
@@ -585,7 +585,8 @@ C<$issuingimpossible> and C<$needsconfirmation> are some hashref.
 
 =item C<$duedatespec> is a C4::Dates object.
 
-=item C<$inprocess>
+=item C<$inprocess> boolean switch
+=item C<$ignore_reserves> boolean switch
 
 =back
 
@@ -662,7 +663,7 @@ if the borrower borrows to much things
 =cut
 
 sub CanBookBeIssued {
-    my ( $borrower, $barcode, $duedate, $inprocess ) = @_;
+    my ( $borrower, $barcode, $duedate, $inprocess, $ignore_reserves ) = @_;
     my %needsconfirmation;    # filled with problems that needs confirmations
     my %issuingimpossible;    # filled with problems that causes the issue to be IMPOSSIBLE
     my $item = GetItem(GetItemnumberFromBarcode( $barcode ));
@@ -869,37 +870,40 @@ sub CanBookBeIssued {
         $needsconfirmation{issued_borrowernumber} = $currborinfo->{'borrowernumber'};
     }
 
-    # See if the item is on reserve.
-    my ( $restype, $res, undef ) = C4::Reserves::CheckReserves( $item->{'itemnumber'} );
-    if ($restype) {
-               my $resbor = $res->{'borrowernumber'};
-               my ( $resborrower ) = C4::Members::GetMember( borrowernumber => $resbor );
-               my $branches  = GetBranches();
-               my $branchname = $branches->{ $res->{'branchcode'} }->{'branchname'};
-        if ( $resbor ne $borrower->{'borrowernumber'} && $restype eq "Waiting" )
-        {
-            # The item is on reserve and waiting, but has been
-            # reserved by some other patron.
-            $needsconfirmation{RESERVE_WAITING} = 1;
-            $needsconfirmation{'resfirstname'} = $resborrower->{'firstname'};
-            $needsconfirmation{'ressurname'} = $resborrower->{'surname'};
-            $needsconfirmation{'rescardnumber'} = $resborrower->{'cardnumber'};
-            $needsconfirmation{'resborrowernumber'} = $resborrower->{'borrowernumber'};
-            $needsconfirmation{'resbranchname'} = $branchname;
-            $needsconfirmation{'reswaitingdate'} = format_date($res->{'waitingdate'});
-        }
-        elsif ( $restype eq "Reserved" ) {
-            # The item is on reserve for someone else.
-            $needsconfirmation{RESERVED} = 1;
-            $needsconfirmation{'resfirstname'} = $resborrower->{'firstname'};
-            $needsconfirmation{'ressurname'} = $resborrower->{'surname'};
-            $needsconfirmation{'rescardnumber'} = $resborrower->{'cardnumber'};
-            $needsconfirmation{'resborrowernumber'} = $resborrower->{'borrowernumber'};
-            $needsconfirmation{'resbranchname'} = $branchname;
-            $needsconfirmation{'resreservedate'} = format_date($res->{'reservedate'});
+    unless ( $ignore_reserves ) {
+        # See if the item is on reserve.
+        my ( $restype, $res ) = C4::Reserves::CheckReserves( $item->{'itemnumber'} );
+        if ($restype) {
+            my $resbor = $res->{'borrowernumber'};
+            if ( $resbor ne $borrower->{'borrowernumber'} ) {
+                my ( $resborrower ) = C4::Members::GetMember( borrowernumber => $resbor );
+                my $branchname = GetBranchName( $res->{'branchcode'} );
+                if ( $restype eq "Waiting" )
+                {
+                    # The item is on reserve and waiting, but has been
+                    # reserved by some other patron.
+                    $needsconfirmation{RESERVE_WAITING} = 1;
+                    $needsconfirmation{'resfirstname'} = $resborrower->{'firstname'};
+                    $needsconfirmation{'ressurname'} = $resborrower->{'surname'};
+                    $needsconfirmation{'rescardnumber'} = $resborrower->{'cardnumber'};
+                    $needsconfirmation{'resborrowernumber'} = $resborrower->{'borrowernumber'};
+                    $needsconfirmation{'resbranchname'} = $branchname;
+                    $needsconfirmation{'reswaitingdate'} = format_date($res->{'waitingdate'});
+                }
+                elsif ( $restype eq "Reserved" ) {
+                    # The item is on reserve for someone else.
+                    $needsconfirmation{RESERVED} = 1;
+                    $needsconfirmation{'resfirstname'} = $resborrower->{'firstname'};
+                    $needsconfirmation{'ressurname'} = $resborrower->{'surname'};
+                    $needsconfirmation{'rescardnumber'} = $resborrower->{'cardnumber'};
+                    $needsconfirmation{'resborrowernumber'} = $resborrower->{'borrowernumber'};
+                    $needsconfirmation{'resbranchname'} = $branchname;
+                    $needsconfirmation{'resreservedate'} = format_date($res->{'reservedate'});
+                }
+            }
         }
     }
-       return ( \%issuingimpossible, \%needsconfirmation );
+    return ( \%issuingimpossible, \%needsconfirmation );
 }
 
 =head2 AddIssue
@@ -1025,6 +1029,12 @@ sub AddIssue {
           CartToShelf( $item->{'itemnumber'} );
         }
         $item->{'issues'}++;
+
+        ## If item was lost, it has now been found, reverse any list item charges if neccessary.
+        if ( $item->{'itemlost'} ) {
+            _FixAccountForLostAndReturned( $item->{'itemnumber'}, undef, $item->{'barcode'} );
+        }
+
         ModItem({ issues           => $item->{'issues'},
                   holdingbranch    => C4::Context->userenv->{'branch'},
                   itemlost         => 0,
@@ -1958,8 +1968,8 @@ sub _GetCircControlBranch {
     my $circcontrol = C4::Context->preference('CircControl');
     my $branch;
 
-    if ($circcontrol eq 'PickupLibrary') {
-        $branch= C4::Context->userenv->{'branch'} if C4::Context->userenv;
+    if ($circcontrol eq 'PickupLibrary' and (C4::Context->userenv and C4::Context->userenv->{'branch'}) ) {
+        $branch= C4::Context->userenv->{'branch'};
     } elsif ($circcontrol eq 'PatronLibrary') {
         $branch=$borrower->{branchcode};
     } else {
@@ -2968,14 +2978,17 @@ sub CreateBranchTransferLimit {
 
 =head2 DeleteBranchTransferLimits
 
-  DeleteBranchTransferLimits();
+DeleteBranchTransferLimits($frombranch);
+
+Deletes all the branch transfer limits for one branch
 
 =cut
 
 sub DeleteBranchTransferLimits {
-   my $dbh = C4::Context->dbh;
-   my $sth = $dbh->prepare("TRUNCATE TABLE branch_transfer_limits");
-   $sth->execute();
+    my $branch = shift;
+    my $dbh    = C4::Context->dbh;
+    my $sth    = $dbh->prepare("DELETE FROM branch_transfer_limits WHERE fromBranch = ?");
+    $sth->execute($branch);
 }
 
 sub ReturnLostItem{
index 770973f..0417c45 100644 (file)
@@ -83,18 +83,19 @@ BEGIN {
     $servers = $ENV{'MEMCACHED_SERVERS'};
     if ($servers) {
         # Load required libraries and create the memcached object
-       require Cache::Memcached;
-       $memcached = Cache::Memcached->new({
-                     servers => [ $servers ],
-                     debug   => 0,
-                     compress_threshold => 10_000,
-                     namespace => $ENV{'MEMCACHED_NAMESPACE'} || 'koha'
-                 });
+        require Cache::Memcached;
+        $memcached = Cache::Memcached->new({
+        servers => [ $servers ],
+        debug   => 0,
+        compress_threshold => 10_000,
+        expire_time => 600,
+        namespace => $ENV{'MEMCACHED_NAMESPACE'} || 'koha'
+    });
         # Verify memcached available (set a variable and test the output)
-       $ismemcached = $memcached->set('ismemcached','1');
+    $ismemcached = $memcached->set('ismemcached','1');
     }
 
-       $VERSION = '3.00.00.036';
+    $VERSION = '3.00.00.036';
 }
 
 use DBI;
@@ -253,6 +254,31 @@ sub read_config_file {             # Pass argument naming config file to read
     return $koha;                      # Return value: ref-to-hash holding the configuration
 }
 
+=head2 ismemcached
+
+Returns the value of the $ismemcached variable (0/1)
+
+=cut
+
+sub ismemcached {
+    return $ismemcached;
+}
+
+=head2 memcached
+
+If $ismemcached is true, returns the $memcache variable.
+Returns undef otherwise
+
+=cut
+
+sub memcached {
+    if ($ismemcached) {
+      return $memcached;
+    } else {
+      return undef;
+    }
+}
+
 # db_scheme2dbi
 # Translates the full text name of a database into de appropiate dbi name
 # 
@@ -336,15 +362,15 @@ sub new {
     }
     
     if ($ismemcached) {
-      # retreive from memcached
-      $self = $memcached->get('kohaconf');
-      if (not defined $self) {
-       # not in memcached yet
-       $self = read_config_file($conf_fname);
-      }
+        # retreive from memcached
+        $self = $memcached->get('kohaconf');
+        if (not defined $self) {
+            # not in memcached yet
+            $self = read_config_file($conf_fname);
+        }
     } else {
-      # non-memcached env, read from file
-      $self = read_config_file($conf_fname);
+        # non-memcached env, read from file
+        $self = read_config_file($conf_fname);
     }
 
     $self->{"config_file"} = $conf_fname;
index ba9d23f..d9e13d4 100644 (file)
@@ -23,7 +23,6 @@ use MARC::Record;
 use MARC::Field;
 use C4::Context;
 use C4::Heading::MARC21;
-use C4::Search;
 use Carp;
 
 our $VERSION = 3.00;
@@ -109,7 +108,8 @@ sub authorities {
     my $self = shift;
     my $query = qq(Match-heading,do-not-truncate,ext="$self->{'search_form'}");
     $query .= $self->_query_limiters();
-    my ($error, $results, $total_hits) = SimpleSearch( $query, undef, undef, [ "authorityserver" ] );
+    require C4::Search;
+    my ($error, $results, $total_hits) = C4::Search::SimpleSearch( $query, undef, undef, [ "authorityserver" ] );
     if (defined $error) {
         carp "Error:$error from search $query";
     }
@@ -129,7 +129,8 @@ sub preferred_authorities {
     my $self = shift;
     my $query = "Match-heading-see-from,do-not-truncate,ext='$self->{'search_form'}'";
     $query .= $self->_query_limiters();
-    my ($error, $results, $total_hits) = SimpleSearch( $query, undef, undef, [ "authorityserver" ] );
+    require C4::Search;
+    my ($error, $results, $total_hits) = C4::Search::SimpleSearch( $query, undef, undef, [ "authorityserver" ] );
     if (defined $error) {
         carp "Error:$error from search $query";
     }
index b6db406..63cc60b 100644 (file)
@@ -1150,7 +1150,7 @@ sub _update_import_record_marc {
     my $dbh = C4::Context->dbh;
     my $sth = $dbh->prepare("UPDATE import_records SET marc = ?, marcxml = ?
                              WHERE  import_record_id = ?");
-    $sth->execute($marc_record->as_usmarc(), $marc_record->as_xml(), $import_record_id);
+    $sth->execute($marc_record->as_usmarc(), $marc_record->as_xml(C4::Context->preference('marcflavour')), $import_record_id);
     $sth->finish();
 }
 
index 939ed10..0a888a8 100644 (file)
@@ -259,11 +259,6 @@ our $PERL_DEPS = {
         'required' => '1',
         'min_ver'  => '5.43'
     },
-    'Date::ICal' => {
-        'usage'    => 'Core',
-        'required' => '1',
-        'min_ver'  => '1.72'
-    },
     'MARC::Crosswalk::DublinCore' => {
         'usage'    => 'Core',
         'required' => '1',
@@ -484,6 +479,11 @@ our $PERL_DEPS = {
         'required' => '1',
         'min_ver'  => '1.03',
     },
+    'DateTime::Format::ICal' => {
+        'usage'    => 'Core',
+        'required' => '1',
+        'min_ver'  => '0.09',
+      },
 };
 
 1;
index 04cb417..8025529 100644 (file)
@@ -29,10 +29,6 @@ use C4::Dates qw/format_date format_date_in_iso/;
 use MARC::Record;
 use C4::ClassSource;
 use C4::Log;
-use C4::Branch;
-require C4::Reserves;
-use C4::Charset;
-use C4::Acquisition;
 use List::MoreUtils qw/any/;
 use Data::Dumper; # used as part of logging item record changes, not just for
                   # debugging; so please don't remove this
@@ -82,6 +78,10 @@ BEGIN {
 
        GetAnalyticsCount
         GetItemHolds
+
+
+        PrepareItemrecordDisplay
+
     );
 }
 
@@ -636,6 +636,7 @@ item that has a given branch code.
 
 sub CheckItemPreSave {
     my $item_ref = shift;
+    require C4::Branch;
 
     my %errors = ();
 
@@ -1206,7 +1207,6 @@ sub GetItemsInfo {
        my $ssth = $dbh->prepare("SELECT serialseq,publisheddate from serialitems left join serial on serialitems.serialid=serial.serialid where serialitems.itemnumber=? "); 
        while ( my $data = $sth->fetchrow_hashref ) {
         my $datedue = '';
-        my $count_reserves;
         $isth->execute( $data->{'itemnumber'} );
         if ( my $idata = $isth->fetchrow_hashref ) {
             $data->{borrowernumber} = $idata->{borrowernumber};
@@ -1227,14 +1227,6 @@ sub GetItemsInfo {
                        ($data->{'serialseq'} , $data->{'publisheddate'}) = $ssth->fetchrow_array();
                        $serial = 1;
         }
-               if ( $datedue eq '' ) {
-            my ( $restype, $reserves, undef ) =
-              C4::Reserves::CheckReserves( $data->{'itemnumber'} );
-# Previous conditional check with if ($restype) is not needed because a true
-# result for one item will result in subsequent items defaulting to this true
-# value.
-            $count_reserves = $restype;
-        }
         #get branch information.....
         my $bsth = $dbh->prepare(
             "SELECT * FROM branches WHERE branchcode = ?
@@ -1245,7 +1237,6 @@ sub GetItemsInfo {
             $data->{'branchname'} = $bdata->{'branchname'};
         }
         $data->{'datedue'}        = $datedue;
-        $data->{'count_reserves'} = $count_reserves;
 
         # get notforloan complete status if applicable
         my $sthnflstatus = $dbh->prepare(
@@ -2178,11 +2169,12 @@ sub MoveItemFromBiblio {
         ModZebra( $tobiblio, "specialUpdate", "biblioserver", undef, undef );
         ModZebra( $frombiblio, "specialUpdate", "biblioserver", undef, undef );
            # Checking if the item we want to move is in an order 
-        my $order = GetOrderFromItemnumber($itemnumber);
+        require C4::Acquisition;
+        my $order = C4::Acquisition::GetOrderFromItemnumber($itemnumber);
            if ($order) {
                    # Replacing the biblionumber within the order if necessary
                    $order->{'biblionumber'} = $tobiblio;
-               ModOrder($order);
+               C4::Acquisition::ModOrder($order);
            }
         return $tobiblio;
        }
@@ -2437,9 +2429,9 @@ sub _get_unlinked_subfields_xml {
 
 sub  _parse_unlinked_item_subfields_from_xml {
     my $xml = shift;
-
+    require C4::Charset;
     return unless defined $xml and $xml ne "";
-    my $marc = MARC::Record->new_from_xml(StripNonXmlChars($xml),'UTF-8');
+    my $marc = MARC::Record->new_from_xml(C4::Charset::StripNonXmlChars($xml),'UTF-8');
     my $unlinked_subfields = [];
     my @fields = $marc->fields();
     if ($#fields > -1) {
@@ -2497,4 +2489,270 @@ sub GetItemHolds {
     $holds = $sth->fetchrow;
     return $holds;
 }
+=head1  OTHER FUNCTIONS
+
+=head2 _find_value
+
+  ($indicators, $value) = _find_value($tag, $subfield, $record,$encoding);
+
+Find the given $subfield in the given $tag in the given
+MARC::Record $record.  If the subfield is found, returns
+the (indicators, value) pair; otherwise, (undef, undef) is
+returned.
+
+PROPOSITION :
+Such a function is used in addbiblio AND additem and serial-edit and maybe could be used in Authorities.
+I suggest we export it from this module.
+
+=cut
+
+sub _find_value {
+    my ( $tagfield, $insubfield, $record, $encoding ) = @_;
+    my @result;
+    my $indicator;
+    if ( $tagfield < 10 ) {
+        if ( $record->field($tagfield) ) {
+            push @result, $record->field($tagfield)->data();
+        } else {
+            push @result, "";
+        }
+    } else {
+        foreach my $field ( $record->field($tagfield) ) {
+            my @subfields = $field->subfields();
+            foreach my $subfield (@subfields) {
+                if ( @$subfield[0] eq $insubfield ) {
+                    push @result, @$subfield[1];
+                    $indicator = $field->indicator(1) . $field->indicator(2);
+                }
+            }
+        }
+    }
+    return ( $indicator, @result );
+}
+
+
+=head2 PrepareItemrecordDisplay
+
+  PrepareItemrecordDisplay($itemrecord,$bibnum,$itemumber,$frameworkcode);
+
+Returns a hash with all the fields for Display a given item data in a template
+
+The $frameworkcode returns the item for the given frameworkcode, ONLY if bibnum is not provided
+
+=cut
+
+sub PrepareItemrecordDisplay {
+
+    my ( $bibnum, $itemnum, $defaultvalues, $frameworkcode ) = @_;
+
+    my $dbh = C4::Context->dbh;
+    $frameworkcode = &GetFrameworkCode($bibnum) if $bibnum;
+    my ( $itemtagfield, $itemtagsubfield ) = &GetMarcFromKohaField( "items.itemnumber", $frameworkcode );
+    my $tagslib = &GetMarcStructure( 1, $frameworkcode );
+
+    # return nothing if we don't have found an existing framework.
+    return q{} unless $tagslib;
+    my $itemrecord;
+    if ($itemnum) {
+        $itemrecord = C4::Items::GetMarcItem( $bibnum, $itemnum );
+    }
+    my @loop_data;
+    my $authorised_values_sth = $dbh->prepare( "SELECT authorised_value,lib FROM authorised_values WHERE category=? ORDER BY lib" );
+    foreach my $tag ( sort keys %{$tagslib} ) {
+        my $previous_tag = '';
+        if ( $tag ne '' ) {
+
+            # loop through each subfield
+            my $cntsubf;
+            foreach my $subfield ( sort keys %{ $tagslib->{$tag} } ) {
+                next if ( subfield_is_koha_internal_p($subfield) );
+                next if ( $tagslib->{$tag}->{$subfield}->{'tab'} ne "10" );
+                my %subfield_data;
+                $subfield_data{tag}           = $tag;
+                $subfield_data{subfield}      = $subfield;
+                $subfield_data{countsubfield} = $cntsubf++;
+                $subfield_data{kohafield}     = $tagslib->{$tag}->{$subfield}->{'kohafield'};
+
+                #        $subfield_data{marc_lib}=$tagslib->{$tag}->{$subfield}->{lib};
+                $subfield_data{marc_lib}   = $tagslib->{$tag}->{$subfield}->{lib};
+                $subfield_data{mandatory}  = $tagslib->{$tag}->{$subfield}->{mandatory};
+                $subfield_data{repeatable} = $tagslib->{$tag}->{$subfield}->{repeatable};
+                $subfield_data{hidden}     = "display:none"
+                  if $tagslib->{$tag}->{$subfield}->{hidden};
+                my ( $x, $defaultvalue );
+                if ($itemrecord) {
+                    ( $x, $defaultvalue ) = _find_value( $tag, $subfield, $itemrecord );
+                }
+                $defaultvalue = $tagslib->{$tag}->{$subfield}->{defaultvalue} unless $defaultvalue;
+                if ( !defined $defaultvalue ) {
+                    $defaultvalue = q||;
+                }
+                $defaultvalue =~ s/"/&quot;/g;
+
+                # search for itemcallnumber if applicable
+                if ( $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.itemcallnumber'
+                    && C4::Context->preference('itemcallnumber') ) {
+                    my $CNtag      = substr( C4::Context->preference('itemcallnumber'), 0, 3 );
+                    my $CNsubfield = substr( C4::Context->preference('itemcallnumber'), 3, 1 );
+                    if ($itemrecord) {
+                        my $temp = $itemrecord->field($CNtag);
+                        if ($temp) {
+                            $defaultvalue = $temp->subfield($CNsubfield);
+                        }
+                    }
+                }
+                if (   $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.itemcallnumber'
+                    && $defaultvalues
+                    && $defaultvalues->{'callnumber'} ) {
+                    my $temp;
+                    if ($itemrecord) {
+                        $temp = $itemrecord->field($subfield);
+                    }
+                    unless ($temp) {
+                        $defaultvalue = $defaultvalues->{'callnumber'} if $defaultvalues;
+                    }
+                }
+                if (   ( $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.holdingbranch' || $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.homebranch' )
+                    && $defaultvalues
+                    && $defaultvalues->{'branchcode'} ) {
+                    my $temp;
+                    if ($itemrecord) {
+                        $temp = $itemrecord->field($subfield);
+                    }
+                    unless ($temp) {
+                        $defaultvalue = $defaultvalues->{branchcode} if $defaultvalues;
+                    }
+                }
+                if (   ( $tagslib->{$tag}->{$subfield}->{kohafield} eq 'items.location' )
+                    && $defaultvalues
+                    && $defaultvalues->{'location'} ) {
+                    my $temp = $itemrecord->field($subfield) if ($itemrecord);
+                    unless ($temp) {
+                        $defaultvalue = $defaultvalues->{location} if $defaultvalues;
+                    }
+                }
+                if ( $tagslib->{$tag}->{$subfield}->{authorised_value} ) {
+                    my @authorised_values;
+                    my %authorised_lib;
+
+                    # builds list, depending on authorised value...
+                    #---- branch
+                    if ( $tagslib->{$tag}->{$subfield}->{'authorised_value'} eq "branches" ) {
+                        if (   ( C4::Context->preference("IndependantBranches") )
+                            && ( C4::Context->userenv->{flags} % 2 != 1 ) ) {
+                            my $sth = $dbh->prepare( "SELECT branchcode,branchname FROM branches WHERE branchcode = ? ORDER BY branchname" );
+                            $sth->execute( C4::Context->userenv->{branch} );
+                            push @authorised_values, ""
+                              unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
+                            while ( my ( $branchcode, $branchname ) = $sth->fetchrow_array ) {
+                                push @authorised_values, $branchcode;
+                                $authorised_lib{$branchcode} = $branchname;
+                            }
+                        } else {
+                            my $sth = $dbh->prepare( "SELECT branchcode,branchname FROM branches ORDER BY branchname" );
+                            $sth->execute;
+                            push @authorised_values, ""
+                              unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
+                            while ( my ( $branchcode, $branchname ) = $sth->fetchrow_array ) {
+                                push @authorised_values, $branchcode;
+                                $authorised_lib{$branchcode} = $branchname;
+                            }
+                        }
+
+                        #----- itemtypes
+                    } elsif ( $tagslib->{$tag}->{$subfield}->{authorised_value} eq "itemtypes" ) {
+                        my $sth = $dbh->prepare( "SELECT itemtype,description FROM itemtypes ORDER BY description" );
+                        $sth->execute;
+                        push @authorised_values, ""
+                          unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
+                        while ( my ( $itemtype, $description ) = $sth->fetchrow_array ) {
+                            push @authorised_values, $itemtype;
+                            $authorised_lib{$itemtype} = $description;
+                        }
+                        #---- class_sources
+                    } elsif ( $tagslib->{$tag}->{$subfield}->{authorised_value} eq "cn_source" ) {
+                        push @authorised_values, "" unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
+
+                        my $class_sources = GetClassSources();
+                        my $default_source = C4::Context->preference("DefaultClassificationSource");
+
+                        foreach my $class_source (sort keys %$class_sources) {
+                            next unless $class_sources->{$class_source}->{'used'} or
+                                        ($class_source eq $default_source);
+                            push @authorised_values, $class_source;
+                            $authorised_lib{$class_source} = $class_sources->{$class_source}->{'description'};
+                        }
+
+                        #---- "true" authorised value
+                    } else {
+                        $authorised_values_sth->execute( $tagslib->{$tag}->{$subfield}->{authorised_value} );
+                        push @authorised_values, ""
+                          unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
+                        while ( my ( $value, $lib ) = $authorised_values_sth->fetchrow_array ) {
+                            push @authorised_values, $value;
+                            $authorised_lib{$value} = $lib;
+                        }
+                    }
+                    $subfield_data{marc_value} = CGI::scrolling_list(
+                        -name     => 'field_value',
+                        -values   => \@authorised_values,
+                        -default  => "$defaultvalue",
+                        -labels   => \%authorised_lib,
+                        -size     => 1,
+                        -tabindex => '',
+                        -multiple => 0,
+                    );
+                } elsif ( $tagslib->{$tag}->{$subfield}->{value_builder} ) {
+                        # opening plugin
+                        my $plugin = C4::Context->intranetdir . "/cataloguing/value_builder/" . $tagslib->{$tag}->{$subfield}->{'value_builder'};
+                        if (do $plugin) {
+                            my $temp;
+                            my $extended_param = plugin_parameters( $dbh, $temp, $tagslib, $subfield_data{id}, undef );
+                            my ( $function_name, $javascript ) = plugin_javascript( $dbh, $temp, $tagslib, $subfield_data{id}, undef );
+                            $subfield_data{random}     = int(rand(1000000));    # why do we need 2 different randoms?
+                            my $index_subfield = int(rand(1000000));
+                            $subfield_data{id} = "tag_".$tag."_subfield_".$subfield."_".$index_subfield;
+                            $subfield_data{marc_value} = qq[<input tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255"
+                                onfocus="Focus$function_name($subfield_data{random}, '$subfield_data{id}');"
+                                 onblur=" Blur$function_name($subfield_data{random}, '$subfield_data{id}');" />
+                                <a href="#" class="buttonDot" onclick="Clic$function_name('$subfield_data{id}'); return false;" title="Tag Editor">...</a>
+                                $javascript];
+                        } else {
+                            warn "Plugin Failed: $plugin";
+                            $subfield_data{marc_value} = qq(<input tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255" />); # supply default input form
+                        }
+                }
+                elsif ( $tag eq '' ) {       # it's an hidden field
+                    $subfield_data{marc_value} = qq(<input type="hidden" tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255" value="$defaultvalue" />);
+                }
+                elsif ( $tagslib->{$tag}->{$subfield}->{'hidden'} ) {   # FIXME: shouldn't input type be "hidden" ?
+                    $subfield_data{marc_value} = qq(<input type="text" tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255" value="$defaultvalue" />);
+                }
+                elsif ( length($defaultvalue) > 100
+                            or (C4::Context->preference("marcflavour") eq "UNIMARC" and
+                                  300 <= $tag && $tag < 400 && $subfield eq 'a' )
+                            or (C4::Context->preference("marcflavour") eq "MARC21"  and
+                                  500 <= $tag && $tag < 600                     )
+                          ) {
+                    # oversize field (textarea)
+                    $subfield_data{marc_value} = qq(<textarea tabindex="1" id="$subfield_data{id}" name="field_value" class="input_marceditor" size="67" maxlength="255">$defaultvalue</textarea>\n");
+                } else {
+                    $subfield_data{marc_value} = "<input type=\"text\" name=\"field_value\" value=\"$defaultvalue\" size=\"50\" maxlength=\"255\" />";
+                }
+                push( @loop_data, \%subfield_data );
+            }
+        }
+    }
+    my $itemnumber;
+    if ( $itemrecord && $itemrecord->field($itemtagfield) ) {
+        $itemnumber = $itemrecord->subfield( $itemtagfield, $itemtagsubfield );
+    }
+    return {
+        'itemtagfield'    => $itemtagfield,
+        'itemtagsubfield' => $itemtagsubfield,
+        'itemnumber'      => $itemnumber,
+        'iteminformation' => \@loop_data
+    };
+}
+
 1;
index 789f674..976b46a 100644 (file)
@@ -23,10 +23,7 @@ package C4::Koha;
 use strict;
 #use warnings; FIXME - Bug 2505
 use C4::Context;
-use C4::Output;
-use URI::Split qw(uri_split);
 use Memoize;
-use Business::ISBN;
 
 use vars qw($VERSION @ISA @EXPORT $DEBUG);
 
@@ -472,8 +469,9 @@ sub getitemtypeimagelocation($$) {
        my ( $src, $image ) = @_;
 
        return '' if ( !$image );
+    require URI::Split;
 
-       my $scheme = ( uri_split( $image ) )[0];
+       my $scheme = ( URI::Split::uri_split( $image ) )[0];
 
        return $image if ( $scheme );
 
@@ -1315,6 +1313,7 @@ sub _normalize_match_point {
 }
 
 sub _isbn_cleanup {
+    require Business::ISBN;
     my $isbn = Business::ISBN->new( $_[0] );
     if ( $isbn ) {
         $isbn = $isbn->as_isbn10 if $isbn->type eq 'ISBN13';
index 091d3bb..6f269ac 100644 (file)
@@ -26,19 +26,13 @@ use C4::Context;
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS $DEBUG);
 
 eval {
-    my $servers = C4::Context->config('memcached_servers');
-    if ($servers) {
+    if (C4::Context->ismemcached) {
         require Memoize::Memcached;
         import Memoize::Memcached qw(memoize_memcached);
-        my $memcached = {
-            servers    => [ $servers ],
-            key_prefix => C4::Context->config('memcached_namespace') || 'koha',
-        };
-
-        memoize_memcached('getTranslatedLanguages', memcached => $memcached, expire_time => 600); #cache for 10 minutes
-        memoize_memcached('getFrameworkLanguages' , memcached => $memcached, expire_time => 600);
-        memoize_memcached('getAllLanguages',        memcached => $memcached, expire_time => 600);
+
+        memoize_memcached('getTranslatedLanguages', memcached => C4::Context->memcached);
+        memoize_memcached('getFrameworkLanguages' , memcached => C4::Context->memcached);
+        memoize_memcached('getAllLanguages',        memcached => C4::Context->memcached);
     }
 };
 
index 75ced46..9087075 100644 (file)
@@ -297,12 +297,12 @@ sub output_with_http_headers($$$$;$) {
  
 #    utf8::encode($data) if utf8::is_utf8($data);
 
+    $data =~ s/\&amp\;amp\; /\&amp\; /g;
     print $query->header($options), $data;
 }
 
 sub output_html_with_http_headers ($$$;$) {
     my ( $query, $cookie, $data, $status ) = @_;
-    $data =~ s/\&amp\;amp\; /\&amp\; /g;
     output_with_http_headers( $query, $cookie, $data, 'html', $status );
 }
 
index e906850..89bde32 100644 (file)
@@ -77,7 +77,32 @@ Returns an ISO-2709 scalar
 
 sub marc2marc {
        my ($marc,$to_flavour,$from_flavour,$encoding) = @_;
-       my $error = "Feature not yet implemented\n";
+       my $error;
+    if ($to_flavour =~ m/marcstd/) {
+        my $marc_record_obj;
+        if ($marc =~ /^MARC::Record/) { # it's already a MARC::Record object
+            $marc_record_obj = $marc;
+        } else { # it's not a MARC::Record object, make it one
+            eval { $marc_record_obj = MARC::Record->new_from_usmarc($marc) }; # handle exceptions
+
+# conversion to MARC::Record object failed, populate $error
+                if ($@) { $error .="\nCreation of MARC::Record object failed: ".$MARC::File::ERROR };
+        }
+        unless ($error) {
+            my @privatefields;
+            foreach my $field ($marc_record_obj->fields()) {
+                if ($field->tag() =~ m/9/ && ($field->tag() != '490' || C4::Context->preference("marcflavour") eq 'UNIMARC')) {
+                    push @privatefields, $field;
+                } elsif (! ($field->is_control_field())) {
+                    $field->delete_subfield(code => '9') if ($field->subfield('9'));
+                }
+            }
+            $marc_record_obj->delete_field($_) for @privatefields;
+            $marc = $marc_record_obj->as_usmarc();
+        }
+    } else {
+        $error = "Feature not yet implemented\n";
+    }
        return ($error,$marc);
 }
 
index 8a14877..617a4eb 100644 (file)
@@ -58,7 +58,13 @@ sub do_checkout {
        $debug and warn "do_checkout: patron (" . $patron_barcode . ")";
        my $borrower = $self->{patron}->getmemberdetails_object();
        $debug and warn "do_checkout borrower: . " . Dumper $borrower;
-       my ($issuingimpossible,$needsconfirmation) = CanBookBeIssued( $borrower, $barcode );
+       my ($issuingimpossible,$needsconfirmation) = CanBookBeIssued(
+        $borrower,
+        $barcode,
+        undef,
+        0,
+        C4::Context->preference("AllowItemsOnHoldCheckout")
+    );
        my $noerror=1;
     if (scalar keys %$issuingimpossible) {
         foreach (keys %$issuingimpossible) {
index a712806..2e49bf7 100644 (file)
@@ -38,6 +38,8 @@ sub do_renew_all {
        my $patron = $self->{patron};                                                   # SIP's  patron
        my $borrower = GetMember('cardnumber'=>$patron->id);    # Koha's patron
        my $all_ok = 1;
+    $self->{renewed} = [];
+    $self->{unrenewed} = [];
        foreach my $itemx (@{$patron->{items}}) {
                my $item_id = $itemx->{barcode};
                my $item = new ILS::Item $item_id;
@@ -52,9 +54,9 @@ sub do_renew_all {
                $self->do_renew_for($borrower);
                if ($self->ok) {
                        $item->{due_date} = $self->{due};
-                       push @{$self->renewed  }, $item_id;
+            push @{$self->{renewed}  }, $item_id;
                } else {
-                       push @{$self->unrenewed}, $item_id;
+            push @{$self->{unrenewed}}, $item_id;
                }
        }
        $self->ok($all_ok);
index 41c5a9f..e1cb5d0 100644 (file)
@@ -34,12 +34,13 @@ eval {
         import Memoize::Memcached qw(memoize_memcached);
 
         my $memcached = {
-            servers    => [$servers],
-            key_prefix => C4::Context->config('memcached_namespace') || 'koha',
-        };
+            servers     => [$servers],
+            key_prefix  => C4::Context->config('memcached_namespace') || 'koha',
+            expire_time => 600
+        };    # cache for 10 mins
 
-        memoize_memcached( '_get_columns',   memcached => $memcached, expire_time => 600000 );    #cache for 10 minutes
-        memoize_memcached( 'GetPrimaryKeys', memcached => $memcached, expire_time => 600000 );    #cache for 10 minutes
+        memoize_memcached( '_get_columns',   memcached => $memcached );
+        memoize_memcached( 'GetPrimaryKeys', memcached => $memcached );
     }
 };
 
index e86bb26..e326986 100644 (file)
@@ -71,6 +71,7 @@ This module provides searching functions for Koha's bibliographic databases
   &AddSearchHistory
   &GetDistinctValues
   &BiblioAddAuthorities
+  &enabled_staff_search_views
 );
 #FIXME: i had to add BiblioAddAuthorities here because in Biblios.pm it caused circular dependencies (C4::Search uses C4::Biblio, and BiblioAddAuthorities uses SimpleSearch from C4::Search)
 
@@ -1757,10 +1758,10 @@ sub searchResults {
                 }
             }
         }    # notforloan, item level and biblioitem level
-
+       if ($items_count > 0) {
         next if $is_opac       && $hideatopac_count >= $items_count;
         next if $hidelostitems && $itemlost_count   >= $items_count;
-
+       }
         my ( $availableitemscount, $onloanitemscount, $otheritemscount );
         for my $key ( sort keys %$onloan_items ) {
             (++$onloanitemscount > $maxitems) and last;
index 9cda52e..ba0397c 100644 (file)
@@ -23,13 +23,7 @@ use warnings;
 use C4::Dates qw(format_date format_date_in_iso);
 use Date::Calc qw(:all);
 use POSIX qw(strftime);
-use C4::Suggestions;
-use C4::Koha;
 use C4::Biblio;
-use C4::Branch;
-use C4::Items;
-use C4::Search;
-use C4::Letters;
 use C4::Log;    # logaction
 use C4::Debug;
 
@@ -231,13 +225,14 @@ sub GetSerialInformation {
         my $queryitem = $dbh->prepare("SELECT itemnumber from serialitems where serialid=?");
         $queryitem->execute($serialid);
         my $itemnumbers = $queryitem->fetchall_arrayref( [0] );
+        require C4::Items;
         if ( scalar(@$itemnumbers) > 0 ) {
             foreach my $itemnum (@$itemnumbers) {
 
                 #It is ASSUMED that GetMarcItem ALWAYS WORK...
                 #Maybe GetMarcItem should return values on failure
                 $debug and warn "itemnumber :$itemnum->[0], bibnum :" . $data->{'biblionumber'};
-                my $itemprocessed = PrepareItemrecordDisplay( $data->{'biblionumber'}, $itemnum->[0], $data );
+                my $itemprocessed = C4::Items::PrepareItemrecordDisplay( $data->{'biblionumber'}, $itemnum->[0], $data );
                 $itemprocessed->{'itemnumber'}   = $itemnum->[0];
                 $itemprocessed->{'itemid'}       = $itemnum->[0];
                 $itemprocessed->{'serialid'}     = $serialid;
@@ -245,7 +240,7 @@ sub GetSerialInformation {
                 push @{ $data->{'items'} }, $itemprocessed;
             }
         } else {
-            my $itemprocessed = PrepareItemrecordDisplay( $data->{'biblionumber'}, '', $data );
+            my $itemprocessed = C4::Items::PrepareItemrecordDisplay( $data->{'biblionumber'}, '', $data );
             $itemprocessed->{'itemid'}       = "N$serialid";
             $itemprocessed->{'serialid'}     = $serialid;
             $itemprocessed->{'biblionumber'} = $data->{'biblionumber'};
@@ -417,7 +412,6 @@ sub PrepareSerialsData {
                 $subs->{$datefield} = format_date( $subs->{$datefield}  );
             }
         }
-        $subs->{'branchname'} = GetBranchName( $subs->{'branchcode'} );
         $subs->{ "status" . $subs->{'status'} } = 1;
         $subs->{"checked"}                      = $subs->{'status'} =~ /1|3|4|7/;
 
@@ -608,8 +602,6 @@ sub GetSubscriptions {
     $sth = $dbh->prepare($sql);
     $sth->execute(@bind_params);
     my @results;
-    my $previousbiblio = "";
-    my $odd           = 1;
 
     while ( my $line = $sth->fetchrow_hashref ) {
         $line->{'cannotedit'} =
@@ -1330,8 +1322,8 @@ sub ReNewSubscription {
     my $biblio = $sth->fetchrow_hashref;
 
     if ( C4::Context->preference("RenewSerialAddsSuggestion") ) {
-
-        NewSuggestion(
+        require C4::Suggestions;
+        C4::Suggestions::NewSuggestion(
             {   'suggestedby'   => $user,
                 'title'         => $subscription->{bibliotitle},
                 'author'        => $biblio->{author},
@@ -1548,7 +1540,8 @@ sub ItemizeSerials {
                     $marcrecord->insert_fields_ordered($newField);
                 }
             }
-            AddItemFromMarc( $marcrecord, $data->{'biblionumber'} );
+            require C4::Items;
+            C4::Items::AddItemFromMarc( $marcrecord, $data->{'biblionumber'} );
             return 1;
         }
         return ( 0, @errors );
index ccc0c8e..c9461f5 100644 (file)
@@ -40,6 +40,8 @@ our @EXPORT  = qw<
     GetSuggestion
     GetSuggestionByStatus
     GetSuggestionFromBiblionumber
+    GetSuggestionInfoFromBiblionumber
+    GetSuggestionInfo
     ModStatus
     ModSuggestion
     NewSuggestion
@@ -209,13 +211,65 @@ sub GetSuggestionFromBiblionumber {
     my $query = q{
         SELECT suggestionid
         FROM   suggestions
-        WHERE  biblionumber=?
+        WHERE  biblionumber=? LIMIT 1
     };
     my $dbh=C4::Context->dbh;
     my $sth = $dbh->prepare($query);
     $sth->execute($biblionumber);
-    my ($ordernumber) = $sth->fetchrow;
-    return $ordernumber;
+    my ($suggestionid) = $sth->fetchrow;
+    return $suggestionid;
+}
+
+=head2 GetSuggestionInfoFromBiblionumber
+
+Get a suggestion and borrower's informations from it's biblionumber.
+
+return :
+all informations (suggestion and borrower) of the suggestion which is related to the biblionumber given.
+
+=cut
+
+sub GetSuggestionInfoFromBiblionumber {
+    my ($biblionumber) = @_;
+    my $query = qq{
+        SELECT suggestions.*,
+        U1.surname   AS surnamesuggestedby,
+        U1.firstname AS firstnamesuggestedby,
+        U1.borrowernumber AS borrnumsuggestedby
+        FROM suggestions
+        LEFT JOIN borrowers AS U1 ON suggestedby=U1.borrowernumber
+        WHERE biblionumber = ? LIMIT 1
+    };
+    my $dbh = C4::Context->dbh;
+    my $sth = $dbh->prepare($query);
+    $sth->execute($biblionumber);
+    return $sth->fetchrow_hashref;
+}
+
+=head2 GetSuggestionInfo
+
+Get a suggestion and borrower's informations from it's suggestionid
+
+return :
+all informations (suggestion and borrower) of the suggestion which is related to the suggestionid given.
+
+=cut
+
+sub GetSuggestionInfo {
+    my ($suggestionid) = @_;
+    my $query = qq{
+        SELECT suggestions.*,
+        U1.surname   AS surnamesuggestedby,
+        U1.firstname AS firstnamesuggestedby,
+        U1.borrowernumber AS borrnumsuggestedby
+        FROM suggestions
+        LEFT JOIN borrowers AS U1 ON suggestedby=U1.borrowernumber
+        WHERE suggestionid = ? LIMIT 1
+    };
+    my $dbh = C4::Context->dbh;
+    my $sth = $dbh->prepare($query);
+    $sth->execute($suggestionid);
+    return $sth->fetchrow_hashref;
 }
 
 =head2 GetSuggestionByStatus
index d150a16..0741040 100644 (file)
@@ -53,12 +53,13 @@ sub new {
     else {
         $htdocs = C4::Context->config('intrahtdocs');
     }
-
     my ($theme, $lang)= themelanguage( $htdocs, $tmplbase, $interface, $query);
     my $template = Template->new(
         {   EVAL_PERL    => 1,
             ABSOLUTE     => 1,
-           PLUGIN_BASE => 'Koha::Template::Plugin',
+            PLUGIN_BASE => 'Koha::Template::Plugin',
+            COMPILE_EXT => C4::Context->config('template_cache_dir')?'.ttc':'',
+            COMPILE_DIR => C4::Context->config('template_cache_dir')?C4::Context->config('template_cache_dir'):'',,
             INCLUDE_PATH => [
                 "$htdocs/$theme/$lang/includes",
                 "$htdocs/$theme/en/includes"
index 57b86da..c74ecb3 100644 (file)
@@ -26,10 +26,7 @@ use warnings;
 
 use Carp;
 use C4::Context;
-use C4::Circulation;
 use C4::Debug;
-use C4::Members;
-require C4::Auth;
 
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
 
@@ -466,7 +463,8 @@ sub ShelfPossibleAction {
     my $sth = $dbh->prepare($query);
     $sth->execute($shelfnumber);
     my ( $owner, $category ) = $sth->fetchrow;
-       my $borrower = GetMemberDetails($user);
+    require C4::Members;
+       my $borrower = C4::Members::GetMemberDetails($user);
        return 0 if not defined($user);
        return 1 if ( $category >= 3);                                                  # open list
     return 1 if (($category >= 2) and
@@ -559,7 +557,7 @@ This function is used in conjunction with the 'Lists' button in masthead.inc.
 =cut
 
 sub RefreshShelvesSummary ($$$) {
-       
+       require C4::Auth;
        my ($sessionID, $loggedinuser, $row_count) = @_;
        my $session = C4::Auth::get_session($sessionID);
        my ($total, $totshelves, $barshelves, $pubshelves);
index 6694eb7..5e5f0d4 100644 (file)
@@ -746,6 +746,8 @@ Net::Z3950::ZOOM
 Net::LDAP::Filter
 HTML::Template::Pro
 Data::ICal
+DateTime
+DateTime::Format::ICal
 GD::Barcode::UPCE
 Algorithm::CheckDigits::M43_001
 Biblio::EndnoteStyle
@@ -753,7 +755,6 @@ Schedule::At
 Barcode::Code128
 CGI::Session
 Class::Factory::Util
-Date::ICal
 Date::Manip
 Lingua::Stem
 List::MoreUtils
index 121d20d..279084b 100755 (executable)
@@ -206,6 +206,7 @@ if ( $orderinfo->{quantity} ne '0' ) {
                 "biblioitems.publicationyear" => $$orderinfo{publicationyear} ? $$orderinfo{publicationyear}: "",
                 "biblio.copyrightdate"        => $$orderinfo{publicationyear} ? $$orderinfo{publicationyear}: "",
                 "biblioitems.itemtype"        => $$orderinfo{itemtype} ? $$orderinfo{itemtype} : "",
+                "biblioitems.editionstatement"=> $$orderinfo{editionstatement} ? $$orderinfo{editionstatement} : "",
             });
 
         # create the record in catalogue, with framework ''
index c528156..7864fee 100755 (executable)
@@ -34,6 +34,8 @@ use C4::Debug;
 use C4::Biblio;
 use C4::Members qw/GetMember/;  #needed for permissions checking for changing basketgroup of a basket
 use C4::Items;
+use C4::Suggestions;
+
 =head1 NAME
 
 basket.pl
@@ -52,7 +54,7 @@ basket.pl
 
 The basket number.
 
-=item supplierid
+=item booksellerid
 
 the supplier this script have to display the basket.
 
@@ -64,7 +66,7 @@ the supplier this script have to display the basket.
 
 my $query        = new CGI;
 my $basketno     = $query->param('basketno');
-my $booksellerid = $query->param('supplierid');
+my $booksellerid = $query->param('booksellerid');
 
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     {
@@ -80,7 +82,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
 my $basket = GetBasket($basketno);
 
 # FIXME : what about the "discount" percentage?
-# FIXME : the query->param('supplierid') below is probably useless. The bookseller is always known from the basket
+# FIXME : the query->param('booksellerid') below is probably useless. The bookseller is always known from the basket
 # if no booksellerid in parameter, get it from basket
 # warn "=>".$basket->{booksellerid};
 $booksellerid = $basket->{booksellerid} unless $booksellerid;
@@ -162,7 +164,7 @@ if ( $op eq 'delete_confirm' ) {
                          basketgroupid => $basketgroupid } );
             print $query->redirect('/cgi-bin/koha/acqui/basketgroup.pl?booksellerid='.$booksellerid.'&closed=1');
         } else {
-            print $query->redirect('/cgi-bin/koha/acqui/booksellers.pl?supplierid=' . $booksellerid);
+            print $query->redirect('/cgi-bin/koha/acqui/booksellers.pl?booksellerid=' . $booksellerid);
         }
         exit;
     } else {
@@ -229,14 +231,15 @@ if ( $op eq 'delete_confirm' ) {
        my $gist = $bookseller->{gstrate} // C4::Context->preference("gist") // 0;
        $gist = 0 if $gist == 0.0000;
        my $discount = $bookseller->{'discount'} / 100;
-    my $total_rrp;      # RRP Total, its value will be assigned to $total_rrp_gsti or $total_rrp_gste depending of $bookseller->{'listincgst'}
-       my $total_rrp_gsti; # RRP Total, GST included
-       my $total_rrp_gste; # RRP Total, GST excluded
-       my $gist_rrp;
-       my $total_rrp_est;
-       
+    my $total_rrp = 0;      # RRP Total, its value will be assigned to $total_rrp_gsti or $total_rrp_gste depending of $bookseller->{'listincgst'}
+    my $total_rrp_gsti = 0; # RRP Total, GST included
+    my $total_rrp_gste = 0; # RRP Total, GST excluded
+    my $gist_rrp = 0;
+    my $total_rrp_est = 0;
+
     my $qty_total;
     my @books_loop;
+    my $suggestion;
 
     for my $order ( @results ) {
         my $rrp = $order->{'listprice'} || 0;
@@ -281,7 +284,7 @@ if ( $op eq 'delete_confirm' ) {
         $line{biblios}              = $countbiblio - 1;
         $line{left_subscription}    = 1 if scalar @subscriptions >= 1;
         $line{subscriptions}        = scalar @subscriptions;
-        $line{left_holds}           = 1 if $holds >= 1;
+        ($holds >= 1) ? $line{left_holds} = 1 : $line{left_holds} = 0;
         $line{left_holds_on_order}  = 1 if $line{left_holds}==1 && ($line{items} == 0 || $itemholds );
         $line{holds}                = $holds;
         $line{holds_on_order}       = $itemholds?$itemholds:$holds if $line{left_holds_on_order};
@@ -303,6 +306,12 @@ if ( $op eq 'delete_confirm' ) {
        } else {
            $line{'title'} = "Deleted bibliographic notice, can't find title.";
        }
+
+        $suggestion = GetSuggestionInfoFromBiblionumber($line{biblionumber});
+        $line{suggestionid}         = $suggestion->{suggestionid};
+        $line{surnamesuggestedby}   = $suggestion->{surnamesuggestedby};
+        $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby};
+
         push @books_loop, \%line;
     }
 
index d204a4e..b33e4ef 100755 (executable)
@@ -33,9 +33,9 @@ notes to the supplier, local notes, and the contractnumber, which identifies the
 
 =over 4
 
-=item supplierid
+=item booksellerid
 
-C<$supplierid> is the id of the supplier we add the basket to.
+C<$booksellerid> is the id of the supplier we add the basket to.
 
 =item basketid
 
index 634eb93..d7c64db 100755 (executable)
@@ -41,7 +41,7 @@ C<$supplier> is the string with which we search for a supplier
 
 =back
 
-=item id or supplierid
+=item id or booksellerid
 
 The id of the supplier whose baskets we will display
 
@@ -74,11 +74,11 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
 
 #parameters
 my $supplier = $query->param('supplier');
-my $id = $query->param('id') || $query->param('supplierid');
+my $booksellerid = $query->param('booksellerid');
 my @suppliers;
 
-if ($id) {
-    push @suppliers, GetBookSellerFromId($id);
+if ($booksellerid) {
+    push @suppliers, GetBookSellerFromId($booksellerid);
 } else {
     @suppliers = GetBookSeller($supplier);
 }
@@ -87,7 +87,7 @@ my $supplier_count = @suppliers;
 if ( $supplier_count == 1 ) {
     $template->param(
         supplier_name => $suppliers[0]->{'name'},
-        id            => $suppliers[0]->{'id'}
+        booksellerid  => $suppliers[0]->{'booksellerid'}
     );
 }
 
@@ -136,7 +136,7 @@ for my $vendor (@suppliers) {
 
     push @{$loop_suppliers},
       { loop_basket => $loop_basket,
-        supplierid  => $vendor->{id},
+        booksellerid  => $vendor->{id},
         name        => $vendor->{name},
         active      => $vendor->{active},
       };
@@ -144,7 +144,7 @@ for my $vendor (@suppliers) {
 }
 $template->param(
     loop_suppliers => $loop_suppliers,
-    supplier       => ( $id || $supplier ),
+    supplier       => ( $booksellerid || $supplier ),
     count          => $supplier_count,
 );
 
index 0f2f070..90a85fe 100755 (executable)
@@ -48,7 +48,7 @@ my $datereceived=$input->param('datereceived');
 my $replacement=$input->param('rrp');
 my $gst=$input->param('gst');
 my $freight=$input->param('freight');
-my $supplierid = $input->param('supplierid');
+my $booksellerid = $input->param('booksellerid');
 my $cnt=0;
 my $error_url_str;
 my $ecost = $input->param('ecost');
@@ -99,7 +99,7 @@ if ($quantityrec > $origquantityrec ) {
 
 update_item( $_ ) foreach GetItemnumbersFromOrder( $ordernumber );
 
-print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoice=$invoiceno&supplierid=$supplierid&freight=$freight&gst=$gst&datereceived=$datereceived$error_url_str");
+print $input->redirect("/cgi-bin/koha/acqui/parcel.pl?invoice=$invoiceno&booksellerid=$booksellerid&freight=$freight&gst=$gst&datereceived=$datereceived$error_url_str");
 
 ################################ End of script ################################
 
@@ -107,7 +107,7 @@ sub update_item {
     my ( $itemnumber ) = @_;
 
     ModItem( {
-        booksellerid         => $supplierid,
+        booksellerid         => $booksellerid,
         dateaccessioned      => $datereceived,
         price                => $unitprice,
         replacementprice     => $replacement,
index ff68599..cd3e444 100755 (executable)
@@ -77,7 +77,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         query           => $input,
         type            => "intranet",
         authnotrequired => 0,
-        flagsrequired   => { acquisition => 1 },
+        flagsrequired   => { acquisition => 'group_manage', acquisition => 'order_manage', acquisition => 'order_receive' },
         debug           => 1,
     }
 );
index 55031ec..86b1300 100755 (executable)
@@ -29,7 +29,7 @@ given on input arg.
 
 =over 4
 
-=item supplierid
+=item booksellerid
 To know on which supplier this script have to display late order.
 
 =item delay
@@ -64,7 +64,7 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user({
        debug => 1,
 });
 
-my $supplierid = $input->param('supplierid') || undef; # we don't want "" or 0
+my $booksellerid = $input->param('booksellerid') || undef; # we don't want "" or 0
 my $delay      = $input->param('delay');
 my $branch     = $input->param('branch');
 my $op         = $input->param('op');
@@ -95,15 +95,16 @@ if ($op and $op eq "send_alert"){
 my %supplierlist = GetBooksellersWithLateOrders($delay);
 my (@sloopy);  # supplier loop
 foreach (keys %supplierlist){
-       push @sloopy, (($supplierid and $supplierid eq $_ )            ? 
+       push @sloopy, (($booksellerid and $booksellerid eq $_ )            ?
                                        {id=>$_, name=>$supplierlist{$_}, selected=>1} :
                                        {id=>$_, name=>$supplierlist{$_}} )            ;
 }
 $template->param(SUPPLIER_LOOP => \@sloopy);
-$template->param(Supplier=>$supplierlist{$supplierid}) if ($supplierid);
-$template->param(SupplierId=>$supplierid) if ($supplierid);
 
-my @lateorders = GetLateOrders($delay,$supplierid,$branch);
+$template->param(Supplier=>$supplierlist{$booksellerid}) if ($booksellerid);
+$template->param(booksellerid=>$booksellerid) if ($booksellerid);
+
+my @lateorders = GetLateOrders($delay,$booksellerid,$branch);
 
 my $total;
 foreach (@lateorders){
index 459dfe8..f3d107d 100755 (executable)
@@ -80,7 +80,8 @@ use C4::Dates;
 use C4::Bookseller  qw/ GetBookSellerFromId /;
 use C4::Acquisition;
 use C4::Suggestions;   # GetSuggestion
-use C4::Biblio;                        # GetBiblioData
+use C4::Biblio;                        # GetBiblioData GetMarcPrice
+use C4::Items; #PrepareItemRecord
 use C4::Output;
 use C4::Input;
 use C4::Koha;
@@ -121,6 +122,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     }
 );
 
+my $marcflavour = C4::Context->preference('marcflavour');
 my $basket = GetBasket($basketno);
 my $contract = &GetContract($basket->{contractnumber});
 
@@ -154,26 +156,7 @@ if ( $ordernumber eq '' and defined $params->{'breedingid'}){
         $params->{'frameworkcode'} or $params->{'frameworkcode'} = "";
         ( $biblionumber, $bibitemnum ) = AddBiblio( $marcrecord, $params->{'frameworkcode'} );
         # get the price if there is one.
-        # filter by storing only the 1st number
-        # we suppose the currency is correct, as we have no possibilities to get it.
-        if ($marcrecord->subfield("345","d")) {
-            $listprice = $marcrecord->subfield("345","d");
-            if ($listprice =~ /^([\d\.,]*)/) {
-                $listprice = $1;
-                $listprice =~ s/,/\./;
-            } else {
-                $listprice = 0;
-            }
-        }
-        elsif ($marcrecord->subfield("010","d")) {
-            $listprice = $marcrecord->subfield("010","d");
-            if ($listprice =~ /^([\d\.,]*)/) {
-                $listprice = $1;
-                $listprice =~ s/,/\./;
-            } else {
-                $listprice = 0;
-            }
-        }
+        $listprice = GetMarcPrice($marcrecord, $marcflavour);
         SetImportRecordStatus($params->{'breedingid'}, 'imported');
 }
 
@@ -204,6 +187,9 @@ else {    #modify order
     $booksellerid = $data2->{'booksellerid'};
 }
 
+my $suggestion;
+$suggestion = GetSuggestionInfo($suggestionid) if $suggestionid;
+
 # get currencies (for change rates calcs if needed)
 my $active_currency = GetCurrency();
 my $default_currency;
@@ -359,7 +345,9 @@ $template->param(
     authorisedbyname     => $basket->{'authorisedbyname'},
     closedate            => C4::Dates->new($basket->{'closedate'},'iso')->output,
     # order details
-    suggestionid     => $suggestionid,
+    suggestionid         => $suggestion->{suggestionid},
+    surnamesuggestedby   => $suggestion->{surnamesuggestedby},
+    firstnamesuggestedby => $suggestion->{firstnamesuggestedby},
     biblionumber     => $biblionumber,
     uncertainprice   => $data->{'uncertainprice'},
     authorisedbyname => $borrower->{'firstname'} . " " . $borrower->{'surname'},
@@ -376,6 +364,7 @@ $template->param(
     title            => $data->{'title'},
     author           => $data->{'author'},
     publicationyear  => $data->{'publicationyear'} ? $data->{'publicationyear'} : $data->{'copyrightdate'},
+    editionstatement => $data->{'editionstatement'},
     budget_loop      => $budget_loop,
     isbn             => $data->{'isbn'},
     seriestitle      => $data->{'seriestitle'},
@@ -429,7 +418,7 @@ sub MARCfindbreeding {
             }
         }
         # fix the unimarc 100 coded field (with unicode information)
-        if (C4::Context->preference('marcflavour') eq 'UNIMARC' && $record->subfield(100,'a')) {
+        if ($marcflavour eq 'UNIMARC' && $record->subfield(100,'a')) {
             my $f100a=$record->subfield(100,'a');
             my $f100 = $record->field(100);
             my $f100temp = $f100->as_string;
index b65e4ea..f33d012 100755 (executable)
@@ -100,7 +100,7 @@ my $input = new CGI;
 
 # getting the CGI params
 my $basketno        = $input->param('basketno');
-my $supplierid      = $input->param('booksellerid');
+my $booksellerid      = $input->param('booksellerid');
 my $author          = $input->param('author');
 my $title           = $input->param('title');
 my $publishercode   = $input->param('publishercode');
@@ -134,11 +134,11 @@ my $suggestions_loop =
                 title                  => $title, 
                 publishercode  => $publishercode,
                 STATUS        => 'ACCEPTED'});
-my $vendor = GetBookSellerFromId($supplierid);
+my $vendor = GetBookSellerFromId($booksellerid);
 $template->param(
     suggestions_loop        => $suggestions_loop,
     basketno                => $basketno,
-    supplierid              => $supplierid,
+    booksellerid              => $booksellerid,
     name                                       => $vendor->{'name'},
     "op_$op"                => 1,
 );
index 753071d..659c103 100755 (executable)
@@ -34,7 +34,7 @@ It permit to write a new order as 'received'.
 
 =over 4
 
-=item supplierid
+=item booksellerid
 
 to know on what supplier this script has to display receive order.
 
@@ -75,12 +75,13 @@ use C4::Members;
 use C4::Branch;    # GetBranches
 use C4::Items;
 use C4::Biblio;
+use C4::Suggestions;
 
 
 my $input      = new CGI;
 
 my $dbh          = C4::Context->dbh;
-my $supplierid   = $input->param('supplierid');
+my $booksellerid   = $input->param('booksellerid');
 my $ordernumber       = $input->param('ordernumber');
 my $search       = $input->param('receive');
 my $invoice      = $input->param('invoice');
@@ -90,7 +91,7 @@ my $datereceived = $input->param('datereceived');
 
 $datereceived = $datereceived ? C4::Dates->new($datereceived, 'iso') : C4::Dates->new();
 
-my $bookseller = GetBookSellerFromId($supplierid);
+my $bookseller = GetBookSellerFromId($booksellerid);
 my $input_gst = ($input->param('gst') eq '' ? undef : $input->param('gst'));
 my $gst= $input_gst // $bookseller->{gstrate} // C4::Context->preference("gist") // 0;
 my $results = SearchOrder($ordernumber,$search);
@@ -135,6 +136,8 @@ if ( $count == 1 ) {
         @$results[0]->{'unitprice'} = '';
     }
 
+    my $suggestion   = GetSuggestionInfoFromBiblionumber(@$results[0]->{'biblionumber'});
+
     my $authorisedby = @$results[0]->{'authorisedby'};
     my $member = GetMember( borrowernumber => $authorisedby );
 
@@ -145,7 +148,7 @@ if ( $count == 1 ) {
         biblionumber          => @$results[0]->{'biblionumber'},
         ordernumber           => @$results[0]->{'ordernumber'},
         biblioitemnumber      => @$results[0]->{'biblioitemnumber'},
-        supplierid            => @$results[0]->{'booksellerid'},
+        booksellerid            => @$results[0]->{'booksellerid'},
         freight               => $freight,
         gst                   => $gst,
         name                  => $bookseller->{'name'},
@@ -167,7 +170,10 @@ if ( $count == 1 ) {
         invoice               => $invoice,
         datereceived          => $datereceived->output(),
         datereceived_iso      => $datereceived->output('iso'),
-        notes                 => $order->{notes}
+        notes                 => $order->{notes},
+        suggestionid          => $suggestion->{suggestionid},
+        surnamesuggestedby    => $suggestion->{surnamesuggestedby},
+        firstnamesuggestedby  => $suggestion->{firstnamesuggestedby},
     );
 }
 else {
@@ -181,13 +187,13 @@ else {
         $line{gst}          = $gst;
         $line{title}        = @$results[$i]->{'title'};
         $line{author}       = @$results[$i]->{'author'};
-        $line{supplierid}   = $supplierid;
+        $line{booksellerid}   = $booksellerid;
         push @loop, \%line;
     }
 
     $template->param(
         loop         => \@loop,
-        supplierid   => $supplierid,
+        booksellerid   => $booksellerid,
     );
 }
 my $op = $input->param('op');
index c256c60..5d0d164 100755 (executable)
@@ -34,7 +34,7 @@ It allows to write an order as 'received' when he arrives.
 
 =over 4
 
-=item supplierid
+=item booksellerid
 
 To know the supplier this script has to show orders.
 
@@ -67,11 +67,12 @@ use C4::Items;
 use CGI;
 use C4::Output;
 use C4::Dates qw/format_date format_date_in_iso/;
+use C4::Suggestions;
 use JSON;
 
 my $input=new CGI;
-my $supplierid=$input->param('supplierid');
-my $bookseller=GetBookSellerFromId($supplierid);
+my $booksellerid=$input->param('booksellerid');
+my $bookseller=GetBookSellerFromId($booksellerid);
 
 my $invoice=$input->param('invoice') || '';
 my $freight=$input->param('freight');
@@ -101,7 +102,7 @@ if($input->param('format') eq "json"){
        
     my @datas;
     my $search   = $input->param('search') || '';
-    my $supplier = $input->param('supplierid') || '';
+    my $supplier = $input->param('booksellerid') || '';
     my $basketno = $input->param('basketno') || '';
     my $orderno  = $input->param('orderno') || '';
 
@@ -154,7 +155,7 @@ if( scalar(@rcv_err) ) {
 }
 
 my $cfstr         = "%.2f";                                                           # currency format string -- could get this from currency table.
-my @parcelitems   = GetParcel($supplierid, $invoice, $datereceived->output('iso'));
+my @parcelitems   = GetParcel($booksellerid, $invoice, $datereceived->output('iso'));
 my $countlines    = scalar @parcelitems;
 my $totalprice    = 0;
 my $totalfreight  = 0;
@@ -173,11 +174,16 @@ for (my $i = 0 ; $i < $countlines ; $i++) {
     $line{invoice} = $invoice;
     $line{gst}     = $gst;
     $line{total} = sprintf($cfstr, $total);
-    $line{supplierid} = $supplierid;
+    $line{booksellerid} = $booksellerid;
     push @loop_received, \%line;
     $totalprice += $parcelitems[$i]->{'unitprice'};
     $line{unitprice} = sprintf($cfstr, $parcelitems[$i]->{'unitprice'});
 
+    my $suggestion   = GetSuggestionInfoFromBiblionumber($line{biblionumber});
+    $line{suggestionid}         = $suggestion->{suggestionid};
+    $line{surnamesuggestedby}   = $suggestion->{surnamesuggestedby};
+    $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby};
+
     #double FIXME - totalfreight is redefined later.
 
 # FIXME - each order in a  parcel holds the freight for the whole parcel. This means if you receive a parcel with items from multiple budgets, you'll see the freight charge in each budget..
@@ -189,7 +195,7 @@ for (my $i = 0 ; $i < $countlines ; $i++) {
     $tototal       += $total;
 }
 
-my $pendingorders = GetPendingOrders($supplierid);
+my $pendingorders = GetPendingOrders($booksellerid);
 my $countpendings = scalar @$pendingorders;
 
 # pending orders totals
@@ -213,7 +219,7 @@ for (my $i = 0 ; $i < $countpendings ; $i++) {
     $line{invoice} = $invoice;
     $line{gst} = $gst;
     $line{total} = $total;
-    $line{supplierid} = $supplierid;
+    $line{booksellerid} = $booksellerid;
     $ordergrandtotal += $line{ecost} * $line{quantity};
     
     my $biblionumber = $line{'biblionumber'};
@@ -230,7 +236,12 @@ for (my $i = 0 ; $i < $countpendings ; $i++) {
             $itemholds += $nb;
         }
     }
-    
+
+    my $suggestion   = GetSuggestionInfoFromBiblionumber($line{biblionumber});
+    $line{suggestionid}         = $suggestion->{suggestionid};
+    $line{surnamesuggestedby}   = $suggestion->{surnamesuggestedby};
+    $line{firstnamesuggestedby} = $suggestion->{firstnamesuggestedby};
+
     # if the biblio is not in other orders and if there is no items elsewhere and no subscriptions and no holds we can then show the link "Delete order and Biblio" see bug 5680
     $line{can_del_bib}          = 1 if $countbiblio <= 1 && $itemcount == scalar @items && !(@subscriptions) && !($holds);
     $line{items}                = ($itemcount) - (scalar @items);
@@ -291,7 +302,7 @@ $template->param(
     invoicedatereceived   => $datereceived->output('iso'),
     formatteddatereceived => $datereceived->output(),
     name                  => $bookseller->{'name'},
-    supplierid            => $supplierid,
+    booksellerid            => $booksellerid,
     gst                   => $gst,
     freight               => $freight,
     invoice               => $invoice,
index 915b1e8..173c0c8 100755 (executable)
@@ -35,7 +35,7 @@ It allows to write an order/parcels as 'received' when he arrives.
 
 =over 4
 
-=item supplierid
+=item booksellerid
 
 To know the supplier this script has to show orders.
 
@@ -77,7 +77,7 @@ use C4::Acquisition;
 use C4::Bookseller qw/ GetBookSellerFromId /;
 
 my $input          = CGI->new;
-my $supplierid     = $input->param('supplierid');
+my $booksellerid     = $input->param('booksellerid');
 my $order          = $input->param('orderby') || 'datereceived desc';
 my $startfrom      = $input->param('startfrom');
 my $code           = $input->param('filter');
@@ -96,8 +96,8 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     }
 );
 
-my $bookseller = GetBookSellerFromId($supplierid);
-my @parcels = GetParcels( $supplierid, $order, $code, $datefrom, $dateto );
+my $bookseller = GetBookSellerFromId($booksellerid);
+my @parcels = GetParcels( $booksellerid, $order, $code, $datefrom, $dateto );
 my $count_parcels = @parcels;
 
 # multi page display gestion
@@ -136,7 +136,7 @@ $template->param(
     name                     => $bookseller->{'name'},
     DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(),
     datereceived_today       => C4::Dates->new()->output(),
-    supplierid               => $supplierid,
+    booksellerid             => $booksellerid,
     GST                      => C4::Context->preference('gist'),
 );
 
index 3faa560..8896b3b 100755 (executable)
@@ -32,7 +32,7 @@ It allows to edit & save information about this bookseller.
 
 =over 4
 
-=item supplierid
+=item booksellerid
 
 To know the bookseller this script has to display details.
 
@@ -53,10 +53,10 @@ use C4::Bookseller qw( GetBookSellerFromId DelBookseller );
 use C4::Budgets;
 
 my $query    = CGI->new;
-my $id       = $query->param('supplierid');
+my $booksellerid       = $query->param('booksellerid');
 my $supplier = {};
-if ($id) {
-    $supplier = GetBookSellerFromId($id);
+if ($booksellerid) {
+    $supplier = GetBookSellerFromId($booksellerid);
 }
 my $op = $query->param('op') || 'display';
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
@@ -77,7 +77,7 @@ $tax_rate *= 100;
 #build array for currencies
 if ( $op eq 'display' ) {
 
-    my $contracts = GetContract( { booksellerid => $id } );
+    my $contracts = GetContract( { booksellerid => $booksellerid } );
 
     for ( @{$contracts} ) {
         $_->{contractstartdate} = format_date( $_->{contractstartdate} );
@@ -85,7 +85,7 @@ if ( $op eq 'display' ) {
     }
 
     $template->param(
-        id            => $id,
+        booksellerid  => $booksellerid,
         name          => $supplier->{'name'},
         postal        => $supplier->{'postal'},
         address1      => $supplier->{'address1'},
@@ -117,7 +117,7 @@ if ( $op eq 'display' ) {
         contracts     => $contracts,
     );
 } elsif ( $op eq 'delete' ) {
-    DelBookseller($id);
+    DelBookseller($booksellerid);
     print $query->redirect('/cgi-bin/koha/acqui/acqui-home.pl');
     exit;
 } else {
@@ -145,7 +145,7 @@ if ( $op eq 'display' ) {
 
     my $gstrate = defined $supplier->{gstrate} ? $supplier->{gstrate} * 100 : '';
     $template->param(
-        id           => $id,
+        booksellerid => $booksellerid,
         name         => $supplier->{'name'},
         postal       => $supplier->{'postal'},
         address1     => $supplier->{'address1'},
@@ -165,7 +165,7 @@ if ( $op eq 'display' ) {
         contnotes    => $supplier->{'contnotes'},
         notes        => $supplier->{'notes'},
         # set active ON by default for supplier add (id empty for add)
-        active       => $id ? $supplier->{'active'} : 1,
+        active       => $booksellerid ? $supplier->{'active'} : 1,
         gstreg        => $supplier->{'gstreg'},
         listincgst    => $supplier->{'listincgst'},
         invoiceincgst => $supplier->{'invoiceincgst'},
index bd59c6b..844e504 100755 (executable)
@@ -66,10 +66,10 @@ my ($template, $loggedinuser, $cookie) = get_template_and_user(
 );
 
 #print $input->header();
-my $supplier=$input->param('supplier');
+my $booksellerid=$input->param('booksellerid');
 #print startpage;
 my %data;
-$data{'id'}=$input->param('id');
+$data{'id'}=$booksellerid;
 
 $data{'name'}=$input->param('company');
 $data{'postal'}=$input->param('company_postal');
@@ -115,7 +115,7 @@ if($data{'name'}) {
            $data{id}=AddBookseller(\%data);
        }
 #redirect to booksellers.pl
-print $input->redirect("booksellers.pl?id=".$data{id});
+print $input->redirect("booksellers.pl?booksellerid=".$data{id});
 } else {
 print $input->redirect("supplier.pl?op=enter"); # fail silently.
 }
index e74935e..64b333a 100755 (executable)
@@ -37,6 +37,10 @@ script to administer the budget periods table
        - we show the record having primkey=$primkey and ask for deletion validation form
  if $op=delete_confirmed
        - we delete the record having primkey=$primkey
+ if $op=duplicate_form
+  - displays the duplication of budget period form (allowing specification of dates)
+ if $op=duplicate_budget
+  - we perform the duplication of the budget period specified as budget_period_id
 
 =cut
 
@@ -54,6 +58,7 @@ use C4::Output;
 use C4::Acquisition;
 use C4::Budgets;
 use C4::Debug;
+use C4::SQLHelper;
 
 my $dbh = C4::Context->dbh;
 
@@ -169,6 +174,74 @@ elsif ( $op eq 'delete_confirmed' ) {
        $op='else';
 }
 
+# display the form for duplicating
+elsif ( $op eq 'duplicate_form'){
+    $template->param(
+        DHTMLcalendar_dateformat       => C4::Dates->DHTMLcalendar(),
+        'duplicate_form' => '1',
+        'budget_period_id' => $budget_period_id,
+    );
+}
+
+# handle the actual duplication
+elsif ( $op eq 'duplicate_budget' ){
+    die "please specify a budget period id\n" if( !defined $budget_period_id || $budget_period_id eq '' );
+    my $startdate = $input->param('budget_period_startdate');
+    my $enddate = $input->param('budget_period_enddate');
+
+    my $data = GetBudgetPeriod( $budget_period_id);
+
+    $data->{'budget_period_startdate'} = $startdate;
+    $data->{'budget_period_enddate'} = $enddate;
+    delete $data->{'budget_period_id'};
+    my $new_budget_period_id = C4::SQLHelper::InsertInTable('aqbudgetperiods', $data);
+
+    my $tree = GetBudgetHierarchy( $budget_period_id );
+
+    # hash mapping old ids to new
+    my %old_new;
+    # hash mapping old parent ids to list of new children ids
+    # only store a child here if the parents old id isnt in the old_new map
+    # when the parent is found, this map will be used, and then the entry removed and their id placed in old_new
+    my %parent_children;
+
+    for my $entry( @$tree ){
+        die "serious errors, parent period $budget_period_id doesnt match child ", $entry->{'budget_period_id'}, "\n" if( $entry->{'budget_period_id'} != $budget_period_id );
+        my $orphan = 0; # set to 1 if we need to make an entry in parent_children
+        my $old_id = delete $entry->{'budget_id'};
+        my $parent_id = delete $entry->{'budget_parent_id'};
+        $entry->{'budget_period_id'} = $new_budget_period_id;
+
+        if( !defined $parent_id ){
+        } elsif( defined $parent_id && $parent_id eq '' ){
+        } elsif( defined $old_new{$parent_id} ){
+            # set parent id now
+            $entry->{'budget_parent_id'} = $old_new{$parent_id};
+        } else {
+            # make an entry in parent_children
+            $parent_children{$parent_id} = [] unless defined $parent_children{$parent_id};
+            $orphan = 1;
+        }
+
+        # write it to db
+        my $new_id = C4::SQLHelper::InsertInTable('aqbudgets', $entry);
+        $old_new{$old_id} = $new_id;
+        push @{$parent_children{$parent_id}}, $new_id if $orphan;
+
+        # deal with any children
+        if( defined $parent_children{$old_id} ){
+            # tell my children my new id
+            for my $child ( @{$parent_children{$old_id}} ){
+                C4::SQLHelper::UpdateInTable('aqcudgets', [ 'budget_id' => $child, 'budget_parent_id' => $new_id ]);
+            }
+            delete $parent_children{$old_id};
+        }
+    }
+
+    # display the list of budgets
+    $op = 'else';
+}
+
 # DEFAULT - DISPLAY AQPERIODS TABLE
 # -------------------------------------------------------------------
 # display the list of budget periods
index 7126c99..9d3f0ac 100755 (executable)
@@ -111,7 +111,7 @@ elsif ( $op eq 'add_validate' ) {
         });
     }
 
-    print $input->redirect("/cgi-bin/koha/acqui/supplier.pl?supplierid=$booksellerid");
+    print $input->redirect("/cgi-bin/koha/acqui/supplier.pl?booksellerid=$booksellerid");
     exit;
 
     # END $OP eq ADD_VALIDATE
@@ -138,7 +138,7 @@ elsif ( $op eq 'delete_confirmed' ) {
 
     DelContract( { contractnumber => $contractnumber } );
 
-    print $input->redirect("/cgi-bin/koha/acqui/supplier.pl?supplierid=$booksellerid");
+    print $input->redirect("/cgi-bin/koha/acqui/supplier.pl?booksellerid=$booksellerid");
     exit;
 
     # END $OP eq DELETE_CONFIRMED
index 8c6f42e..e7422a6 100755 (executable)
@@ -93,7 +93,8 @@ while ( my $row = $sth->fetchrow_hashref ) {
 
 ## If Form Data Passed, Update the Database
 if ( $input->param('updateLimits') ) {
-       DeleteBranchTransferLimits();
+    DeleteBranchTransferLimits($branchcode);
+
 
        foreach my $code ( @codes ) {
                foreach my $toBranch ( @branchcodes ) {
index 2b55d9f..3a76084 100755 (executable)
@@ -22,6 +22,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user({
 
 my $op=$query->param("op");
 my $format=$query->param("format");
+my $error = '';
 if ($op eq "export") {
        my $biblionumber = $query->param("bib");
                if ($biblionumber){
@@ -39,7 +40,6 @@ if ($op eq "export") {
                                $marc = marc2modsxml($marc);
                        }
                        elsif ($format =~ /dc/) {
-                               my $error;
                                ($error,$marc) = marc2dcxml($marc,1);
                                $format = "dublin-core.xml";
                        }
@@ -51,6 +51,10 @@ if ($op eq "export") {
                                C4::Charset::SetUTF8Flag($marc, 1);
                                $marc = $marc->as_usmarc();
                        }
+            elsif ($format =~ /marcstd/) {
+                C4::Charset::SetUTF8Flag($marc,1);
+                ($error, $marc) = marc2marc($marc, 'marcstd', C4::Context->preference('marcflavour'));
+            }
                        print $query->header(
                                -type => 'application/octet-stream',
                 -attachment=>"bib-$biblionumber.$format");
index 248c0de..4bf06b5 100755 (executable)
@@ -32,6 +32,7 @@ use C4::Branch; # XXX subfield_is_koha_internal_p
 use C4::ClassSource;
 use C4::Dates;
 use List::MoreUtils qw/any/;
+use C4::Search;
 
 use MARC::File::XML;
 use URI::Escape;
diff --git a/cataloguing/value_builder/callnumber-KU.pl b/cataloguing/value_builder/callnumber-KU.pl
new file mode 100755 (executable)
index 0000000..e0fa444
--- /dev/null
@@ -0,0 +1,135 @@
+#!/usr/bin/perl
+
+# Copyright 2012 CatalystIT Ltd
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with Koha; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+use strict;
+use warnings;
+use C4::Auth;
+use CGI;
+use C4::Context;
+
+=head1 DESCRIPTION
+
+Is used for callnumber computation.
+
+User must supply a letter prefix (unspecified length) followed by an empty space followed by a "number".
+"Number" is 4 character long, and is either a number sequence which is 01 padded.
+If input does not conform with this format any processing is omitted.
+
+Some examples of legal values that trigger auto allocation:
+
+AAA 0  - returns first unused number AAA 0xxx starting with AAA 0001
+BBB 12 - returns first unused number BBB 12xx starting with BBB 1201
+CCC QW - returns first unused number CCC QWxx starting with CCC QW01
+
+=cut
+
+sub plugin_parameters {
+}
+
+sub plugin_javascript {
+    my ($dbh,$record,$tagslib,$field_number,$tabloop) = @_;
+    my $res="
+    <script type='text/javascript'>
+        function Focus$field_number() {
+            return 1;
+        }
+
+        function Blur$field_number() {
+                return 1;
+        }
+
+        function Clic$field_number() {
+                var code = document.getElementById('$field_number');
+                var url = '../cataloguing/plugin_launcher.pl?plugin_name=callnumber-KU.pl&code=' + code.value;
+                var blurcallbackcallnumber = {
+                    success: function(o) {
+                        var field = document.getElementById('$field_number');
+                        field.value = o.responseText;
+                        return 1;
+                    }
+                }
+                var transaction = YAHOO.util.Connect.asyncRequest('GET',url, blurcallbackcallnumber, null);
+            return 1;
+        }
+    </script>
+    ";
+
+    return ($field_number,$res);
+}
+
+my $BASE_CALLNUMBER_RE = qr/^(\w+) (\w+)$/;
+sub plugin {
+    my ($input) = @_;
+    my $code = $input->param('code');
+
+    my ($template, $loggedinuser, $cookie) = get_template_and_user({
+        template_name   => "cataloguing/value_builder/ajax.tmpl",
+        query           => $input,
+        type            => "intranet",
+        authnotrequired => 0,
+        flagsrequired   => {editcatalogue => '*'},
+        debug           => 1,
+    });
+
+    my $ret;
+    my ($alpha, $num) = ($code =~ $BASE_CALLNUMBER_RE);
+    if (defined $num) { # otherwise no point
+        my ($num_alpha, $num_num) = ($num =~ m/^(\D+)?(\d+)?$/);
+        $num_alpha ||= '';
+        my $pad_len = 4 - length($num);
+
+        if ($pad_len > 0) {
+            my $num_padded = $num_num;
+            $num_padded .= "0" x ($pad_len - 1) if $pad_len > 1;
+            $num_padded .= "1";
+            my $padded = "$alpha $num_alpha" . $num_padded;
+
+            my $dbh = C4::Context->dbh;
+            if ( my $first = $dbh->selectrow_array("SELECT itemcallnumber
+                                                    FROM items
+                                                    WHERE itemcallnumber = ?", undef, $padded) ) {
+                my $icn = $dbh->selectcol_arrayref("SELECT itemcallnumber
+                                                    FROM items
+                                                    WHERE itemcallnumber LIKE ?
+                                                      AND itemcallnumber >   ?
+                                                    ORDER BY itemcallnumber", undef, "$alpha $num_alpha%", $first);
+                my $next = $num_padded + 1;
+                my $len = length($num_padded);
+                foreach (@$icn) {
+                    my ($num1) = ( m/(\d+)$/o );
+                    if ($num1 > $next) { # a hole in numbering found, stop
+                        last;
+                    }
+                    $next++;
+                }
+                $ret = "$alpha $num_alpha" . sprintf("%0${len}d", $next) if length($next) <= $len; # no overflow
+            }
+            else {
+                $ret = $padded;
+            }
+        }
+    }
+
+    $template->param(
+        return => $ret || $code
+    );
+    output_html_with_http_headers $input, $cookie, $template->output;
+}
+
+1;
index cf71094..d723bc2 100755 (executable)
@@ -134,13 +134,16 @@ if ( $run_report ) {
             GROUP_CONCAT(DISTINCT reserves.branchcode 
                     ORDER BY items.itemnumber SEPARATOR ', ') l_branch,
             items.holdingbranch as branch,
-            items.itemcallnumber,
             GROUP_CONCAT(DISTINCT items.itype 
                     ORDER BY items.itemnumber SEPARATOR '<br/>') l_itype,
             GROUP_CONCAT(DISTINCT items.location 
                     ORDER BY items.itemnumber SEPARATOR '<br/>') l_location,
             GROUP_CONCAT(DISTINCT items.itemcallnumber 
                     ORDER BY items.itemnumber SEPARATOR '<br/>') l_itemcallnumber,
+            GROUP_CONCAT(DISTINCT items.enumchron
+                    ORDER BY items.itemnumber SEPARATOR '<br/>') l_enumchron,
+            GROUP_CONCAT(DISTINCT items.copynumber
+                    ORDER BY items.itemnumber SEPARATOR '<br/>') l_copynumber,
             items.itemnumber,
             notes,
             notificationdate,
@@ -159,6 +162,7 @@ if ( $run_report ) {
     WHERE
     reserves.found IS NULL
     $sqldatewhere
+    AND (reserves.itemnumber IS NULL OR reserves.itemnumber = items.itemnumber)
     AND items.itemnumber NOT IN (SELECT itemnumber FROM branchtransfers where datearrived IS NULL)
     AND issues.itemnumber IS NULL
     AND reserves.priority <> 0 
@@ -200,6 +204,8 @@ if ( $run_report ) {
                 holdingbranch    => $data->{l_holdingbranch},
                 branch           => $data->{l_branch},
                 itemcallnumber   => $data->{l_itemcallnumber},
+                enumchron        => $data->{l_enumchron},
+               copyno           => $data->{l_copynumber},
                 notes            => $data->{notes},
                 notificationdate => $data->{notificationdate},
                 reminderdate     => $data->{reminderdate},
index 3023cdf..4b51423 100755 (executable)
@@ -81,7 +81,7 @@ sub GetHoldsQueueItems {
        my $dbh = C4::Context->dbh;
 
     my @bind_params = ();
-       my $query = q/SELECT tmp_holdsqueue.*, biblio.author, items.ccode, items.location, items.enumchron, items.cn_sort, biblioitems.publishercode,biblio.copyrightdate,biblioitems.publicationyear,biblioitems.pages,biblioitems.size,biblioitems.publicationyear,biblioitems.isbn
+       my $query = q/SELECT tmp_holdsqueue.*, biblio.author, items.ccode, items.location, items.enumchron, items.cn_sort, biblioitems.publishercode,biblio.copyrightdate,biblioitems.publicationyear,biblioitems.pages,biblioitems.size,biblioitems.publicationyear,biblioitems.isbn,items.copynumber
                   FROM tmp_holdsqueue
                        JOIN biblio      USING (biblionumber)
                                  LEFT JOIN biblioitems USING (biblionumber)
index 128d1eb..039a0d0 100755 (executable)
@@ -129,6 +129,8 @@ foreach my $num (@getreserves) {
     $getreserv{'homebranch'}     = $gettitle->{'homebranch'};
     $getreserv{'holdingbranch'}  = $gettitle->{'holdingbranch'};
     $getreserv{'itemcallnumber'} = $gettitle->{'itemcallnumber'};
+    $getreserv{'enumchron'}      = $gettitle->{'enumchron'};
+    $getreserv{'copynumber'}     = $gettitle->{'copynumber'};
     if ( $gettitle->{'homebranch'} ne $gettitle->{'holdingbranch'} ) {
         $getreserv{'dotransfer'} = 1;
     }
index e0827f9..877f3af 100644 (file)
@@ -18,8 +18,8 @@ Build-Depends: libcgi-session-driver-memcached-perl,
  libclass-factory-util-perl,
  libdata-ical-perl,
  libdate-calc-perl,
- libdate-ical-perl,
  libdate-manip-perl,
+ libdatetime-format-ical-perl,
  libdatetime-perl,
  libdbd-mysql-perl,
  libdbd-sqlite2-perl,
@@ -31,7 +31,6 @@ Build-Depends: libcgi-session-driver-memcached-perl,
  libgraphics-magick-perl,
  libgravatar-url-perl,
  libhtml-scrubber-perl,
- libhtml-template-pro-perl,
  libhttp-oai-perl,
  libjson-perl,
  liblingua-stem-perl,
@@ -94,9 +93,11 @@ Depends: ${misc:Depends}, ${koha:Depends},
  libjs-jquery,
  libjs-yui,
  mysql-client,
+ perl-doc,
  pwgen,
  sudo,
  tinymce2, 
+ unzip,
  xmlstarlet,
  yaz
 Suggests: mysql-server
index 5cafcb4..24549b9 100644 (file)
@@ -21,9 +21,11 @@ Depends: ${misc:Depends}, ${koha:Depends},
  libjs-jquery,
  libjs-yui,
  mysql-client,
+ perl-doc,
  pwgen,
  sudo,
  tinymce2, 
+ unzip,
  xmlstarlet,
  yaz
 Suggests: mysql-server
index 64a1790..7fed07e 100755 (executable)
@@ -15,6 +15,7 @@ override_dh_gencontrol:
 override_dh_auto_install:
        dh_auto_install
        rm $(TMP)/etc/koha/README.txt
+       rm $(TMP)/etc/koha/SIPconfig.xml
        rm -r $(TMP)/usr/share/koha/doc
        rm -r $(TMP)/var/run
        rm -r $(TMP)/var/lock
diff --git a/debian/templates/SIPconfig.xml b/debian/templates/SIPconfig.xml
new file mode 100644 (file)
index 0000000..82bb187
--- /dev/null
@@ -0,0 +1,84 @@
+<acsconfig xmlns="http://openncip.org/acs-config/1.0/">
+<!-- above address gets nothing, it's just a namespace -->
+  <error-detect enabled="true" />
+
+<!--
+  Set Net::Server::PreFork runtime parameters
+  syslog_ident will identify SIP2 Koha server entries in syslog
+  For OpenSolaris, add: syslog_logsock=stream
+-->
+  <server-params
+    min_servers='1'
+    min_spare_servers='0'
+    log_file='Sys::Syslog'
+    syslog_ident='koha_sip'
+    syslog_facility='local6'
+  />
+
+  <listeners>
+<!-- vestigial HTTP, never implemented: just use the OPAC!
+       <service
+      port="0:8080/tcp"
+      transport="http"
+      protocol="NCIP/1.0" />
+-->
+    <service
+      port="8023/tcp"
+      transport="telnet"
+      protocol="SIP/2.00"
+      timeout="60" />
+
+    <service
+      port="127.0.0.1:6001/tcp"
+      transport="RAW"
+      protocol="SIP/2.00"
+      timeout="60" />
+  </listeners>
+
+  <accounts>
+      <login id="term1"  password="term1" delimiter="|" error-detect="enabled" institution="CPL" />
+      <login id="koha"   password="koha"  delimiter="|" error-detect="enabled" institution="kohalibrary" />
+      <login id="koha2"  password="koha" institution="kohalibrary2" />
+      <login id="lpl-sc" password="1234" institution="LPL" />
+      <login id="lpl-sc-beacock" password="xyzzy"
+             delimiter="|" error-detect="enabled" institution="LPL" />
+  </accounts>
+
+<!--
+Institution tags are for enabled branches.  There needs to be one
+institution stanza for each institution named in the accounts above.
+The implementation attribute is actually used to find the code to run,
+in our case "ILS".
+-->
+
+<institutions>
+    <institution id="MAIN" implementation="ILS" parms="">
+          <policy checkin="true" renewal="true" checkout="true"
+                 status_update="false" offline="false"
+                 timeout="100"
+                 retries="5" />
+    </institution>
+    <institution id="CPL" implementation="ILS" parms="">
+          <policy checkin="true" renewal="true" checkout="true"
+                 status_update="false" offline="false"
+                 timeout="25"
+                 retries="5" />
+    </institution>
+    <institution id="kohalibrary" implementation="ILS" parms="">
+          <policy checkin="true" renewal="false" checkout="true"
+                 status_update="false" offline="false"
+                 timeout="100"
+                 retries="5" />
+    </institution>
+    <institution id="kohalibrary2" implementation="ILS" parms="">
+          <policy checkin="true" renewal="false" checkout="true"
+                 timeout="100"
+                 retries="3" />
+    </institution>
+    <institution id="LPL" implementation="ILS">
+          <policy checkin="true" renewal="false" checkout="true"
+                 timeout="100"
+                 retries="5" />
+    </institution>
+</institutions>
+</acsconfig>
index 686a15b..f5e2c0f 100644 (file)
@@ -275,7 +275,5 @@ __PAZPAR2_TOGGLE_XML_POST__
  <pazpar2url>http://__PAZPAR2_HOST__:__PAZPAR2_PORT__/search.pz2</pazpar2url>
  <install_log>__MISC_DIR__/koha-install-log</install_log>
  <useldapserver>0</useldapserver><!-- see C4::Auth_with_ldap for extra configs you must add if you want to turn this on -->
- <memcached_servers>__MEMCACHED_SERVERS__</memcached_servers>
- <memcached_namespace>__MEMCACHED_NAMESPACE__</memcached_namespace>
 </config>
 </yazgfs>
index 6983230..b61903f 100644 (file)
@@ -170,7 +170,7 @@ melm 611$a      Name-and-title,Subject,Subject:p
 melm 611$t      Name-and-title,Title,Subject,Subject:p
 melm 611$9      Koha-Auth-Number
 melm 611        Conference-name,Name,Subject,Subject:p
-melm 630$n      Thematic-number,Subject:Subject:p
+melm 630$n      Thematic-number,Subject,Subject:p
 melm 630$r      Music-key,Subject,Subject:p
 melm 630$9      Koha-Auth-Number
 melm 630        Subject,Subject:p
index 5f6ede7..7495cc4 100644 (file)
-# This is an attemptat creating inedxing rules for MARC records in the \r
-# Norwegian format NORMARC. The format is documented here (in Norwegian):\r
-# http://www.nb.no/fag/kompetansesenter/kunnskapsorganisering/dnk/normarc\r
-#\r
-# The most recent version of this file can be found here:\r
-# http://normarc4koha.github.com/\r
-#\r
-# This file was created by Magnus Enger Libriotech http://libriotech.no/\r
-#\r
-# ABBREVIATIONS\r
-#\r
-# NiN = Not in Normarc (these will be removed at a later date)\r
-#\r
-# NOTES\r
-#\r
-# There is a conflict between the practices of Koha and the definition of \r
-# NORMARC, where $9 is used for Koha-Auth-Number by Koha, and to denote \r
-# language by NORMARC. This concerns these fields:\r
-# 650, 651, 652, 653, 655, 656\r
-# For the time being, these are still indexed as Koha-Auth-Number\r
-# \r
-# TODO \r
-# \r
-# Add NORMARC-specific fields: 019, 531, 532, 539, 571, 572, 573, 574, 640\r
-# Consider fields where NORMARC and MARC21 differ complettely: 652, 658, more?\r
-# Consider the fields 09X, 59X, 69X, 79X, 99X\r
-# Consider whether 246 and 510 are equvalent in NORMARC and MARC21\r
-\r
-# NOTE: This is designed to be used with the grs.marcxml input filter\r
-# for ISO2709 (ANSI Z39.2) or grs.xml for MARCXML-formatted records. It\r
-# won't work for the old grs.marc input filter, which yields a different\r
-# internal structure.\r
-\r
-encoding utf-8\r
-name marc21\r
-attset bib1.att\r
-attset gils.att\r
-esetname F @\r
-esetname B @\r
-\r
-marc usmarc.mar\r
-systag sysno rank\r
-xpath enable\r
-# Some notes:\r
-# pl = Published Place\r
-# ta = Target Audience 002/22\r
-# ff8-23\r
-# lf = Literary Form 008/33\r
-# bio = Biography 008/34\r
-# fmt = Format\r
-# ln = Language\r
-# ctype = Content type: review, catalog, encyclopedia, dictionary\r
-# pubdate Publication Date\r
-# rtype =  Record type (leader 06)\r
-#\r
-# Date indexing in Koha 3.0 for MARC21:\r
-# Index                   Expected format         Notes\r
-# date-entered-on-file    [yymmdd]        (008/0-5, indexed in word and sort indexes)\r
-# copydate                [yyyy]          (260$c, indexed in word and sort indexes)\r
-# acqdate                 [yyyy-mm-dd]    (952$d, indexed in date,word,sort indexes)\r
-# pubdate                 [yyyy]          (008/7-10, indexed in year,word,num,sort indexes)\r
-\r
-all any\r
-\r
-# TODO\r
-# melm 000      rtype:n:range(data,06,1),Bib-level:w:range(data,07,01)\r
-xelm /record/leader llength:w:range(data,0,5),rtype:w:range(data,6,1),Bib-level:w:range(data,7,1)\r
-# example: xelm /record/leader l1:w:range(data,0,5),l2:w:range(data,10,2)\r
-\r
-melm 001        Control-number\r
-# NiN melm 005        Date/time-last-modified\r
-\r
-# TODO\r
-melm 007        Microform-generation:n:range(data,11,1),Material-type,ff7-00:w:range(data,0,1),ff7-01:w:range(data,1,1),ff7-02:w:range(data,2,1),ff7-01-02:w:range(data,0,2)\r
-\r
-# TODO\r
-melm 008        date-entered-on-file:n:range(data,0,5),date-entered-on-file:s:range(data,0,5),pubdate:w:range(data,7,4),pubdate:n:range(data,7,4),pubdate:y:range(data,7,4),pubdate:s:range(data,7,4),pl:w:range(data,15,3),ta:w:range(data,22,1),ff8-23:w:range(data,23,1),ff8-29:w:range(data,29,1),lf:w:range(data,33,1),bio:w:range(data,34,1),ln:n:range(data,35,3),ctype:w:range(data,24,4),Record-source:w:range(data,39,0)\r
-\r
-melm 010        LC-card-number,Identifier-standard\r
-# NiN melm 011        LC-card-number,Identifier-standard\r
-melm 015        BNB-card-number,BGF-number,Number-db,Number-natl-biblio,Identifier-standard\r
-# NiN melm 017        Number-legal-deposit,Identifier-standard\r
-# NiN melm 018        Identifier-standard\r
-melm 020$a      ISBN:w,Identifier-standard:w\r
-melm 020        ISBN,Identifier-standard\r
-melm 022$a      ISSN:w,ISBN:w\r
-melm 022        ISSN,Identifier-standard\r
-# NiN melm 023        Identifier-standard\r
-melm 024        Identifier-standard\r
-melm 025        Identifier-standard\r
-melm 027        Report-number,Identifier-standard\r
-melm 028        Number-music-publisher,Identifier-standard\r
-melm 030        CODEN,Identifier-standard\r
-#melm 033       Date\r
-# NiN melm 034        Map-scale\r
-#melm 035       Local-number,Identifier-standard\r
-# NiN melm 037        Identifier-standard,Stock-number\r
-melm 040        Code-institution,Record-source\r
-melm 041        ln\r
-melm 043        Code-geographic\r
-#melm 046       pubdate\r
-# NiN melm 050$b      LC-call-number:w,LC-call-number:p,LC-call-number:s\r
-# NiN melm 050        LC-call-number:w,LC-call-number:p,LC-call-number:s\r
-# NiN melm 052        Geographic-class\r
-melm 060        NLM-call-number\r
-# NiN melm 070        NAL-call-number\r
-melm 080        UDC-classification\r
-melm 082        Dewey-classification:w,Dewey-classification:s\r
-# NiN melm 086        Number-govt-pub\r
-#melm 942$k     LC-card-number:s\r
-\r
-## KOHA SPECIFIC\r
-#melm 090$c     Local-number:w\r
-#Identifier-standard:w\r
-\r
-melm 100$9      Cross-Reference:w,Koha-Auth-Number\r
-melm 100$a      Author,Author:p,Author:s,Editor,Author-personal-bibliography,Author-personal-bibliography:p,Author-personal-bibliography:s\r
-melm 100        Author,Author-title,Author-name-personal,Name,Name-and-title,Personal-name\r
-melm 110$9      Koha-Auth-Number\r
-melm 110        Author,Author-title,Author-name-corporate,Name,Name-and-title,Corporate-name\r
-melm 111$9      Koha-Auth-Number\r
-melm 111        Author,Author-title,Author-name-corporate,Name,Name-and-title,Conference-name\r
-melm 130$i      Thematic-number\r
-melm 130$n      Thematic-number\r
-melm 130$r      Music-key\r
-melm 130$9      Koha-Auth-Number\r
-melm 130        Title,Title-uniform\r
-\r
-melm 210        Title,Title-abbreviated\r
-# NiN melm 211        Title,Title-abbreviated\r
-# NiN melm 212        Title,Title-other-variant\r
-# NiN melm 214        Title,Title-expanded\r
-melm 222        Title,Title-key\r
-melm 240$i      Thematic-number\r
-melm 240$r      Music-key\r
-melm 240$n      Thematic-number\r
-melm 240        Title:w,Title:p,Title-uniform\r
-# NiN melm 243$n      Thematic-number\r
-# NiN melm 243$r      Music-key\r
-# NiN melm 243        Title:w,Title:p,Title-collective\r
-melm 245$a      Title-cover:w,Title-cover:p,Title-cover:s,Title:w,Title:p,Title:s\r
-melm 245$c      Author,Author-in-order:w,Author-in-order:p,Author-in-order:s\r
-melm 245$9      Cross-Reference:w,Koha-Auth-Number\r
-melm 245        Title:w,Title:p\r
-melm 246        Title,Title:p,Title-abbreviated,Title-expanded,Title-former\r
-# NiN melm 247        Title,Title:p,Title-former,Title-other-variant,Related-periodical\r
-melm 260$a      pl:w,pl:p\r
-melm 260$b      Publisher:w,Publisher:p\r
-melm 260$c      copydate,copydate:s\r
-melm 260        pl\r
-melm 300        Extent:w,Extent:p\r
-# NiN melm 400$a      Name-and-title\r
-# NiN melm 400$t      Author-title,Name-and-title,Title,Title-series\r
-# NiN melm 400$9      Koha-Auth-Number\r
-# NiN melm 400        Author,Author-name-personal,Name,Personal-name\r
-# NiN melm 410        Author,Corporate-name\r
-# NiN melm 410$a      Name-and-title\r
-# NiN melm 410$t      Author-title,Title,Title-series\r
-# NiN melm 410$9      Koha-Auth-Number\r
-# NiN melm 410        Author-name-corporate,Name\r
-# NiN melm 411        Author,Conference-name\r
-# NiN melm 411$a      Name-and-title\r
-# NiN #melm 411$t     title,author,Author-title,Title-series\r
-# NiN melm 411$t      Author-title,Title-series\r
-# NiN #melm 411       author,Author-name-corporate,Name\r
-# NiN melm 411        Author-name-corporate,Name\r
-melm 440$a      Title-series:w,Title-series:p\r
-melm 440$9      Koha-Auth-Number\r
-melm 440        Title-series:w,Title-series:p,Title,Title-series\r
-melm 490$a      Title-series:w,Title-series:p\r
-melm 490        Title,Title-series\r
-melm 490$9      Koha-Auth-Number\r
-\r
-melm 502        Material-type\r
-# NiN melm 505$r      Author\r
-# NiN melm 505$t      Title\r
-melm 505        Note:w,Note:p\r
-melm 510        Indexed-by\r
-melm 520        Abstract:w,Abstract:p\r
-#melm 533$d     pubdate,pubdate:s\r
-#melm 541$d     Date-of-acquisition,Date-of-acquisition:s\r
-\r
-melm 600$a      Name-and-title,Name,Personal-name,Subject-name-personal,Subject\r
-melm 600$t      Name-and-title,Title,Subject\r
-melm 600$9      Koha-Auth-Number\r
-#melm 600       Name,Personal-name,Subject-heading,Subject-name-personal\r
-melm 600        Name,Personal-name,Subject-name-personal,Subject\r
-melm 610$a      Name-and-title\r
-melm 610$t      Name-and-title,Title\r
-melm 610$9      Koha-Auth-Number\r
-melm 610        Name,Subject,Corporate-name\r
-melm 611        Conference-name\r
-melm 611$a      Name-and-title\r
-melm 611$t      Name-and-title,Title\r
-melm 611$9      Koha-Auth-Number\r
-melm 611        Name,Subject\r
-melm 630$i      Thematic-number\r
-melm 630$n      Thematic-number\r
-melm 630$r      Music-key\r
-melm 630$9      Koha-Auth-Number\r
-melm 630        Subject\r
-melm 650$9      Koha-Auth-Number    \r
-melm 650        Subject,Subject:p\r
-melm 651$9      Koha-Auth-Number    \r
-melm 651        Name-geographic,Subject,Subject:p\r
-melm 652$9      Koha-Auth-Number    \r
-#melm 652       subject-heading,subject-heading:p\r
-melm 653$9      Koha-Auth-Number    \r
-melm 653        Subject,Subject:p\r
-melm 654$9      Koha-Auth-Number    \r
-melm 654        Subject\r
-melm 655$9      Koha-Auth-Number    \r
-melm 655        Subject\r
-melm 656$9      Koha-Auth-Number    \r
-melm 656        Subject\r
-melm 657$9      Koha-Auth-Number    \r
-melm 657        Subject\r
-melm 690$9      Koha-Auth-Number    \r
-melm 690        Subject,Subject:p\r
-\r
-melm 700$9      Cross-Reference,Koha-Auth-Number\r
-melm 700$a      Author,Author:p\r
-melm 700$i      Thematic-number\r
-melm 700$n      Thematic-number\r
-melm 700$r      Music-key\r
-#melm 700$t     author,Author-title,Name-and-title,Title,Title-uniform\r
-melm 700$t      Author-title,Name-and-title,Title,Title-uniform\r
-melm 700        Author,Author-name-corporate,Author-name-personal,Name,Editor,Personal-name\r
-melm 710        Author,Corporate-name\r
-#melm 710$t     author,Author-title,Name-and-title,Title,Title-uniform\r
-melm 710$t      Author-title,Name-and-title,Title,Title-uniform\r
-#melm 710$a     author,author:p,Name-and-title\r
-melm 710$a      Name-and-title\r
-melm 710$i      Thematic-number\r
-melm 710$9      Koha-Auth-Number    \r
-#melm 710       author,Name\r
-melm 710        Author,Name\r
-melm 711$a      Name-and-title\r
-#melm 711$t     author,Author-title,Title,Title-uniform\r
-melm 711$t      Author-title,Title,Title-uniform\r
-melm 711$9      Koha-Auth-Number    \r
-#melm 711       author,Author-name-corporate,Name,Conference-name\r
-melm 711        Author-name-corporate,Name,Conference-name\r
-melm 730$i      Thematic-number\r
-melm 730$n      Thematic-number\r
-melm 730$r      Music-key\r
-melm 730$9      Koha-Auth-Number\r
-melm 730        Title,Title-uniform\r
-melm 740        Title,Title-other-variant\r
-melm 773$t      Host-item\r
-melm 780$t      Title\r
-melm 780        Title,Title-former,Related-periodical\r
-melm 785        Related-periodical\r
-\r
-melm 800$a      Name-and-title\r
-#melm 800$t     author,Author-title,Name-and-title,Title,Title-series\r
-melm 800$t      Author-title,Name-and-title,Title,Title-series\r
-melm 800$9      Koha-Auth-Number\r
-melm 800        Author,Author-name-personal,Name,Personal-name\r
-melm 810$a      Name-and-title\r
-melm 810$t      Author-title,Name-and-title,Title,Title-series\r
-melm 810$9      Koha-Auth-Number\r
-melm 810        Author,Corporate-name,Author-name-corporate,Name\r
-melm 811$a      Name-and-title\r
-melm 811$9      Koha-Auth-Number\r
-#melm 811$t     author,Author-title,Name-and-title,Title,Title-series\r
-melm 811$t      Author-title,Name-and-title,Title,Title-series\r
-melm 811        Author,Author-name-corporate,Name,Conference-name\r
-melm 830$9      Koha-Auth-Number\r
-melm 830        Title,Title-series\r
-# NiN melm 840        Title,Title-series\r
-\r
-###############################\r
-# Koha Local-Use Biblio Indexes\r
-melm 999$c      Local-Number:n,Local-Number:w,Local-Number:s\r
-melm 999$d      biblioitemnumber:n,biblioitemnumber:w,biblioitemnumber:s\r
-melm 942$0      totalissues:n,totalissues:s\r
-melm 942$2      cn-bib-source\r
-melm 942$6      cn-bib-sort:n,cn-bib-sort:s\r
-melm 942$c      itemtype:w\r
-melm 942$n      Suppress:w,Suppress:n\r
-\r
-# need to check bib1\r
-melm 942$h      cn-class\r
-melm 942$i      cn-item\r
-melm 942$k      cn-prefix\r
-melm 942$m      cn-suffix\r
-\r
-# Items Indexes\r
-melm 952$0      withdrawn:n,withdrawn:w\r
-melm 952$1      lost,lost:n\r
-melm 952$2      classification-source\r
-melm 952$3      materials-specified \r
-melm 952$4      damaged:n,damaged:w\r
-melm 952$5      restricted:n,restricted:w\r
-melm 952$6      cn-sort:n,cn-sort:s\r
-melm 952$7      notforloan:n,notforloan:w\r
-melm 952$8      ccode\r
-melm 952$9      itemnumber:n,itemnumber:s\r
-melm 952$a      homebranch\r
-melm 952$b      holdingbranch\r
-melm 952$c      location\r
-\r
-#dateaccessioned\r
-melm 952$d      Date-of-acquisition,Date-of-acquisition:d,Date-of-acquisition:s\r
-melm 952$e      acqsource\r
-melm 952$f      coded-location-qualifier\r
-melm 952$g      price\r
-#melm 952$h     \r
-#melm 952$i     \r
-melm 952$j      stack:n,stack:w\r
-#melm 952$k     \r
-melm 952$l      issues:n,issues:w,issues:s\r
-melm 952$m      renewals:n,renewals:w\r
-melm 952$n      reserves:n,reserves:w\r
-melm 952$o      Local-classification:w,Local-classification:p,Local-classification:s\r
-melm 952$p      barcode,barcode:n\r
-melm 952$q      onloan:n,onloan:w\r
-melm 952$r      datelastseen\r
-melm 952$s      datelastborrowed\r
-melm 952$t      copynumber\r
-melm 952$u      uri:u\r
-melm 952$v      replacementprice\r
-melm 952$w      replacementpricedate\r
-#melm 952$x\r
-melm 952$y      itype:w\r
-#melm 952$z\r
+# This is an attemptat creating inedxing rules for MARC records in the
+# Norwegian format NORMARC. The format is documented here (in Norwegian):
+# http://www.nb.no/fag/kompetansesenter/kunnskapsorganisering/dnk/normarc
+#
+# This file was created by Magnus Enger Libriotech http://libriotech.no/
+#
+# ABBREVIATIONS
+#
+# NiN = Not in Normarc (these will be removed at a later date)
+#
+# NOTES
+#
+# There is a conflict between the practices of Koha and the definition of
+# NORMARC, where $9 is used for Koha-Auth-Number by Koha, and to denote
+# language by NORMARC. This concerns these fields:
+# 650, 651, 652, 653, 655, 656
+# For the time being, these are still indexed as Koha-Auth-Number
+#
+# TODO
+#
+# Add NORMARC-specific fields: 019, 531, 532, 539, 571, 572, 573, 574, 640
+# Consider fields where NORMARC and MARC21 differ complettely: 652, 658, more?
+# Consider the fields 09X, 59X, 69X, 79X, 99X
+# Consider whether 246 and 510 are equvalent in NORMARC and MARC21
+
+# NOTE: This is designed to be used with the grs.marcxml input filter
+# for ISO2709 (ANSI Z39.2) or grs.xml for MARCXML-formatted records. It
+# won't work for the old grs.marc input filter, which yields a different
+# internal structure.
+
+encoding utf-8
+name marc21
+attset bib1.att
+attset gils.att
+esetname F @
+esetname B @
+
+marc usmarc.mar
+systag sysno rank
+xpath enable
+# Some notes:
+# pl = Published Place
+# ta = Target Audience 002/22
+# ff8-23
+# lf = Literary Form 008/33
+# bio = Biography 008/34
+# fmt = Format
+# ln = Language
+# ctype = Content type: review, catalog, encyclopedia, dictionary
+# pubdate Publication Date
+# rtype =  Record type (leader 06)
+#
+# Date indexing in Koha 3.0 for MARC21:
+# Index                   Expected format         Notes
+# date-entered-on-file    [yymmdd]        (008/0-5, indexed in word and sort indexes)
+# copydate                [yyyy]          (260$c, indexed in word and sort indexes)
+# acqdate                 [yyyy-mm-dd]    (952$d, indexed in date,word,sort indexes)
+# pubdate                 [yyyy]          (008/7-10, indexed in year,word,num,sort indexes)
+
+all any
+
+# TODO
+# melm 000      rtype:n:range(data,06,1),Bib-level:w:range(data,07,01)
+xelm /record/leader llength:w:range(data,0,5),rtype:w:range(data,6,1),Bib-level:w:range(data,7,1)
+# example: xelm /record/leader l1:w:range(data,0,5),l2:w:range(data,10,2)
+
+melm 001        Control-number
+# NiN melm 005        Date/time-last-modified
+
+# TODO
+melm 007        Microform-generation:n:range(data,11,1),Material-type,ff7-00:w:range(data,0,1),ff7-01:w:range(data,1,1),ff7-02:w:range(data,2,1),ff7-01-02:w:range(data,0,2)
+
+# TODO
+melm 008        date-entered-on-file:n:range(data,0,5),date-entered-on-file:s:range(data,0,5),pubdate:w:range(data,7,4),pubdate:n:range(data,7,4),pubdate:y:range(data,7,4),pubdate:s:range(data,7,4),pl:w:range(data,15,3),ta:w:range(data,22,1),ff8-23:w:range(data,23,1),ff8-29:w:range(data,29,1),lf:w:range(data,33,1),bio:w:range(data,34,1),ln:n:range(data,35,3),ctype:w:range(data,24,4),Record-source:w:range(data,39,0)
+
+melm 010        LC-card-number,Identifier-standard
+# NiN melm 011        LC-card-number,Identifier-standard
+melm 015        BNB-card-number,BGF-number,Number-db,Number-natl-biblio,Identifier-standard
+# NiN melm 017        Number-legal-deposit,Identifier-standard
+# NiN melm 018        Identifier-standard
+melm 020$a      ISBN:w,Identifier-standard:w
+melm 020        ISBN,Identifier-standard
+melm 022$a      ISSN:w,ISBN:w
+melm 022        ISSN,Identifier-standard
+# NiN melm 023        Identifier-standard
+melm 024        Identifier-standard
+melm 025        Identifier-standard
+melm 027        Report-number,Identifier-standard
+melm 028        Number-music-publisher,Identifier-standard
+melm 030        CODEN,Identifier-standard
+#melm 033       Date
+# NiN melm 034        Map-scale
+#melm 035       Local-number,Identifier-standard
+# NiN melm 037        Identifier-standard,Stock-number
+melm 040        Code-institution,Record-source
+melm 041        ln
+melm 043        Code-geographic
+#melm 046       pubdate
+# NiN melm 050$b      LC-call-number:w,LC-call-number:p,LC-call-number:s
+# NiN melm 050        LC-call-number:w,LC-call-number:p,LC-call-number:s
+# NiN melm 052        Geographic-class
+melm 060        NLM-call-number
+# NiN melm 070        NAL-call-number
+melm 080        UDC-classification
+melm 082        Dewey-classification:w,Dewey-classification:s
+# NiN melm 086        Number-govt-pub
+#melm 942$k     LC-card-number:s
+
+## KOHA SPECIFIC
+#melm 090$c     Local-number:w
+#Identifier-standard:w
+
+melm 100$9      Cross-Reference:w,Koha-Auth-Number
+melm 100$a      Author,Author:p,Author:s,Editor,Author-personal-bibliography,Author-personal-bibliography:p,Author-personal-bibliography:s
+melm 100        Author,Author-title,Author-name-personal,Name,Name-and-title,Personal-name
+melm 110$9      Koha-Auth-Number
+melm 110        Author,Author-title,Author-name-corporate,Name,Name-and-title,Corporate-name
+melm 111$9      Koha-Auth-Number
+melm 111        Author,Author-title,Author-name-corporate,Name,Name-and-title,Conference-name
+melm 130$i      Thematic-number
+melm 130$n      Thematic-number
+melm 130$r      Music-key
+melm 130$9      Koha-Auth-Number
+melm 130        Title,Title-uniform
+
+melm 210        Title,Title-abbreviated
+# NiN melm 211        Title,Title-abbreviated
+# NiN melm 212        Title,Title-other-variant
+# NiN melm 214        Title,Title-expanded
+melm 222        Title,Title-key
+melm 240$i      Thematic-number
+melm 240$r      Music-key
+melm 240$n      Thematic-number
+melm 240        Title:w,Title:p,Title-uniform
+# NiN melm 243$n      Thematic-number
+# NiN melm 243$r      Music-key
+# NiN melm 243        Title:w,Title:p,Title-collective
+melm 245$a      Title-cover:w,Title-cover:p,Title-cover:s,Title:w,Title:p,Title:s
+melm 245$c      Author,Author-in-order:w,Author-in-order:p,Author-in-order:s
+melm 245$9      Cross-Reference:w,Koha-Auth-Number
+melm 245        Title:w,Title:p
+melm 246        Title,Title:p,Title-abbreviated,Title-expanded,Title-former
+# NiN melm 247        Title,Title:p,Title-former,Title-other-variant,Related-periodical
+melm 260$a      pl:w,pl:p
+melm 260$b      Publisher:w,Publisher:p
+melm 260$c      copydate,copydate:s
+melm 260        pl
+melm 300        Extent:w,Extent:p
+# NiN melm 400$a      Name-and-title
+# NiN melm 400$t      Author-title,Name-and-title,Title,Title-series
+# NiN melm 400$9      Koha-Auth-Number
+# NiN melm 400        Author,Author-name-personal,Name,Personal-name
+# NiN melm 410        Author,Corporate-name
+# NiN melm 410$a      Name-and-title
+# NiN melm 410$t      Author-title,Title,Title-series
+# NiN melm 410$9      Koha-Auth-Number
+# NiN melm 410        Author-name-corporate,Name
+# NiN melm 411        Author,Conference-name
+# NiN melm 411$a      Name-and-title
+# NiN #melm 411$t     title,author,Author-title,Title-series
+# NiN melm 411$t      Author-title,Title-series
+# NiN #melm 411       author,Author-name-corporate,Name
+# NiN melm 411        Author-name-corporate,Name
+melm 440$a      Title-series:w,Title-series:p
+melm 440$9      Koha-Auth-Number
+melm 440        Title-series:w,Title-series:p,Title,Title-series
+melm 490$a      Title-series:w,Title-series:p
+melm 490        Title,Title-series
+melm 490$9      Koha-Auth-Number
+
+melm 502        Material-type
+# NiN melm 505$r      Author
+# NiN melm 505$t      Title
+melm 505        Note:w,Note:p
+melm 510        Indexed-by
+melm 520        Abstract:w,Abstract:p
+#melm 533$d     pubdate,pubdate:s
+#melm 541$d     Date-of-acquisition,Date-of-acquisition:s
+
+melm 600$a      Name-and-title,Name,Personal-name,Subject-name-personal,Subject
+melm 600$t      Name-and-title,Title,Subject
+melm 600$9      Koha-Auth-Number
+#melm 600       Name,Personal-name,Subject-heading,Subject-name-personal
+melm 600        Name,Personal-name,Subject-name-personal,Subject
+melm 610$a      Name-and-title
+melm 610$t      Name-and-title,Title
+melm 610$9      Koha-Auth-Number
+melm 610        Name,Subject,Corporate-name
+melm 611        Conference-name
+melm 611$a      Name-and-title
+melm 611$t      Name-and-title,Title
+melm 611$9      Koha-Auth-Number
+melm 611        Name,Subject
+melm 630$i      Thematic-number
+melm 630$n      Thematic-number
+melm 630$r      Music-key
+melm 630$9      Koha-Auth-Number
+melm 630        Subject
+melm 650$9      Koha-Auth-Number
+melm 650        Subject,Subject:p
+melm 651$9      Koha-Auth-Number
+melm 651        Name-geographic,Subject,Subject:p
+melm 652$9      Koha-Auth-Number
+#melm 652       subject-heading,subject-heading:p
+melm 653$9      Koha-Auth-Number
+melm 653        Subject,Subject:p
+melm 654$9      Koha-Auth-Number
+melm 654        Subject
+melm 655$9      Koha-Auth-Number
+melm 655        Subject
+melm 656$9      Koha-Auth-Number
+melm 656        Subject
+melm 657$9      Koha-Auth-Number
+melm 657        Subject
+melm 690$9      Koha-Auth-Number
+melm 690        Subject,Subject:p
+
+melm 700$9      Cross-Reference,Koha-Auth-Number
+melm 700$a      Author,Author:p
+melm 700$i      Thematic-number
+melm 700$n      Thematic-number
+melm 700$r      Music-key
+#melm 700$t     author,Author-title,Name-and-title,Title,Title-uniform
+melm 700$t      Author-title,Name-and-title,Title,Title-uniform
+melm 700        Author,Author-name-corporate,Author-name-personal,Name,Editor,Personal-name
+melm 710        Author,Corporate-name
+#melm 710$t     author,Author-title,Name-and-title,Title,Title-uniform
+melm 710$t      Author-title,Name-and-title,Title,Title-uniform
+#melm 710$a     author,author:p,Name-and-title
+melm 710$a      Name-and-title
+melm 710$i      Thematic-number
+melm 710$9      Koha-Auth-Number
+#melm 710       author,Name
+melm 710        Author,Name
+melm 711$a      Name-and-title
+#melm 711$t     author,Author-title,Title,Title-uniform
+melm 711$t      Author-title,Title,Title-uniform
+melm 711$9      Koha-Auth-Number
+#melm 711       author,Author-name-corporate,Name,Conference-name
+melm 711        Author-name-corporate,Name,Conference-name
+melm 730$i      Thematic-number
+melm 730$n      Thematic-number
+melm 730$r      Music-key
+melm 730$9      Koha-Auth-Number
+melm 730        Title,Title-uniform
+melm 740        Title,Title-other-variant
+melm 773$t      Host-item
+melm 780$t      Title
+melm 780        Title,Title-former,Related-periodical
+melm 785        Related-periodical
+
+melm 800$a      Name-and-title
+#melm 800$t     author,Author-title,Name-and-title,Title,Title-series
+melm 800$t      Author-title,Name-and-title,Title,Title-series
+melm 800$9      Koha-Auth-Number
+melm 800        Author,Author-name-personal,Name,Personal-name
+melm 810$a      Name-and-title
+melm 810$t      Author-title,Name-and-title,Title,Title-series
+melm 810$9      Koha-Auth-Number
+melm 810        Author,Corporate-name,Author-name-corporate,Name
+melm 811$a      Name-and-title
+melm 811$9      Koha-Auth-Number
+#melm 811$t     author,Author-title,Name-and-title,Title,Title-series
+melm 811$t      Author-title,Name-and-title,Title,Title-series
+melm 811        Author,Author-name-corporate,Name,Conference-name
+melm 830$9      Koha-Auth-Number
+melm 830        Title,Title-series
+# NiN melm 840        Title,Title-series
+
+###############################
+# Koha Local-Use Biblio Indexes
+melm 999$c      Local-Number:n,Local-Number:w,Local-Number:s
+melm 999$d      biblioitemnumber:n,biblioitemnumber:w,biblioitemnumber:s
+melm 942$0      totalissues:n,totalissues:s
+melm 942$2      cn-bib-source
+melm 942$6      cn-bib-sort:n,cn-bib-sort:s
+melm 942$c      itemtype:w
+melm 942$n      Suppress:w,Suppress:n
+
+# need to check bib1
+melm 942$h      cn-class
+melm 942$i      cn-item
+melm 942$k      cn-prefix
+melm 942$m      cn-suffix
+
+# Items Indexes
+melm 952$0      withdrawn:n,withdrawn:w
+melm 952$1      lost,lost:n
+melm 952$2      classification-source
+melm 952$3      materials-specified
+melm 952$4      damaged:n,damaged:w
+melm 952$5      restricted:n,restricted:w
+melm 952$6      cn-sort:n,cn-sort:s
+melm 952$7      notforloan:n,notforloan:w
+melm 952$8      ccode
+melm 952$9      itemnumber:n,itemnumber:s
+melm 952$a      homebranch
+melm 952$b      holdingbranch
+melm 952$c      location
+
+#dateaccessioned
+melm 952$d      Date-of-acquisition,Date-of-acquisition:d,Date-of-acquisition:s
+melm 952$e      acqsource
+melm 952$f      coded-location-qualifier
+melm 952$g      price
+#melm 952$h
+#melm 952$i
+melm 952$j      stack:n,stack:w
+#melm 952$k
+melm 952$l      issues:n,issues:w,issues:s
+melm 952$m      renewals:n,renewals:w
+melm 952$n      reserves:n,reserves:w
+melm 952$o      Local-classification:w,Local-classification:p,Local-classification:s
+melm 952$p      barcode,barcode:n
+melm 952$q      onloan:n,onloan:w
+melm 952$r      datelastseen
+melm 952$s      datelastborrowed
+melm 952$t      copynumber
+melm 952$u      uri:u
+melm 952$v      replacementprice
+melm 952$w      replacementpricedate
+#melm 952$x
+melm 952$y      itype:w
+#melm 952$z
index 8c33960..6be4daa 100644 (file)
@@ -17,8 +17,8 @@ libcgi-session-serialize-yaml-perl install
 libclass-factory-util-perl     install
 libdata-ical-perl      install
 libdate-calc-perl install
-libdate-ical-perl      install
 libdate-manip-perl install
+libdatetime-format-ical-perl    install
 libdatetime-format-mail-perl install
 libdatetime-format-strptime-perl       install
 libdatetime-format-w3cdtf-perl install
index 6ff1e14..d4b313b 100644 (file)
@@ -440,8 +440,8 @@ mysql-server
 libcgi-session-perl
 libdate-calc-perl
 libdate-manip-perl
-libdate-ical-perl
 libdatetime-format-mail-perl
+libdatetime-format-ical-perl
 liblingua-stem-perl
 libdatetime-format-strptime-perl
 libdatetime-format-w3cdtf-perl
index 93a0844..f211769 100644 (file)
@@ -56,9 +56,9 @@ libcgi-session-serialize-yaml-perl    install
 libclass-factory-util-perl             install
 libdata-ical-perl                      install
 libdate-calc-perl                      install
-libdate-ical-perl                      install
 libdate-manip-perl                     install
 libdatetime-perl                       install
+libdatetime-format-ical-perl            install
 libdatetime-format-mail-perl           install
 libdatetime-format-strptime-perl       install
 libdatetime-format-w3cdtf-perl         install
index fe04038..9b806bb 100644 (file)
@@ -58,9 +58,9 @@ libcgi-session-serialize-yaml-perl    install
 libclass-factory-util-perl             install
 libdata-ical-perl                      install
 libdate-calc-perl                      install
-libdate-ical-perl                      install
 libdate-manip-perl                     install
 libdatetime-perl                       install
+libdatetime-format-ical-perl            install
 libdatetime-format-mail-perl           install
 libdatetime-format-strptime-perl       install
 libdatetime-format-w3cdtf-perl         install
index 5ebbb1f..3c9156d 100644 (file)
@@ -1002,7 +1002,7 @@ INSERT INTO marc_subfield_structure (tagfield, tagsubfield, liblibrarian, libopa
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, '', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, '', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, '', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
index 277c48c..ee3e9f1 100644 (file)
@@ -1026,7 +1026,7 @@ INSERT INTO marc_subfield_structure (tagfield, tagsubfield, liblibrarian, libopa
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
@@ -4944,7 +4944,7 @@ INSERT INTO marc_subfield_structure (tagfield, tagsubfield, liblibrarian, libopa
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
@@ -8861,7 +8861,7 @@ INSERT INTO marc_subfield_structure (tagfield, tagsubfield, liblibrarian, libopa
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
@@ -12778,7 +12778,7 @@ INSERT INTO marc_subfield_structure (tagfield, tagsubfield, liblibrarian, libopa
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
@@ -16693,7 +16693,7 @@ INSERT INTO marc_subfield_structure (tagfield, tagsubfield, liblibrarian, libopa
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
@@ -20608,7 +20608,7 @@ INSERT INTO marc_subfield_structure (tagfield, tagsubfield, liblibrarian, libopa
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
@@ -24525,7 +24525,7 @@ INSERT INTO marc_subfield_structure (tagfield, tagsubfield, liblibrarian, libopa
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
@@ -28437,7 +28437,7 @@ INSERT INTO marc_subfield_structure (tagfield, tagsubfield, liblibrarian, libopa
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
index cbd9f03..a99bb4d 100644 (file)
@@ -993,7 +993,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('246', 'p', 'Titel eines Teils/einer Abteilung eines Werkes', 'Titel eines Teils/einer Abteilung eines Werkes', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('247', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('247', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
-               ('247', 'a', 'Titel', 'Titel', 0, 0, '', 2, '', '', '', NULL, -1, '', '', '', NULL),
+               ('247', 'a', 'Titel', 'Titel', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, '', '', '', NULL),
                ('247', 'b', 'Zusatz zum Titel', 'Zusatz zum Titel', 0, 0, '', 2, '', '', '', NULL, -1, '', '', '', NULL),
                ('247', 'd', 'Designation of section (SE) [OBSOLETE]', 'Designation of section (SE) [OBSOLETE]', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('247', 'e', 'Name of part/section (SE) [OBSOLETE]', 'Name of part/section (SE) [OBSOLETE]', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
index d1e6944..5b6b006 100644 (file)
@@ -74,7 +74,7 @@ INSERT IGNORE INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblib
                ('245','s','Version','Version',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('250','6','Verknüpfung','Verknüpfung',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('250','8','Feldverknüpfung und Reihenfolge','Feldverknüpfung und Reihenfolge',1,0,'',0,'','','',0,0,'FA',NULL,'',''),
-               ('250','a','Ausgabebezeichnung','Ausgabebezeichnung',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
+               ('250','a','Ausgabebezeichnung','Ausgabebezeichnung',0,0,'biblioitems.editionstatement',0,'','','',0,0,'FA',NULL,'',''),
                ('250','b','Zusatz zur Ausgabebezeichnung','Zusatz zur Ausgabebezeichnung',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('260','6','Verknüpfung','Verknüpfung',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('260','8','Feldverknüpfung und Reihenfolge','Feldverknüpfung und Reihenfolge',1,0,'',0,'','','',0,0,'FA',NULL,'',''),
index c49784a..ac4d8c0 100644 (file)
@@ -1030,7 +1030,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'Internationale Standardseriennummer', 'Internationale Standardseriennummer', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
-               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
+               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('250', 'b', 'Zusatz zur Ausgabebezeichnung', 'Zusatz zur Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('254', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('254', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
@@ -4957,7 +4957,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'Internationale Standardseriennummer', 'Internationale Standardseriennummer', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('250', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
-               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
+               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', 'b', 'Zusatz zur Ausgabebezeichnung', 'Zusatz zur Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('254', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('254', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
@@ -8883,7 +8883,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'Internationale Standardseriennummer', 'Internationale Standardseriennummer', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
-               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
+               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('250', 'b', 'Zusatz zur Ausgabebezeichnung', 'Zusatz zur Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('254', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('254', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
@@ -12809,7 +12809,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'Internationale Standardseriennummer', 'Internationale Standardseriennummer', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
-               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
+               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('250', 'b', 'Zusatz zur Ausgabebezeichnung', 'Zusatz zur Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('254', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('254', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
@@ -16733,7 +16733,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'Internationale Standardseriennummer', 'Internationale Standardseriennummer', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
-               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
+               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('250', 'b', 'Zusatz zur Ausgabebezeichnung', 'Zusatz zur Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('254', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('254', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
@@ -20657,7 +20657,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'Internationale Standardseriennummer', 'Internationale Standardseriennummer', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
-               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
+               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('250', 'b', 'Zusatz zur Ausgabebezeichnung', 'Zusatz zur Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('254', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('254', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
@@ -24583,7 +24583,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'Internationale Standardseriennummer', 'Internationale Standardseriennummer', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
-               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
+               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('250', 'b', 'Zusatz zur Ausgabebezeichnung', 'Zusatz zur Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('254', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('254', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
@@ -28504,7 +28504,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'Internationale Standardseriennummer', 'Internationale Standardseriennummer', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('250', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
-               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
+               ('250', 'a', 'Ausgabebezeichnung', 'Ausgabebezeichnung', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', 'b', 'Zusatz zur Ausgabebezeichnung', 'Zusatz zur Ausgabebezeichnung', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('254', '6', 'Verknüpfung', 'Verknüpfung', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('254', '8', 'Feldverknüpfung und Reihenfolge', 'Feldverknüpfung und Reihenfolge', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
index b81bd2b..62c64ad 100644 (file)
@@ -1005,7 +1005,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, '', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, '', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, '', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
index 0ba4025..40180d0 100644 (file)
@@ -74,7 +74,7 @@ INSERT IGNORE INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblib
                ('245','s','Version','Version',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('250','6','Linkage','Linkage',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('250','8','Field link and sequence number','Field link and sequence number',1,0,'',0,'','','',0,0,'FA',NULL,'',''),
-               ('250','a','Edition statement','Edition statement',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
+               ('250','a','Edition statement','Edition statement',0,0,'biblioitems.editionstatement',0,'','','',0,0,'FA',NULL,'',''),
                ('250','b','Remainder of edition statement','Remainder of edition statement',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('260','6','Linkage','Linkage',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('260','8','Field link and sequence number','Field link and sequence number',1,0,'',0,'','','',0,0,'FA',NULL,'',''),
index 7cee9c8..2a1d37e 100644 (file)
@@ -1030,7 +1030,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
@@ -4959,7 +4959,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
@@ -8887,7 +8887,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
@@ -12815,7 +12815,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
@@ -16741,7 +16741,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
@@ -20667,7 +20667,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
@@ -24595,7 +24595,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
@@ -28518,7 +28518,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
index b3c0f4b..02093d3 100644 (file)
@@ -438,7 +438,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('200', 'i', 'Name of a Part', 'Name of a Part', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
                ('200', 'v', 'Volume Designation', 'Volume Designation', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
                ('200', 'z', 'Language of Paralel Title Proper', 'Language of Paralel Title Proper', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
-               ('205', 'a', 'Edition Statement', 'Edition Statement', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
+               ('205', 'a', 'Edition Statement', 'Edition Statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', 0, 0, '', '', '', NULL),
                ('205', 'b', 'Issue Statement', 'Issue Statement', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
                ('205', 'd', 'Parallel Edition Statement', 'Parallel Edition Statement', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
                ('205', 'f', 'Statement of Responsibility Relating to Edition', 'Statement of Responsibility Relating to Edition', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
diff --git a/installer/data/mysql/en/optional/marc21_relatorterms.sql b/installer/data/mysql/en/optional/marc21_relatorterms.sql
new file mode 100644 (file)
index 0000000..485bbed
--- /dev/null
@@ -0,0 +1,226 @@
+-- MARC code list for Relators, taken from
+-- http://www.loc.gov/marc/relators/relacode.html
+
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','acp','Art copyist');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','act','Actor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','adp','Adapter');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aft','Author of afterword, colophon, etc.');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','anl','Analyst');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','anm','Animator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ann','Annotator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ant','Bibliographic antecedent');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','app','Applicant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aqt','Author in quotations or text abstracts');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','arc','Architect');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ard','Artistic director');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','arr','Arranger');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','art','Artist');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','asg','Assignee');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','asn','Associated name');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','att','Attributed name');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','auc','Auctioneer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aud','Author of dialog');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aui','Author of introduction');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aus','Author of screenplay');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aut','Author');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bdd','Binding designer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bjd','Bookjacket designer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bkd','Book designer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bkp','Book producer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','blw','Blurb writer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bnd','Binder');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bpd','Bookplate designer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bsl','Bookseller');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ccp','Conceptor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','chr','Choreographer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','clb','Collaborator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cli','Client');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cll','Calligrapher');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','clr','Colorist');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','clt','Collotyper');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cmm','Commentator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cmp','Composer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cmt','Compositor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cng','Cinematographer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cnd','Conductor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cns','Censor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','coe','Contestant -appellee');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','col','Collector');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','com','Compiler');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','con','Conservator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cos','Contestant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cot','Contestant -appellant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cov','Cover designer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cpc','Copyright claimant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cpe','Complainant-appellee');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cph','Copyright holder');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cpl','Complainant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cpt','Complainant-appellant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cre','Creator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','crp','Correspondent');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','crr','Corrector');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','csl','Consultant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','csp','Consultant to a project');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cst','Costume designer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ctb','Contributor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cte','Contestee-appellee');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ctg','Cartographer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ctr','Contractor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cts','Contestee');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ctt','Contestee-appellant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cur','Curator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cwt','Commentator for written text');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dfd','Defendant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dfe','Defendant-appellee');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dft','Defendant-appellant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dgg','Degree grantor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dis','Dissertant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dln','Delineator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dnc','Dancer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dnr','Donor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dpb','Distribution place');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dpc','Depicted');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dpt','Depositor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','drm','Draftsman');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','drt','Director');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dsr','Designer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dst','Distributor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dtc','Data contributor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dte','Dedicatee');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dtm','Data manager');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dto','Dedicator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dub','Dubious author');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','edt','Editor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','egr','Engraver');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','elg','Electrician');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','elt','Electrotyper');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','eng','Engineer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','etr','Etcher');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','evp','Event place');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','exp','Expert');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','fac','Facsimilist');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','fld','Field director');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','flm','Film editor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','fmo','Former owner');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','fpy','First party');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','fnd','Funder');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','frg','Forger');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','gis','Geographic information specialist');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','-grt','Graphic technician');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','hnr','Honoree');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','hst','Host');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ill','Illustrator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ilu','Illuminator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ins','Inscriber');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','inv','Inventor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','itr','Instrumentalist');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ive','Interviewee');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ivr','Interviewer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lbr','Laboratory');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lbt','Librettist');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ldr','Laboratory director');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','led','Lead');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lee','Libelee-appellee');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lel','Libelee');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','len','Lender');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','let','Libelee-appellant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lgd','Lighting designer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lie','Libelant-appellee');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lil','Libelant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lit','Libelant-appellant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lsa','Landscape architect');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lse','Licensee');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lso','Licensor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ltg','Lithographer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lyr','Lyricist');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mcp','Music copyist');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mfp','Manufacture place');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mfr','Manufacturer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mdc','Metadata contact');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mod','Moderator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mon','Monitor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mrb','Marbler');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mrk','Markup editor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','msd','Musical director');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mte','Metal-engraver');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mus','Musician');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','nrt','Narrator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','opn','Opponent');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','org','Originator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','orm','Organizer of meeting');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','oth','Other');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','own','Owner');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pat','Patron');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pbd','Publishing director');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pbl','Publisher');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pdr','Project director');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pfr','Proofreader');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pht','Photographer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','plt','Platemaker');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pma','Permitting agency');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pmn','Production manager');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pop','Printer of plates');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ppm','Papermaker');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ppt','Puppeteer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prc','Process contact');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prd','Production personnel');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prf','Performer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prg','Programmer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prm','Printmaker');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pro','Producer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prp','Production place');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prt','Printer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pta','Patent applicant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pte','Plaintiff -appellee');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ptf','Plaintiff');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pth','Patent holder');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ptt','Plaintiff-appellant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pup','Publication place');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rbr','Rubricator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rce','Recording engineer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rcp','Recipient');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','red','Redactor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ren','Renderer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','res','Researcher');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rev','Reviewer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rps','Repository');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rpt','Reporter');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rpy','Responsible party');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rse','Respondent-appellee');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rsg','Restager');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rsp','Respondent');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rst','Respondent-appellant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rth','Research team head');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rtm','Research team member');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sad','Scientific advisor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sce','Scenarist');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','scl','Sculptor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','scr','Scribe');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sds','Sound designer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sec','Secretary');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sgn','Signer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sht','Supporting host');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sng','Singer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','spk','Speaker');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','spn','Sponsor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','spy','Second party');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','srv','Surveyor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','std','Set designer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','stl','Storyteller');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','stm','Stage manager');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','stn','Standards body');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','str','Stereotyper');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','tcd','Technical director');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','tch','Teacher');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ths','Thesis advisor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','trc','Transcriber');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','trl','Translator');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','tyd','Type designer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','tyg','Typographer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','uvp','University place');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','vdg','Videographer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','voc','Vocalist');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','wam','Writer of accompanying material');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','wdc','Woodcutter');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','wde','Wood-engraver');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','wit','Witness');
diff --git a/installer/data/mysql/en/optional/marc21_relatorterms.txt b/installer/data/mysql/en/optional/marc21_relatorterms.txt
new file mode 100644 (file)
index 0000000..ef8264b
--- /dev/null
@@ -0,0 +1 @@
+MARC Code List for Relators, as of http://www.loc.gov/marc/relators/relaterm.html
index b976ea6..552ab82 100644 (file)
@@ -1005,7 +1005,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, '', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, '', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, '', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
index 0ba4025..40180d0 100644 (file)
@@ -74,7 +74,7 @@ INSERT IGNORE INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblib
                ('245','s','Version','Version',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('250','6','Linkage','Linkage',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('250','8','Field link and sequence number','Field link and sequence number',1,0,'',0,'','','',0,0,'FA',NULL,'',''),
-               ('250','a','Edition statement','Edition statement',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
+               ('250','a','Edition statement','Edition statement',0,0,'biblioitems.editionstatement',0,'','','',0,0,'FA',NULL,'',''),
                ('250','b','Remainder of edition statement','Remainder of edition statement',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('260','6','Linkage','Linkage',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('260','8','Field link and sequence number','Field link and sequence number',1,0,'',0,'','','',0,0,'FA',NULL,'',''),
index 8db6fe9..2d9a7fd 100644 (file)
@@ -1031,7 +1031,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
@@ -4958,7 +4958,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
@@ -8884,7 +8884,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
@@ -12810,7 +12810,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
@@ -16734,7 +16734,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
@@ -20658,7 +20658,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
@@ -24584,7 +24584,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
@@ -28505,7 +28505,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
index b3c0f4b..02093d3 100644 (file)
@@ -438,7 +438,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('200', 'i', 'Name of a Part', 'Name of a Part', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
                ('200', 'v', 'Volume Designation', 'Volume Designation', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
                ('200', 'z', 'Language of Paralel Title Proper', 'Language of Paralel Title Proper', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
-               ('205', 'a', 'Edition Statement', 'Edition Statement', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
+               ('205', 'a', 'Edition Statement', 'Edition Statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', 0, 0, '', '', '', NULL),
                ('205', 'b', 'Issue Statement', 'Issue Statement', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
                ('205', 'd', 'Parallel Edition Statement', 'Parallel Edition Statement', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
                ('205', 'f', 'Statement of Responsibility Relating to Edition', 'Statement of Responsibility Relating to Edition', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
diff --git a/installer/data/mysql/es-ES/optional/marc21_relatorterms.sql b/installer/data/mysql/es-ES/optional/marc21_relatorterms.sql
new file mode 100644 (file)
index 0000000..3f1ac31
--- /dev/null
@@ -0,0 +1,226 @@
+-- Listado de códigos MARC21 de Designaciones de funciòn, según
+-- http://www.loc.gov/marc/relators/relacode.html
+
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','acp','Copiador artístico');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','act','Actor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','adp','Adaptador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aft','Autor de epílogos, colofón, etc.');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','anl','Analista');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','anm','Animador, dibujante de dibujos animados');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ann','Anotador, comentador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ant','Antecedente bibliográfico');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','app','Solicitante, postulante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aqt','Autor en citas o extractos de textos');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','arc','Arquitecto');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ard','Director artístico');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','arr','Arreglador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','art','Artista');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','asg','Cesionario, apoderado, beneficiario');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','asn','Nombre asociado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','att','Nombre atribuido');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','auc','Subastador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aud','Autor de diálogo');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aui','Autor de introducción');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aus','Autor de guión');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aut','Autor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bdd','Diseñador de encuadernación');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bjd','Diseñador de cubierta o funda');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bkd','Diseñador del libro');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bkp','Productor del libro');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','blw','Escritor de contracubierta');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bnd','Encuadernador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bpd','Diseñador de ex libris');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bsl','Librero');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ccp','Creador, que concibió la idea');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','chr','Coreógrafo');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','clb','Colaborador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cli','Cliente');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cll','Calígrafo');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','clr','Colorista');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','clt','Productor de impresiones fotográficas');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cmm','Comentarista');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cmp','Compositor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cmt','Tipógrafo');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cng','Camarógrafo');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cnd','Director de intérpretes');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cns','Censor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','coe','Contendiente -apelado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','col','Coleccionista');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','com','Compilador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','con','Conservador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cos','Contendiente');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cot','Contendiente-apelante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cov','Diseñador gráfico de cubiertas, tapas');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cpc','Reclamante de autoría o derechos de autor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cpe','Demandante-demandado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cph','Titular, poseedor de los derechos de autor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cpl','Demandante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cpt','Demandante -apelante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cre','Creador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','crp','Corresponsal');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','crr','Corrector');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','csl','Consultor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','csp','Consultor de proyecto');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cst','Diseñador de vestuario');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ctb','Contribuyente');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cte','Litigado-demandado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ctg','Cartógrafo');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ctr','Contratista');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cts','Litigado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ctt','Litigado-demandado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cur','Curador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cwt','Comentarista de textos escritos');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dfd','Defendido');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dfe','Defendido-demandado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dft','Defendido-demandante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dgg','Otorgante de grado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dis','Disertante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dln','Dibujante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dnc','Bailarín/a');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dnr','Donante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dpb','Lugar de distribución');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dpc','Retratado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dpt','Depositante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','drm','Dibujante artístico o técnico');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','drt','Director');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dsr','Diseñador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dst','Distribuidor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dtc','Contribuyente de datos');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dte','Dedicatario');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dtm','Gestor, administrador de datos');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dto','Dedicante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dub','Autor dudoso, discutible');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','edt','Editor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','egr','Grabador, tallador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','elg','Electricista');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','elt','Electrotipador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','eng','Ingeniero');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','etr','Grabador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','evp','Lugar del evento');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','exp','Experto');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','fac','Editor de facsímiles');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','fld','Director de campo');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','flm','Editor de película');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','fmo','Propietario anterior');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','fpy','Primera parte');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','fnd','Patrocinador, financiador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','frg','Falsificador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','gis','Especialista en información geográfica');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','-grt','Técnico gráfico');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','hnr','Galardonado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','hst','Presentador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ill','Ilustador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ilu','Iluminador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ins','Inscriptor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','inv','Inventor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','itr','Instrumentalista');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ive','Entrevistado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ivr','Entrevistador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lbr','Laboratorio');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lbt','Libretista');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ldr','Director de laboratorio');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','led','Dirección, mando');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lee','Difamante-demandado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lel','Difamante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','len','Prestador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','let','Difamante-demandante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lgd','Diseñador de iluminación');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lie','Difamado-demandado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lil','Difamado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lit','Difamado-demandante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lsa','Arquitecto paisajista');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lse','Licenciatario');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lso','Licenciante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ltg','Litógrafo');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lyr','Letrista, escritor de la letra de una canción');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mcp','Copista de música');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mfp','Lugar de fabricación');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mfr','Fabricante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mdc','Contacto para (la obtención de) metadatos');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mod','Moderador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mon','Monitor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mrb','Jaspeador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mrk','Editor de la sobremarcación');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','msd','Director musical');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mte','Grabador de metales');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mus','Músico');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','nrt','Narrador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','opn','Oponente');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','org','Originador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','orm','Organizador de reunión');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','oth','Otro');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','own','Propietario');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pat','Patrocinador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pbd','Director de publicación');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pbl','Editor comercial');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pdr','Director de proyecto');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pfr','Corrector de pruebas');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pht','Fotógrafo');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','plt','Grabador de placas');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pma','Agencia de autorizaciones');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pmn','Gerente de producción');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pop','Impresor de placas');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ppm','Fabricante de papel');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ppt','Marionetista, titiritero');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prc','Contacto de proceso');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prd','Personal de producción');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prf','Intérprete');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prg','Programador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prm','Grabador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pro','Productor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prp','Lugar de producción');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prt','Impresor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pta','Solicitante de patente');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pte','Denunciante-demandado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ptf','Denunciante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pth','Titular de patente');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ptt','Denunciante-demandante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pup','Lugar de publicación');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rbr','Rubricante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rce','Ingeniero de grabación');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rcp','Receptor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','red','Redactor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ren','Autor de renders');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','res','Investigador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rev','Revisor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rps','Repositorio');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rpt','Reportero');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rpy','Parte responsable');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rse','Acusado-demandado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rsg','Responsable de reorganización de evento');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rsp','Demandado');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rst','Demandado-demandante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rth','Director de equipo de investigación');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rtm','Miembro de equipo de investigación');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sad','Asesor científico');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sce','Guionista');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','scl','Escultor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','scr','Escriba');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sds','Diseñador de sonido');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sec','Secretario/a');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sgn','Signatario');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sht','Anfitrión que apoya');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sng','Cantante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','spk','Conferencista, ponente');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','spn','Auspiciante');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','spy','Segunda parte');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','srv','Agrimensor, topógrafo');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','std','Diseñador de escenarios, decorados');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','stl','Narrador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','stm','Director de escena');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','stn','Organismo de estandarización');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','str','Estereotipador');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','tcd','Director técnico');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','tch','Docente, enseñanate');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ths','Director de tesis');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','trc','Transcriptor');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','trl','Traductor (de textos escritos)');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','tyd','Diseñador de tipos');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','tyg','Tipógrafo');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','uvp','Lugar de la universidad');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','vdg','Productor de video');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','voc','Vocalista');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','wam','Autor de los escritos que acompañan material audiovisual');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','wdc','Grabador de madera');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','wde','Xilógrafo');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','wit','Testigo');
diff --git a/installer/data/mysql/es-ES/optional/marc21_relatorterms.txt b/installer/data/mysql/es-ES/optional/marc21_relatorterms.txt
new file mode 100644 (file)
index 0000000..7fafc34
--- /dev/null
@@ -0,0 +1 @@
+Listado de códigos MARC21 de Designaciones de funciòn, según http://www.loc.gov/marc/relators/relaterm.html
index a5212ab..e967f24 100644 (file)
@@ -1005,7 +1005,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, '', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, '', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, '', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
diff --git a/installer/data/mysql/fr-FR/marcflavour/marc21/Optionnel/marc21_relatorterms.sql b/installer/data/mysql/fr-FR/marcflavour/marc21/Optionnel/marc21_relatorterms.sql
new file mode 100644 (file)
index 0000000..cc45eaa
--- /dev/null
@@ -0,0 +1,206 @@
+-- MARC code list for Relators, taken from
+-- http://www.marc21.ca/040010-220-f.html
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','acp','Copiste d''art');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','act','Acteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','adp','Adaptateur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aft','Auteur de la postface, de l''achevé d''imprimer, etc.');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','anl','Analyste');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','anm','Animateur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ann','Annotateur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ant','Antécédent bibliographique');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','app','Candidat');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aqt','Auteur mentionné dans une citation ou des extraits de textes');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','arc','Architecte');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ard','Directeur artistique');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','arr','Arrangeur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','art','Artiste');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','asg','Cessionnaire');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','asn','Nom associé');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','att','Nom attribué');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','auc','Commissaire-priseur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aud','Auteur du dialogue');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aui','Auteur de l''introduction, etc.');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aus','Auteur d''un scénario, etc.');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','aut','Auteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bdd','Concepteur de reliures');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bjd','Concepteur de jaquettes');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bkp','Producteur de livres');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bnd','Relieur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bpd','Concepteur d''ex-libris');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','bsl','Libraire');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ccp','Concepteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','chr','Chorégraphe');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','clb','Collaborateur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cli','Client');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cll','Calligraphiste');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','clt','Responsable de la phototypie');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cmm','Commentateur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cmp','Compositeur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cmt','Compositeur (Imprimerie)');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cnd','Chef d''orchestre');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cns','Censeur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','coe','Contestant-intimé');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','col','Collectionneur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','com','Compilateur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cos','Contestant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cot','Contestant-appelant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cov','Concepteur de pages couvertures');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cpc','Demandeur du droit d''auteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cpe','Plaignant-intimé');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cph','Titulaire du droit d''auteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cpl','Plaignant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cpt','Plaignant-appelant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cre','Créateur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','crp','Correspondant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','crr','Réviseur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','csl','Expert-conseil');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cst','Costumier');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ctb','Collaborateur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cte','Contesté-intimé');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ctg','Cartographe');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ctr','Contractant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cts','Contesté');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ctt','Contesté-appelant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cur','Conservateur d''exposition');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','cwt','Commentateur d''un texte écrit');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dfd','Défendeur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dfe','Défendeur-intimé');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dft','Défendeur-appelant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dgg','Institution émettrice d''un diplôme');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dis','Doctorant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dln','Dessinateur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dnc','Danseur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dnr','Donateur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dpc','Entité illustrée');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dpt','Déposant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','drm','Dessinateur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','drt','Directeur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dsr','Designer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dst','Distributeur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dtc','Contributeur de données');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dte','Dédicataire');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dtm','Gestionnaire de données');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','dub','Auteur douteux');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','edt','Éditeur intellectuel');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','egr','Graveur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','elg','Électricien');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','elt','Galvanotypeur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','eng','Ingénieur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','etr','Aquafortiste');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','exp','Expert');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','fac','Copiste');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','fld','Directeur local');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','flm','Monteur de films');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','fmo','Ancien propriétaire');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','fnd','Bailleur de fonds');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','fpy','Première partie');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','frg','Faussaire');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','gis','Spécialiste de l''information géographique');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','grt','Graphiste');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','grt] (Graphiste) avant mars 1988 seulement','    [Codé');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','hnr','Personne honorée');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','hst','Hôte');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ill','Illustrateur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ilu','Enlumineur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','inv','Inventeur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','itr','Instrumentiste');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ive','Personne interrogée');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ivr','Interviewer');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lbr','Laboratoire');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lbt','Librettiste');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ldr','Directeur de laboratoire');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','led','Chef');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lee','Partie adverse-intimé');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lel','Partie adverse');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','len','Prêteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','let','Partie adverse-appelant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lgd','Éclairagiste');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lie','Requérant-intimé');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lil','Requérant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lit','Requérant-appelant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lsa','Architecte-paysagiste');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lse','Porteur de licence');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lso','Donneur de licence');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ltg','Lithographe');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','lyr','Parolier');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mcp','Copiste de musique');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mdc','Agent de liaison sur les métadonnées');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mfr','Fabricant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mke','Baliseur de données');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mod','Animateur de débat');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mon','Moniteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','msd','Directeur musical');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mte','Graveur sur métal');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','mus','Musicien');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','nrt','Narrateur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','opn','Opposant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','orm','Organisateur de réunion');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','oth','Autre');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','own','Propriétaire');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pbd','Directeur de la publication');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pbl','Éditeur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pdr','Directeur de projet');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pht','Photographe');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','plt','Clicheur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pma','Agence de réglementation');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pmn','Directeur de production');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pop','Imprimeur de planches');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ppm','Papetier');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ppt','Marionnettiste');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prc','Agent de liaison du processus');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prd','Personnel de la réalisation');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prf','Interprète');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prg','Programmeur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prm','Graveur, (arts visuels)');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pro','Producteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','prt','Imprimeur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pta','Demandeur de brevet');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pte','Demandeur-intimé');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ptf','Demandeur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','pth','Titulaire de brevet');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ptt','Demandeur-appelant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rce','Ingénieur du son');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rcp','Destinataire');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','red','Rédacteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ren','Perspectiviste');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','res','Chercheur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rev','Critique');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rps','Service d''archives');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rpt','Reporteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rpy','Partie responsable');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rse','Répondant-intimé');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rsg','Metteur en scène');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rsp','Répondant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rst','Répondant-appelant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rth','Chef d''équipe de chercheurs');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','rtm','Membre d''équipe de chercheurs');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sad','Conseiller scientifique');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sce','Scénariste');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','scl','Sculpteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','scr','Scribe');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sds','Concepteur du son');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sec','Secrétaire');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sgn','Signataire');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sht','Organisme de soutien');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','sng','Chanteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','spk','Intervenant');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','spn','Commanditaire');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','spy','Deuxième partie');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','srv','Arpenteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','std','Décorateur de scène');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','stl','Conteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','stm','Régisseur de plateau');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','stn','Organisme de normalisation');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','str','Stéréotypeur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','tcd','Directeur technique');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','tch','Professeur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','ths','Directeur de thèse');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','trc','Transcripteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','trl','Traducteur');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','tyd','Concepteur de caractères typographiques');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','tyg','Typographe');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','vdg','Vidéaste');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','wam','Auteur du matériel d''appoint');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','wdc','Xylographe');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','wde','Graveur sur bois de bout');
+INSERT INTO authorised_values (category, authorised_value, lib) VALUES ('RELTERMS','wit','Témoin');
diff --git a/installer/data/mysql/fr-FR/marcflavour/marc21/Optionnel/marc21_relatorterms.txt b/installer/data/mysql/fr-FR/marcflavour/marc21/Optionnel/marc21_relatorterms.txt
new file mode 100644 (file)
index 0000000..abed2b4
--- /dev/null
@@ -0,0 +1 @@
+MARC Code List for Relators, as of http://www.marc21.ca/040010-220-f.html
index 3c96826..1c66be7 100644 (file)
@@ -1030,7 +1030,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
@@ -4957,7 +4957,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
@@ -8883,7 +8883,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
@@ -12809,7 +12809,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
@@ -16733,7 +16733,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
@@ -20657,7 +20657,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
@@ -24583,7 +24583,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
@@ -28504,7 +28504,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
index 63be2d6..789b015 100644 (file)
@@ -1156,7 +1156,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
 INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('200', 'i', 'titre partie', '', 1, 0, 'biblio.unititle', 0, '', '', '', 0, -1, '', '', '', NULL);
 INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('200', 'v', 'numéro de volume', '', 0, 0, '', -1, '', '', '', 0, 0, '', '', '', NULL);
 INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('200', 'z', 'langue du titre parallèle', '', 0, 0, '', -1, '', '', '', 0, 0, '', '', '', NULL);
-INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('205', 'a', 'mention d''édition', '', 0, 0, '', -1, '', '', '', 0, 0, '', '', '', NULL);
+INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('205', 'a', 'mention d''édition', '', 0, 0, 'biblioitems.editionstatement', -1, '', '', '', 0, 0, '', '', '', NULL);
 INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('205', 'b', 'mention de parution', '', 1, 0, '', -1, '', '', '', 0, 0, '', '', '', NULL);
 INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('205', 'd', 'mention parallèle d''édition', '', 1, 0, '', -1, '', '', '', 0, 0, '', '', '', NULL);
 INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('205', 'f', 'mention de responsabilité relative à l''édition', '', 1, 0, '', -1, '', '', '', 0, 0, '', '', '', NULL);
index ff3f7e5..913d23f 100644 (file)
@@ -1005,7 +1005,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, '', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, '', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, '', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
index 0ba4025..40180d0 100644 (file)
@@ -74,7 +74,7 @@ INSERT IGNORE INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblib
                ('245','s','Version','Version',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('250','6','Linkage','Linkage',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('250','8','Field link and sequence number','Field link and sequence number',1,0,'',0,'','','',0,0,'FA',NULL,'',''),
-               ('250','a','Edition statement','Edition statement',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
+               ('250','a','Edition statement','Edition statement',0,0,'biblioitems.editionstatement',0,'','','',0,0,'FA',NULL,'',''),
                ('250','b','Remainder of edition statement','Remainder of edition statement',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('260','6','Linkage','Linkage',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('260','8','Field link and sequence number','Field link and sequence number',1,0,'',0,'','','',0,0,'FA',NULL,'',''),
index cc0e64e..0744263 100644 (file)
@@ -1030,7 +1030,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
@@ -4953,7 +4953,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
@@ -8875,7 +8875,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
@@ -12797,7 +12797,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
@@ -16717,7 +16717,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
@@ -20637,7 +20637,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
@@ -24559,7 +24559,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
@@ -28476,7 +28476,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
index 7f890a9..27929db 100644 (file)
@@ -426,7 +426,7 @@ insert  into `marc_subfield_structure`(`tagfield`,`tagsubfield`,`liblibrarian`,`
 insert  into `marc_subfield_structure`(`tagfield`,`tagsubfield`,`liblibrarian`,`libopac`,`repeatable`,`mandatory`,`kohafield`,`tab`,`authorised_value`,`authtypecode`,`value_builder`,`isurl`,`hidden`,`frameworkcode`,`seealso`,`link`,`defaultvalue`) values ('200','i','Nome della parte','',1,0,'',2,'','','',0,0,'',NULL,'','');
 insert  into `marc_subfield_structure`(`tagfield`,`tagsubfield`,`liblibrarian`,`libopac`,`repeatable`,`mandatory`,`kohafield`,`tab`,`authorised_value`,`authtypecode`,`value_builder`,`isurl`,`hidden`,`frameworkcode`,`seealso`,`link`,`defaultvalue`) values ('200','v','Indicazione Volume','',0,0,'',2,'','','',0,0,'',NULL,'','');
 insert  into `marc_subfield_structure`(`tagfield`,`tagsubfield`,`liblibrarian`,`libopac`,`repeatable`,`mandatory`,`kohafield`,`tab`,`authorised_value`,`authtypecode`,`value_builder`,`isurl`,`hidden`,`frameworkcode`,`seealso`,`link`,`defaultvalue`) values ('200','z','Lingua titolo parallelo','',1,0,'',2,'','','',0,0,'',NULL,'','');
-insert  into `marc_subfield_structure`(`tagfield`,`tagsubfield`,`liblibrarian`,`libopac`,`repeatable`,`mandatory`,`kohafield`,`tab`,`authorised_value`,`authtypecode`,`value_builder`,`isurl`,`hidden`,`frameworkcode`,`seealso`,`link`,`defaultvalue`) values ('205','a','Formulazione di edizione','',0,0,'',2,'','','',0,0,'','','',NULL);
+insert  into `marc_subfield_structure`(`tagfield`,`tagsubfield`,`liblibrarian`,`libopac`,`repeatable`,`mandatory`,`kohafield`,`tab`,`authorised_value`,`authtypecode`,`value_builder`,`isurl`,`hidden`,`frameworkcode`,`seealso`,`link`,`defaultvalue`) values ('205','a','Formulazione di edizione','',0,0,'biblioitems.editionstatement',2,'','','',0,0,'','','',NULL);
 insert  into `marc_subfield_structure`(`tagfield`,`tagsubfield`,`liblibrarian`,`libopac`,`repeatable`,`mandatory`,`kohafield`,`tab`,`authorised_value`,`authtypecode`,`value_builder`,`isurl`,`hidden`,`frameworkcode`,`seealso`,`link`,`defaultvalue`) values ('205','b','Formulazione aggiuntiva di edizione','',1,0,'',2,'','','',0,0,'','','',NULL);
 insert  into `marc_subfield_structure`(`tagfield`,`tagsubfield`,`liblibrarian`,`libopac`,`repeatable`,`mandatory`,`kohafield`,`tab`,`authorised_value`,`authtypecode`,`value_builder`,`isurl`,`hidden`,`frameworkcode`,`seealso`,`link`,`defaultvalue`) values ('205','d','Formulazione parallela di edizione','',1,0,'',2,'','','',0,0,'','','',NULL);
 insert  into `marc_subfield_structure`(`tagfield`,`tagsubfield`,`liblibrarian`,`libopac`,`repeatable`,`mandatory`,`kohafield`,`tab`,`authorised_value`,`authtypecode`,`value_builder`,`isurl`,`hidden`,`frameworkcode`,`seealso`,`link`,`defaultvalue`) values ('205','f','Formulazione di responsabilità relativa all\'edizione','',1,0,'',2,'','','',0,0,'','','',NULL);
index 37113c2..67149c9 100644 (file)
@@ -1045,6 +1045,7 @@ CREATE TABLE `items` ( -- holdings/item information
   KEY `itembibnoidx` (`biblionumber`),
   KEY `homebranch` (`homebranch`),
   KEY `holdingbranch` (`holdingbranch`),
+  KEY `itemcallnumber` (`itemcallnumber`),
   CONSTRAINT `items_ibfk_1` FOREIGN KEY (`biblioitemnumber`) REFERENCES `biblioitems` (`biblioitemnumber`) ON DELETE CASCADE ON UPDATE CASCADE,
   CONSTRAINT `items_ibfk_2` FOREIGN KEY (`homebranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE,
   CONSTRAINT `items_ibfk_3` FOREIGN KEY (`holdingbranch`) REFERENCES `branches` (`branchcode`) ON UPDATE CASCADE
index 035bf2b..b299f50 100644 (file)
@@ -1005,7 +1005,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, '', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, '', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, '', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
index 45c2fda..1ec4d52 100644 (file)
@@ -74,7 +74,7 @@ INSERT IGNORE INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblib
                ('245','s','Version','Version',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('250','6','Linkage','Linkage',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('250','8','Field link and sequence number','Field link and sequence number',1,0,'',0,'','','',0,0,'FA',NULL,'',''),
-               ('250','a','Edition statement','Edition statement',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
+               ('250','a','Edition statement','Edition statement',0,0,'biblioitems.editionstatement',0,'','','',0,0,'FA',NULL,'',''),
                ('250','b','Remainder of edition statement','Remainder of edition statement',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('260','6','Linkage','Linkage',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('260','8','Field link and sequence number','Field link and sequence number',1,0,'',0,'','','',0,0,'FA',NULL,'',''),
index 8e9d6e2..b34566d 100644 (file)
@@ -1029,7 +1029,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
@@ -4955,7 +4955,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
@@ -8880,7 +8880,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
@@ -12805,7 +12805,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
@@ -16728,7 +16728,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
@@ -20651,7 +20651,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
@@ -24576,7 +24576,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
@@ -28496,7 +28496,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
index bc7a7b5..cc1c2b9 100644 (file)
@@ -260,7 +260,7 @@ INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,r
 INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('246','n','Nummer for del av verk','Nummer for del av verk','0','0','0','2','','','','0','-1','','','',NULL);
 INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('246','p','Tittel for del av verk','Tittel for del av verk','0','0','0','2','','','','0','-1','','','',NULL);
 INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('246','w','Sorteringsdelfelt for delfelt $a','Sorteringsdelfelt for delfelt $a','0','0','0','2','','','','0','-1','','','',NULL);
-INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('250','a','Utgave, opplag etc','Utgave, opplag etc','0','0','0','2','','','','0','-1','','','',NULL);
+INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('250','a','Utgave, opplag etc','Utgave, opplag etc','0','0','biblioitems.editionstatement','2','','','','0','-1','','','',NULL);
 INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('250','b','Ansvarshavende','Ansvarshavende','0','0','0','2','','','','0','-1','','','',NULL);
 INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('254','a','Fysisk presentasjon','Fysisk presentasjon','0','0','0','2','','','','0','-1','','','',NULL);
 INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('255','a','Opplysning om målestokk (3.3B)','Opplysning om målestokk (3.3B)','0','0','0','2','','','','0','-1','','','',NULL);
index 279d6db..45b830a 100644 (file)
@@ -65,7 +65,7 @@ INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,r
 INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('245','b','Annen tittelinformasjon','Annen tittelinformasjon','0','0','bibliosubtitle.subtitle','2','','','','0','0','FA','','','');
 INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('245','c','Ansvarsangivelse','Ansvarsangivelse','0','0','0','2','','','','0','0','FA','','','');
 INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('245','h','Generell materialbetegnelse','Generell materialbetegnelse','0','0','0','2','','','','0','0','FA','','','');
-INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('250','a','Utgave, opplag etc','Utgave, opplag etc','0','0','0','2','','','','0','-1','FA','','','');
+INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('250','a','Utgave, opplag etc','Utgave, opplag etc','0','0','biblioitems.editionstatement','2','','','','0','-1','FA','','','');
 INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('250','b','Ansvarshavende','Ansvarshavende','0','0','0','2','','','','0','-1','FA','','','');
 INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('260','a','Sted (R)','Sted (R)','1','0','biblioitems.place','2','','','','0','-1','FA','','','');
 INSERT INTO marc_subfield_structure (tagfield,tagsubfield,liblibrarian,libopac,repeatable,mandatory,kohafield,tab,authorised_value,authtypecode,value_builder,isurl,hidden,frameworkcode,seealso,link,defaultvalue) VALUES ('260','b','Navn p','Navn p','0','0','biblioitems.publishercode','2','','','','0','-1','FA','','','');
index 1721533..92963bc 100644 (file)
@@ -1004,7 +1004,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, '', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, '', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, '', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, '', '', '', NULL),
index 36a435c..e8d5bf3 100644 (file)
@@ -74,7 +74,7 @@ INSERT IGNORE INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblib
                ('245','s','Version','Version',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('250','6','Linkage','Linkage',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('250','8','Field link and sequence number','Field link and sequence number',1,0,'',0,'','','',0,0,'FA',NULL,'',''),
-               ('250','a','Edition statement','Edition statement',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
+               ('250','a','Edition statement','Edition statement',0,0,'biblioitems.editionstatement',0,'','','',0,0,'FA',NULL,'',''),
                ('250','b','Remainder of edition statement','Remainder of edition statement',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('260','6','Linkage','Linkage',0,0,'',0,'','','',0,0,'FA',NULL,'',''),
                ('260','8','Field link and sequence number','Field link and sequence number',1,0,'',0,'','','',0,0,'FA',NULL,'',''),
index a42d3ea..6d55c12 100644 (file)
@@ -1030,7 +1030,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'BKS', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'BKS', '', '', NULL),
@@ -4957,7 +4957,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'CF', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'CF', '', '', NULL),
@@ -8883,7 +8883,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SR', '', '', NULL),
@@ -12809,7 +12809,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'VR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'VR', '', '', NULL),
@@ -16733,7 +16733,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'AR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'AR', '', '', NULL),
@@ -20657,7 +20657,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'KT', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'KT', '', '', NULL),
@@ -24583,7 +24583,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, 0, 'IR', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'IR', '', '', NULL),
@@ -28504,7 +28504,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('247', 'x', 'International Standard Serial Number', 'International Standard Serial Number', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('250', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
-               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
+               ('250', 'a', 'Edition statement', 'Edition statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('250', 'b', 'Remainder of edition statement', 'Remainder of edition statement', 0, 0, '', 2, '', '', '', NULL, -1, 'SER', '', '', NULL),
                ('254', '6', 'Linkage', 'Linkage', 0, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
                ('254', '8', 'Field link and sequence number', 'Field link and sequence number', 1, 0, '', 2, '', '', '', NULL, -6, 'SER', '', '', NULL),
index 16340c4..f6bbf91 100644 (file)
@@ -501,7 +501,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
                ('200', 'i', 'Name of a Part', 'Name of a Part', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
                ('200', 'v', 'Volume Designation', 'Volume Designation', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
                ('200', 'z', 'Language of Paralel Title Proper', 'Language of Paralel Title Proper', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
-               ('205', 'a', 'Edition Statement', 'Edition Statement', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
+               ('205', 'a', 'Edition Statement', 'Edition Statement', 0, 0, 'biblioitems.editionstatement', 2, '', '', '', 0, 0, '', '', '', NULL),
                ('205', 'b', 'Issue Statement', 'Issue Statement', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
                ('205', 'd', 'Parallel Edition Statement', 'Parallel Edition Statement', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
                ('205', 'f', 'Statement of Responsibility Relating to Edition', 'Statement of Responsibility Relating to Edition', 0, 0, '', 2, '', '', '', 0, 0, '', '', '', NULL),
index 0030c93..4f71b87 100644 (file)
@@ -539,7 +539,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
 INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('200','i','Наименование части','Наименование части',1,0,'',2,'','','',0,0,'',NULL,'','');
 INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('200','v','Обозначение тома','Обозначение тома',0,0,'',2,'','','',0,0,'',NULL,'','');
 INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('200','z','Язык параллельного заглавия','Язык параллельного заглавия',1,0,'',2,'','','',0,0,'',NULL,'','');
-INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('205','a','Сведения об издании','Сведения об издании',0,0,'',2,'','','',0,0,'',NULL,'','');
+INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('205','a','Сведения об издании','Сведения об издании',0,0,'biblioitems.editionstatement',2,'','','',0,0,'',NULL,'','');
 INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('205','b','Дополнительные сведения об издании','Дополнительные сведения об издании',1,0,'',2,'','','',0,0,'',NULL,'','');
 INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('205','d','Параллельные сведения об издании','Параллельные сведения об издании',1,0,'',2,'','','',0,0,'',NULL,'','');
 INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `kohafield`, `tab`, `authorised_value`, `authtypecode`, `value_builder`, `isurl`, `hidden`, `frameworkcode`, `seealso`, `link`, `defaultvalue`) VALUES ('205','f','Сведения об ответственности, относящиеся к изданию','Сведения об ответственности, относящиеся к изданию',1,0,'',2,'','','',0,0,'',NULL,'','');
index 5e3d79d..0cc79b2 100644 (file)
@@ -334,3 +334,5 @@ INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('LocalCoverImages','0','Display local cover images on intranet details pages.','1','YesNo');
 INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES ('AllowMultipleCovers','0','Allow multiple cover images to be attached to each bibliographic record.','1','YesNo');
 INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('BorrowerRenewalPeriodBase', 'now', 'Set whether the borrower renewal date should be counted from the dateexpiry or from the current date ','dateexpiry|now','Choice');
+INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES ('AllowItemsOnHoldCheckout',0,'Do not generate RESERVE_WAITING and RESERVED warning when checking out items reserved to someone else. This allows self checkouts for those items.','','YesNo');
+INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacExportOptions','bibtex|dc|marcxml|marc8|utf8|marcstd|mods|ris','Define export options available on OPAC detail page.','','free');
index f03b31b..8cd54f3 100644 (file)
@@ -484,7 +484,7 @@ INSERT INTO marc_subfield_structure (tagfield, tagsubfield, liblibrarian, libopa
 INSERT INTO marc_tag_structure (tagfield, liblibrarian, libopac, repeatable, mandatory, authorised_value, frameworkcode) VALUES
 ('205', 'Відомості про видання', '', 1, 0, '', '');
 INSERT INTO marc_subfield_structure (tagfield, tagsubfield, liblibrarian, libopac, repeatable, mandatory, kohafield, tab, authorised_value, authtypecode, value_builder, isurl, hidden, frameworkcode, seealso, link, defaultvalue) VALUES
-('205', 'a', 'Відомості про видання', '', 0, 0, '', 0, '', '', '', 0, 0, '', '', '', NULL),
+('205', 'a', 'Відомості про видання', '', 0, 0, 'biblioitems.editionstatement', 0, '', '', '', 0, 0, '', '', '', NULL),
 ('205', 'b', 'Додаткові відомості про видання', '', 0, 0, '', -1, '', '', '', 0, 0, '', '', '', NULL),
 ('205', 'd', 'Паралельні відомості про видання', '', 0, 0, '', -1, '', '', '', 0, 0, '', '', '', NULL),
 ('205', 'f', 'Перші відомості про відповідальність відносно видання', '', 0, 0, '', -1, '', '', '', 0, 0, '', '', '', NULL),
index b9c91b9..4f2f6a1 100644 (file)
@@ -676,7 +676,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
 ('200', 'i', 'Найменування частини', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'AUD', '', NULL, NULL),
 ('200', 'v', 'Позначення тому', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'AUD', '', NULL, NULL),
 ('200', 'z', 'Мова паралельної основної назви', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'AUD', '', NULL, NULL),
-('205', 'a', 'Відомості про видання', '', 0, 0, '', 0, '', '', '', NULL, NULL, 'AUD', NULL, NULL, NULL),
+('205', 'a', 'Відомості про видання', '', 0, 0, 'biblioitems.editionstatement', 0, '', '', '', NULL, NULL, 'AUD', NULL, NULL, NULL),
 ('205', 'b', 'Додаткові відомості про видання', '', 0, 0, '', 0, '', '', '', NULL, NULL, 'AUD', NULL, NULL, NULL),
 ('205', 'd', 'Паралельні відомості про видання', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'AUD', NULL, NULL, NULL),
 ('205', 'f', 'Перші відомості про відповідальність відносно видання', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'AUD', NULL, NULL, NULL),
index b923f96..d43d5c8 100644 (file)
@@ -184,7 +184,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
 ('200', 'i', 'Найменування частини', '', 1, 0, '', 0, '', '', '', 0, 0, 'BOOK', '', '', NULL),
 ('200', 'v', 'Позначення тому', '', 1, 0, '', -1, '', '', '', 0, 0, 'BOOK', '', '', NULL),
 ('200', 'z', 'Мова паралельної основної назви', '', 1, 0, '', -1, '', '', '', 0, 0, 'BOOK', '', '', NULL),
-('205', 'a', 'Відомості про видання', '', 0, 0, '', 0, '', '', '', 0, 0, 'BOOK', '', '', NULL),
+('205', 'a', 'Відомості про видання', '', 0, 0, 'biblioitems.editionstatement', 0, '', '', '', 0, 0, 'BOOK', '', '', NULL),
 ('205', 'b', 'Додаткові відомості про видання', '', 0, 0, '', -1, '', '', '', 0, 0, 'BOOK', '', '', NULL),
 ('205', 'd', 'Паралельні відомості про видання', '', 0, 0, '', -1, '', '', '', 0, 0, 'BOOK', '', '', NULL),
 ('205', 'f', 'Перші відомості про відповідальність відносно видання', '', 0, 0, '', -1, '', '', '', 0, 0, 'BOOK', '', '', NULL),
index 0cf4a1b..5c47da8 100644 (file)
@@ -640,7 +640,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
 ('200', 'i', 'Найменування частини', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'EL', '', NULL, NULL),
 ('200', 'v', 'Позначення тому', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'EL', '', NULL, NULL),
 ('200', 'z', 'Мова паралельної основної назви', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'EL', '', NULL, NULL),
-('205', 'a', 'Відомості про видання', '', 0, 0, '', 0, '', '', '', NULL, NULL, 'EL', NULL, NULL, NULL),
+('205', 'a', 'Відомості про видання', '', 0, 0, 'biblioitems.editionstatement', 0, '', '', '', NULL, NULL, 'EL', NULL, NULL, NULL),
 ('205', 'b', 'Додаткові відомості про видання', '', 0, 0, '', 0, '', '', '', NULL, NULL, 'EL', NULL, NULL, NULL),
 ('205', 'd', 'Паралельні відомості про видання', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'EL', NULL, NULL, NULL),
 ('205', 'f', 'Перші відомості про відповідальність відносно видання', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'EL', NULL, NULL, NULL),
index 5812c72..ca34c3c 100644 (file)
@@ -229,7 +229,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
 ('200', 'i', 'Найменування частини', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'NOTE', '', NULL, NULL),
 ('200', 'v', 'Позначення тому', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'NOTE', '', NULL, NULL),
 ('200', 'z', 'Мова паралельної основної назви', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'NOTE', '', NULL, NULL),
-('205', 'a', 'Відомості про видання', '', 0, 0, '', 0, '', '', '', NULL, NULL, 'NOTE', NULL, NULL, NULL),
+('205', 'a', 'Відомості про видання', '', 0, 0, 'biblioitems.editionstatement', 0, '', '', '', NULL, NULL, 'NOTE', NULL, NULL, NULL),
 ('205', 'b', 'Додаткові відомості про видання', '', 0, 0, '', 0, '', '', '', NULL, NULL, 'NOTE', NULL, NULL, NULL),
 ('205', 'd', 'Паралельні відомості про видання', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'NOTE', NULL, NULL, NULL),
 ('205', 'f', 'Перші відомості про відповідальність відносно видання', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'NOTE', NULL, NULL, NULL),
index 65a96cc..831a545 100644 (file)
@@ -162,7 +162,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
 ('200', 'i', 'Найменування частини', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'PER', '', NULL, NULL),
 ('200', 'v', 'Позначення тому', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'PER', '', NULL, NULL),
 ('200', 'z', 'Мова паралельної основної назви', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'PER', '', NULL, NULL),
-('205', 'a', 'Відомості про видання', '', 0, 0, '', 0, '', '', '', NULL, NULL, 'PER', NULL, NULL, NULL),
+('205', 'a', 'Відомості про видання', '', 0, 0, 'biblioitems.editionstatement', 0, '', '', '', NULL, NULL, 'PER', NULL, NULL, NULL),
 ('205', 'b', 'Додаткові відомості про видання', '', 0, 0, '', 0, '', '', '', NULL, NULL, 'PER', NULL, NULL, NULL),
 ('205', 'd', 'Паралельні відомості про видання', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'PER', NULL, NULL, NULL),
 ('205', 'f', 'Перші відомості про відповідальність відносно видання', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'PER', NULL, NULL, NULL),
index bd7aeae..0232821 100644 (file)
@@ -354,7 +354,7 @@ INSERT INTO `marc_subfield_structure` (`tagfield`, `tagsubfield`, `liblibrarian`
 ('200', 'i', 'Найменування частини', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'TECH', '', NULL, NULL),
 ('200', 'v', 'Позначення тому', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'TECH', '', NULL, NULL),
 ('200', 'z', 'Мова паралельної основної назви', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'TECH', '', NULL, NULL),
-('205', 'a', 'Відомості про видання', '', 0, 0, '', 0, '', '', '', NULL, NULL, 'TECH', NULL, NULL, NULL),
+('205', 'a', 'Відомості про видання', '', 0, 0, 'biblioitems.editionstatement', 0, '', '', '', NULL, NULL, 'TECH', NULL, NULL, NULL),
 ('205', 'b', 'Додаткові відомості про видання', '', 0, 0, '', 0, '', '', '', NULL, NULL, 'TECH', NULL, NULL, NULL),
 ('205', 'd', 'Паралельні відомості про видання', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'TECH', NULL, NULL, NULL),
 ('205', 'f', 'Перші відомості про відповідальність відносно видання', '', 0, 0, '', -1, '', '', '', NULL, NULL, 'TECH', NULL, NULL, NULL),
index 099dfb9..d2d9d97 100755 (executable)
@@ -4598,7 +4598,6 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
     SetVersion($DBversion);
 }
 
-
 $DBversion = "3.07.00.007";
 if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
     $dbh->do("ALTER TABLE items MODIFY materials text;");
@@ -4663,6 +4662,56 @@ ENDOFRENEWAL
     print "Upgrade to $DBversion done (Added a system preference to allow renewal of Patron account either from todays date or from existing expiry date in the patrons account.)\n";
     SetVersion($DBversion);
 }
+
+$DBversion = "3.07.00.012";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    $dbh->do("INSERT INTO `systempreferences` (variable,value,options,explanation,type) VALUES ('AllowItemsOnHoldCheckout',0,'Do not generate RESERVE_WAITING and RESERVED warning when checking out items reserved to someone else. This allows self checkouts for those items.','','YesNo')");
+    print "Upgrade to $DBversion add 'AllowItemsOnHoldCheckout' syspref \n";
+    SetVersion ($DBversion);
+}
+
+$DBversion = "3.07.00.013";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    $dbh->do("INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacExportOptions','bibtex|dc|marcxml|marc8|utf8|marcstd|mods|ris','Define available export options on OPAC detail page.','','free');");
+    print "Upgrade to $DBversion done (Bug 7345: Add system preference OpacExportOptions.)\n";
+    SetVersion ($DBversion);
+}
+
+$DBversion = "3.07.00.014";
+if (C4::Context->preference("Version") < TransformToNum($DBversion)) {
+    print "RELTERMS category available for English-, French-, and Spanish-language relator terms. They are not loaded during upgrade but can be easily inserted using the provided marc21_relatorterms.sql SQL script (MARC21 only, and currently available for en, es, and fr only).\n";
+    SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.015";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    my $sth = $dbh->prepare(q|
+        SELECT COUNT(*) FROM marc_subfield_structure where kohafield="biblioitems.editionstatement"
+        |);
+    $sth->execute;
+    my $already_exists = $sth->fetchrow;
+    if ( not $already_exists ) {
+        my $field = C4::Context->preference("marcflavour") eq "UNIMARC" ? "205" : "250";
+        my $subfield = "a";
+        my $sth = $dbh->prepare( q|
+            UPDATE marc_subfield_structure SET kohafield = "biblioitems.editionstatement"
+            WHERE tagfield = ? AND tagsubfield = ?
+        |);
+        $sth->execute( $field, $subfield );
+        print "Upgrade to $DBversion done (Added a mapping for biblioitems.editionstatement.)\n";
+    } else {
+        print "Upgrade to $DBversion done (Added a mapping for biblioitems.editionstatement (already exists, nothing to do).)\n";
+    }
+    SetVersion($DBversion);
+}
+
+$DBversion = "3.07.00.016";
+if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
+    $dbh->do("ALTER TABLE items ADD KEY `itemcallnumber` (itemcallnumber)");
+    print "Upgrade to $DBversion done (Added index on items.itemcallnumber)\n";
+    SetVersion($DBversion);
+}
+
 =head1 FUNCTIONS
 
 =head2 DropAllForeignKeys($table)
index 5ed2c64..cbb7d81 100644 (file)
@@ -129,11 +129,20 @@ label {
 }
 
 .submit input, .submit input:focus, .button {
-       background: url(../../img/button-bg.gif );
-       border: 1px solid #999;
-       border-left-color: #ccc;
-       border-top-color: #ccc;
-       color: #333;
+       border: 1px outset #999999;
+       border-top-color: #666;
+       border-left-color: #666;
+       -moz-border-radius : 2px;
+       padding: 0.25em;
+       background: #ffffff; /* Old browsers */
+       background: -moz-linear-gradient(top, #ffffff 0%, #f7f7f7 35%, #e0e0e0 100%); /* FF3.6+ */
+       background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(35%,#f7f7f7), color-stop(100%,#e0e0e0)); /* Chrome,Safari4+ */
+       background: -webkit-linear-gradient(top, #ffffff 0%,#f7f7f7 35%,#e0e0e0 100%); /* Chrome10+,Safari5.1+ */
+       background: -o-linear-gradient(top, #ffffff 0%,#f7f7f7 35%,#e0e0e0 100%); /* Opera11.10+ */
+       background: -ms-linear-gradient(top, #ffffff 0%,#f7f7f7 35%,#e0e0e0 100%); /* IE10+ */
+       filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e0e0e0',GradientType=0 ); /* IE6-9 */
+       background: linear-gradient(top, #ffffff 0%,#f7f7f7 35%,#e0e0e0 100%); /* W3C */
+       color: #333333;
        padding: 0.25em;
 }
 
index 17305d2..fec66d6 100644 (file)
@@ -2137,9 +2137,11 @@ div.pager input.pagedisplay {
        font-weight: bold;
        text-align : center;
 }
-
 a.localimage img {
        border : 1px solid #0000CC;
        margin : 0 .5em;
        padding : .3em;
-}
\ No newline at end of file
+}
+div.pager p {
+       margin: 0;
+}
index f81b303..37cdf7c 100644 (file)
 
         var manageorders = [
             [% IF ( CAN_user_acquisition_order_manage ) %]
-                { text: _("New basket"), url: "/cgi-bin/koha/acqui/basketheader.pl?booksellerid=[% id %]&op=add_form"},
-                { text: _("Baskets"), url: "/cgi-bin/koha/acqui/booksellers.pl?supplierid=[% id %]"},
-                { text: _("Basket groups"), url: "/cgi-bin/koha/acqui/basketgroup.pl?booksellerid=[% id %]"},
+                { text: _("New basket"), url: "/cgi-bin/koha/acqui/basketheader.pl?booksellerid=[% booksellerid %]&op=add_form"},
+                { text: _("Baskets"), url: "/cgi-bin/koha/acqui/booksellers.pl?booksellerid=[% booksellerid %]"},
+                { text: _("Basket groups"), url: "/cgi-bin/koha/acqui/basketgroup.pl?booksellerid=[% booksellerid %]"},
             [% END %]
-            { text: _("Receive shipments"), url: "/cgi-bin/koha/acqui/parcels.pl?supplierid=[% id %]" },
+            { text: _("Receive shipments"), url: "/cgi-bin/koha/acqui/parcels.pl?booksellerid=[% booksellerid %]" },
             [% IF ( basketno ) %]
-                { text: _("Uncertain prices"), url: "/cgi-bin/koha/acqui/uncertainprice.pl?booksellerid=[% id %]&basketno=[% basketno %]&owner=1"}
+                { text: _("Uncertain prices"), url: "/cgi-bin/koha/acqui/uncertainprice.pl?booksellerid=[% booksellerid %]&basketno=[% basketno %]&owner=1"}
             [% ELSE %]
-                { text: _("Uncertain prices"), url: "/cgi-bin/koha/acqui/uncertainprice.pl?booksellerid=[% id %]&owner=1"}
+                { text: _("Uncertain prices"), url: "/cgi-bin/koha/acqui/uncertainprice.pl?booksellerid=[% booksellerid %]&owner=1"}
             [% END %]
         ]
-        [% IF ( id ) %]
+        [% IF ( booksellerid ) %]
             [% IF ( basketcount ) %]
                 new YAHOO.widget.Button({type: "menu", label: _("Manage orders"), name: "manageorders", menu: manageorders, container: "toolbar-list"});
             [% END %]
     //]]>
     </script>
     <ul id="toolbar-list" class="toolbar">
-        [% IF ( id ) %]
+        [% IF ( booksellerid ) %]
             [% IF ( CAN_user_acquisition_vendors_manage ) %]
-                <li><a id="editsupplier" href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% id %]&amp;op=enter">Edit</a></li>
-                <li><a id="newcontract" href="/cgi-bin/koha/admin/aqcontract.pl?op=add_form&booksellerid=[% id %]">New Contract</a></li>
-                <li><a id="editcontracts" href="/cgi-bin/koha/admin/aqcontract.pl?booksellerid=[% id %]">Contracts</a></li>
+                <li><a id="editsupplier" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]&amp;op=enter">Edit</a></li>
+                <li><a id="newcontract" href="/cgi-bin/koha/admin/aqcontract.pl?op=add_form&booksellerid=[% booksellerid %]">New Contract</a></li>
+                <li><a id="editcontracts" href="/cgi-bin/koha/admin/aqcontract.pl?booksellerid=[% booksellerid %]">Contracts</a></li>
                 [% UNLESS ( basketcount ) %]
-                    <li><a id="newbasket" href="/cgi-bin/koha/acqui/basketheader.pl?booksellerid=[% id %]&op=add_form">New Basket</a></li>
+                    <li><a id="newbasket" href="/cgi-bin/koha/acqui/basketheader.pl?booksellerid=[% booksellerid %]&op=add_form">New Basket</a></li>
                 [% END %]
             [% END %]
         [% ELSE %]
index da64ca4..ee24d76 100644 (file)
@@ -33,7 +33,7 @@
         [% IF ( budget_period_id ) %]
                 var periods_menu = [
                         { text: _("Edit budget") + " '[% budget_period_description %]'", url: "/cgi-bin/koha/admin/aqbudgetperiods.pl?op=add_form&budget_period_id=[% budget_period_id %]" },
-                        <!-- { text: _("Duplicate budget") + " '[% budget_period_description %]'" } -->
+                        { text: _("Duplicate budget") + " '[% budget_period_description %]'", url: "/cgi-bin/koha/admin/aqbudgetperiods.pl?op=duplicate_form&budget_period_id=[% budget_period_id %]" },
                 ]
         [% END %]
 
index bd597b5..5159d2a 100644 (file)
@@ -123,7 +123,8 @@ function confirm_items_deletion() {
                        { text: _("Dublin Core (XML)"), url: "/cgi-bin/koha/catalogue/export.pl?format=dc&op=export&bib=[% biblionumber %]" },
                        { text: _("MARCXML"), url: "/cgi-bin/koha/catalogue/export.pl?format=marcxml&op=export&bib=[% biblionumber %]" },
                        { text: _("MARC (non-Unicode/MARC-8)"), url: "/cgi-bin/koha/catalogue/export.pl?format=marc8&op=export&bib=[% biblionumber %]" },
-                       { text: _("MARC (Unicode/UTF-8)"), url: "/cgi-bin/koha/catalogue/export.pl?format=utf8&op=export&bib=[% biblionumber %]" }
+            { text: _("MARC (Unicode/UTF-8)"), url: "/cgi-bin/koha/catalogue/export.pl?format=utf8&op=export&bib=[% biblionumber %]" },
+            { text: _("MARC (Unicode/UTF-8, Standard)"), url: "/cgi-bin/koha/catalogue/export.pl?format=marcstd&op=export&bib=[% biblionumber %]" }
                ];
 
            new YAHOO.widget.Button({
index 6ae7cb6..00dc445 100644 (file)
@@ -22,7 +22,7 @@
     [% ELSE %]
             <li><span class="empty" id="noadressstored">No address stored.</span></li>
     [% END %]
-    [% IF ( city ) %]
+    <li>[% IF ( city ) %]
             [% city %][% IF ( state ) %], [% state %][% END %]
            [% zipcode %][% IF ( country ) %], [% country %][% END %]
     [% ELSE %]
index b43330c..b2f532b 100644 (file)
@@ -72,6 +72,6 @@
         [% ELSE %]
             You are not logged in |
         [% END %]
-        <a href="/cgi-bin/koha/help.pl" id="helper" onclick="window.open('/cgi-bin/koha/help.pl?url='+escape(document.url),'Koha_Help','width=600,height=600,toolbar=false,scrollbars=yes'); return false;">[ ? ]</a>
+        <a href="/cgi-bin/koha/help.pl" id="helper" onclick="var link=window.open('','Koha_Help','width=600,height=600,toolbar=false,scrollbars=yes'); link.location='/cgi-bin/koha/help.pl'; return false;">[ ? ]</a>
     </div>
 </div> 
index ed375d1..204e5e0 100644 (file)
@@ -48,7 +48,7 @@ YAHOO.util.Event.onContentReady("header_search", function() {
        <div id="suggestions_search" class="residentsearch">
        <p class="tip">Suggestions Search:</p>
        <form action="/cgi-bin/koha/acqui/newordersuggestion.pl" method="get">
-    <input type="hidden" name="booksellerid" value="[% supplierid %]" />
+    <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
        <label for="searchtitle">Title:</label> <input type="text" id="searchtitle" name="title" size="10" value="[% title %]" />
     <label for="searchauthor">Author:</label> <input type="text" id="searchauthor" name="author" size="10" value="[% author %]" />
     <label for="searchpublishercode">Publisher:</label> <input type="text" id="searchpublishercode" name="publishercode" size="10" value="[% publishercode %]" />
@@ -88,7 +88,7 @@ YAHOO.util.Event.onContentReady("header_search", function() {
        </div>
        [% END %]
                        <ul>
-                       <li><a href="/cgi-bin/koha/acqui/newordersuggestion.pl?booksellerid=[% supplierid %]&amp;basketno=[% basketno %]#suggestions_search">Search Suggestions</a></li>
+                       <li><a href="/cgi-bin/koha/acqui/newordersuggestion.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]#suggestions_search">Search Suggestions</a></li>
                        [% IF ( CAN_user_circulate ) %]<li><a href="/cgi-bin/koha/circ/circulation.pl#circ_search">Check Out</a></li>[% END %]
                        [% IF ( CAN_user_catalogue ) %]<li><a href="/cgi-bin/koha/catalogue/search.pl#catalog_search">Search the Catalog</a></li>[% END %]
                        </ul>   
index 961c07b..17d43d4 100644 (file)
@@ -1,4 +1,4 @@
-<div class="pager"><form class="formpager" action=""><label>Page(s):
+<div class="pager"><p class="formpager" action=""><label>Page(s):
        <img src="[% interface %]/prog/img/first.png" alt="" class="first"/>
        <img src="[% interface %]/prog/img/prev.png" alt="" class="prev"/>
        <input type="text" size="5" class="pagedisplay"/></label>
@@ -14,4 +14,4 @@
        [% IF ( perpage == 100) %]<option value="100" selected="selected">100</option>[% ELSE %]<option value="100">100</option>[% END %]
        [% IF ( perpage == 200) %]<option value="200" selected="selected">200</option>[% ELSE %]<option value="200">200</option>[% END %]
        </select></label>
-</form></div>
\ No newline at end of file
+</p></div>
\ No newline at end of file
index 3a09f64..5b96c12 100644 (file)
@@ -422,7 +422,11 @@ function vShelfAdd() {
 
 function showCart(){
                var position = $("#cartmenulink").offset();
+        var scrolld = $(window).scrollTop();
                var top = position.top + $("#cartmenulink").outerHeight();
+        if( scrolld > top ){
+            top = scrolld + 15;
+        }
                var left = position.left
                $("#cartDetails").css("position","absolute").css("top",top);
                $("#cartDetails").css("position","absolute").css("left",left);
index 796db0a..3ed6195 100644 (file)
@@ -85,6 +85,8 @@ var myDate2=document.form.dateexpiry.value.split ('/');
 // function to test all fields in forms and nav in different forms(1 ,2 or 3)
 function check_form_borrowers(nav){
        var statut=0;
+       var message = "";
+       var message_champ="";
        if (document.form.check_member.value == 1 )
        {
                if (document.form_double.answernodouble) {
@@ -101,9 +103,8 @@ function check_form_borrowers(nav){
        else
        {
            var champ_verif = document.form.BorrowerMandatoryField.value.split ('|');
-           var message = MSG_MISSING_MANDATORY
+           message += MSG_MISSING_MANDATORY
            message += "\n";
-           var message_champ="";
                for (var i=0; i<champ_verif.length; i++) {
                        if (document.getElementsByName(""+champ_verif[i]+"")[0]) {
                                var val_champ=eval("document.form."+champ_verif[i]+".value");
@@ -128,10 +129,18 @@ function check_form_borrowers(nav){
                        }
                }
        }
+
+       if ( document.form.password.value != document.form.password2.value ){
+                       if ( message_champ != '' ){
+                               message_champ += "\n";
+                       }
+                       message_champ+= MSG_PASSWORD_MISMATCH;
+                       statut=1;
+       }
+
        //patrons form to test if you checked no to the question of double
        if (statut!=1 && document.form.check_member.value > 0 ) {
                if (!(document.form_double.answernodouble.checked)){
-                       message ="";
                        message_champ+= MSG_DUPLICATE_SUSPICION;
                        statut=1;
                        document.form.nodouble.value=0;
index f491773..24b785d 100644 (file)
@@ -92,4 +92,13 @@ function checkEnter(e){ //e is event object passed from function invocation
 
 function clearHoldFor(){
        $.cookie("holdfor",null, { path: "/", expires: 0 });
-}
\ No newline at end of file
+}
+
+jQuery.fn.preventDoubleFormSubmit = function() {
+    jQuery(this).submit(function() {
+        if (this.beenSubmitted)
+            return false;
+        else
+            this.beenSubmitted = true;
+    });
+};
\ No newline at end of file
index 9723094..9b85af3 100644 (file)
@@ -24,7 +24,7 @@
 <body>
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'acquisitions-search.inc' %]
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% booksellerid %]">[% booksellername %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Basket [% basketno %]</a> &rsaquo;  Add orders from iso2709 file</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% booksellername %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Basket [% basketno %]</a> &rsaquo;  Add orders from iso2709 file</div>
 <div id="doc3" class="yui-t2">
    <div id="bd">
        <div id="yui-main">
index aaea6c0..59f647c 100644 (file)
@@ -76,7 +76,7 @@
 [% INCLUDE 'acquisitions-search.inc' %]
 
 
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% booksellerid %]">[% name|html %]</a> &rsaquo; [% UNLESS ( basketno ) %]New [% END %][% IF ( delete_confirm ) %]Delete [% END %]Basket [% basketname|html %] ([% basketno %]) for [% name|html %]</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% name|html %]</a> &rsaquo; [% UNLESS ( basketno ) %]New [% END %][% IF ( delete_confirm ) %]Delete [% END %]Basket [% basketname|html %] ([% basketno %]) for [% name|html %]</div>
 
 <div id="doc3" class="yui-t2">
 
             <h3>Basket deleted</h3>
             <META HTTP-EQUIV=Refresh CONTENT="0; url=booksellers.pl">
         [% ELSE %]
-        <h1>[% UNLESS ( basketno ) %]New [% END %][% IF ( delete_confirm ) %]Delete [% END %]Basket [% basketname|html %] ([% basketno %]) for <a href="supplier.pl?supplierid=[% booksellerid %]">[% name|html %]</a></h1>
+        <h1>[% UNLESS ( basketno ) %]New [% END %][% IF ( delete_confirm ) %]Delete [% END %]Basket [% basketname|html %] ([% basketno %]) for <a href="supplier.pl?booksellerid=[% booksellerid %]">[% name|html %]</a></h1>
         [% IF ( delete_confirm ) %]
             <h2>
             <span class="yui-button yui-link-button">
                                     [% IF ( books_loo.issn ) %] - [% books_loo.issn %][% END %]
                                     [% IF ( books_loo.publishercode ) %], [% books_loo.publishercode %][% END %]
                                     [% IF ( books_loo.publicationyear ) %], [% books_loo.publicationyear %][% END %]
+                                    [% IF ( books_loo.suggestionid ) %]
+                                        <br/>
+                                        Suggested by: [% books_loo.surnamesuggestedby %][% IF ( books_loo.firstnamesuggestedby ) %], [% books_loo.firstnamesuggestedby %] [% END %]
+                                        (<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% books_loo.suggestionid %]">suggestion #[% books_loo.suggestionid %]</a>)
+                                    [% END %]
+                                    [% IF ( books_loo.editionstatement ) %], [% books_loo.editionstatement %][% END %]
                             </p>
                             </td>
                         <td class="number">[% books_loo.rrp %]</td>
                         [% IF ( order.issn ) %] - [% order.issn %][% END %]
                         [% IF ( order.publishercode ) %], [% order.publishercode %][% END %]
                         [% IF ( order.publicationyear ) %], [% order.publicationyear %][% END %]
+                        [% IF ( books_loo.editionstatement ) %], [% books_loo.editionstatement %][% END %]
                       </p>
                     </td>
                     <td><p>[% order.rrp %]</p></td>
index 2c29865..c651e00 100644 (file)
@@ -106,11 +106,11 @@ function submitForm(form) {
 
 function yuiToolbar() {
        var booksellermenu = [
-               { text: _("Vendor"), url: "/cgi-bin/koha/acqui/supplier.pl?supplierid=[% booksellerid %]" },
-               { text: _("Edit vendor"), url: "/cgi-bin/koha/acqui/booksellers.pl?booksellerid=[% booksellerid %]"},
+               { text: _("Vendor"), url: "/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]" },
+               { text: _("Edit vendor"), url: "/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]&op=enter"},
        ]
        var ordersbutton = [
-                { text: _("Manage orders"), url: "/cgi-bin/koha/acqui/booksellers.pl?supplierid=[% booksellerid %]" },
+                { text: _("Manage orders"), url: "/cgi-bin/koha/acqui/booksellers.pl?booksellerid=[% booksellerid %]" },
                 { text: _("Edit uncertain prices"), url: "/cgi-bin/koha/acqui/uncertainprice.pl?booksellerid=[% booksellerid %]&owner=1" },
        ]
        new YAHOO.widget.Button("newbasketgroup");
@@ -137,7 +137,7 @@ function yuiToolbar() {
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'acquisitions-search.inc' %]
 
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% booksellerid %]">[% booksellername |html %]</a> &rsaquo; Basket Grouping</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% booksellername |html %]</a> &rsaquo; Basket Grouping</div>
 
 <div id="doc" class="yui-t7">
             
@@ -145,7 +145,7 @@ function yuiToolbar() {
                <div id="toolbar">
                                <a href="?op=add&amp;booksellerid=[% booksellerid %]" name="newbasketgroup" id="newbasketgroup">New Basket Group</a>
                        </div>
-                       <h1>Basket Grouping for <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% booksellerid %]">[% booksellername |html %]</a></h1>
+                       <h1>Basket Grouping for <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% booksellername |html %]</a></h1>
                </div>
 [% IF ( grouping ) %]
        <div id="bd"> 
index 0228054..160c5f6 100644 (file)
@@ -91,7 +91,7 @@ li.list2 {
 <div id="breadcrumbs">
     <a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo;
     <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo;
-    <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% booksellerid %]">[% booksellername %]</a> &rsaquo;
+    <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% booksellername %]</a> &rsaquo;
     [% IF ( add_form ) %]
         [% IF ( basketno ) %]Edit basket '[% basketname %]'
         [% ELSE %]add a basket to [% booksellername %]
index 842f75d..1616261 100644 (file)
         [% END %]
                 <td>[% IF ( CAN_user_acquisition_order_manage ) %]
                     [% IF ( loop_supplier.active ) %]
-                        <a href="basketheader.pl?booksellerid=[% loop_supplier.supplierid %]&amp;op=add_form">New basket</a>
+                        <a href="basketheader.pl?booksellerid=[% loop_supplier.booksellerid %]&amp;op=add_form">New basket</a>
                     [% ELSE %]
                         Inactive
                     [% END %]
                     [% END %]
                 </td>
-                <td>   <a href="parcels.pl?supplierid=[% loop_supplier.supplierid %]">Receive shipment</a>
+                <td>   <a href="parcels.pl?booksellerid=[% loop_supplier.booksellerid %]">Receive shipment</a>
                 </td>
                 [% IF ( loop_supplier.name ) %]
-                <td><a href="supplier.pl?supplierid=[% loop_supplier.supplierid %]">[% loop_supplier.name %]</a></td>
+                <td><a href="supplier.pl?booksellerid=[% loop_supplier.booksellerid %]">[% loop_supplier.name %]</a></td>
                 [% ELSE %]
-                <td><a href="supplier.pl?supplierid=[% loop_supplier.supplierid %]">NO NAME</a></td>
+                <td><a href="supplier.pl?booksellerid=[% loop_supplier.booksellerid %]">NO NAME</a></td>
                 [% END %]
                 <td>   <table>
                         [% IF ( loop_supplier.loop_basket ) %]
index 3385fb3..2b52dd7 100644 (file)
                     <td>[% suggestions_loo.basketname %] (<a href="basket.pl?basketno=[% suggestions_loo.basketno %]">[% suggestions_loo.basketno %]</a>)</td>
                        <td>[% suggestions_loo.groupname %] (<a href="basketgroup.pl?booksellerid=[% suggestions_loo.id %]">[% suggestions_loo.basketgroupid %]</a>)</td>
                                        <td>[% IF ( suggestions_loo.invoicenumber ) %]
-                                               <a href="/cgi-bin/koha/acqui/parcel.pl?invoice=[% suggestions_loo.invoicenumber %]&amp;supplierid=[% suggestions_loo.id %]&amp;datereceived=[% suggestions_loo.datereceived %]">[% suggestions_loo.invoicenumber %]</a>
+                                               <a href="/cgi-bin/koha/acqui/parcel.pl?invoice=[% suggestions_loo.invoicenumber %]&amp;booksellerid=[% suggestions_loo.id %]&amp;datereceived=[% suggestions_loo.datereceived %]">[% suggestions_loo.invoicenumber %]</a>
                                            [% ELSE %]
                                                &nbsp;
                                            [% END %]
                                        </td>
                                        <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% suggestions_loo.biblionumber %]">[% suggestions_loo.title |html %]</a>
                         <br />[% suggestions_loo.author %] <br /> [% suggestions_loo.isbn %]</td>
-                                       <td><a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% suggestions_loo.id %]">[% suggestions_loo.name %]</a></td>
+                                       <td><a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% suggestions_loo.id %]">[% suggestions_loo.name %]</a></td>
                                        <td>[% suggestions_loo.creationdate | $KohaDates %]</td>
                                        <td>[% suggestions_loo.datereceived | $KohaDates %]</td>
                                        <td>[% suggestions_loo.quantity %]</td>
index 3eaf8a6..cdb8711 100644 (file)
@@ -6,9 +6,9 @@
 //<![CDATA[
 $(document).ready(function() {
     $("input:checkbox[name=claim_for]").click(function(){
-        var supplierid = $(this).attr('supplierid');
+        var booksellerid = $(this).attr('booksellerid');
         if ( $("input:checkbox[name=claim_for]:checked").length > 0) {
-            $("input:checkbox[name=claim_for][supplierid!="+supplierid+"]").attr('disabled', true);
+            $("input:checkbox[name=claim_for][booksellerid!="+booksellerid+"]").attr('disabled', true);
         } else {
             $("input:checkbox[name=claim_for]").attr('disabled', false);
         }
@@ -48,7 +48,7 @@ $(document).ready(function() {
 <form action="lateorders.pl" name="claim" method="post">
   <input type="hidden" name="op" value="send_alert" />
   <input type="hidden" name="delay" value="[% delay %]" />
-  <input type="hidden" name="supplierid" value="[% SupplierId %]" />
+  <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
        [% IF ( letters ) %]
        <p><label for="letter_code">Claim using notice: </label><select name="letter_code" id="letter_code">
          [% FOREACH letter IN letters %]
@@ -109,7 +109,7 @@ $(document).ready(function() {
             <td>[% lateorder.claimed_date %]</td>
             <td>
                 [% UNLESS lateorder.budget_lock %]
-                    <input type="checkbox" class="checkbox" name="claim_for" value="[% lateorder.ordernumber %]"  supplierid="[% lateorder.supplierid %]"/>
+                    <input type="checkbox" class="checkbox" name="claim_for" value="[% lateorder.ordernumber %]"  booksellerid="[% lateorder.supplierid %]"/>
                 [% END %]
              </td>
             </td>
@@ -141,8 +141,8 @@ $(document).ready(function() {
 [% IF ( ERROR_LOO.delay_digits ) %]<p class="error">The number of days ([% ERROR_LOO.bad_delay %]) must be a number between 0 and 999.</p>[% END %]
 [% END %]
 <ol><li><label for="delay">Order date:</label><input size="3" maxlength="3" id="delay" type="text" name="delay" value="[% delay %]" /> days ago</li>
-       <li><label for="supplierid">Vendor:</label>
-               <select id="supplierid" size="1" tabindex="" name="supplierid">
+       <li><label for="booksellerid">Vendor:</label>
+               <select id="booksellerid" size="1" tabindex="" name="booksellerid">
                        <option value=""/>
                        [% FOREACH SUPPLIER_LOO IN SUPPLIER_LOOP %]
                 [% IF ( SUPPLIER_LOO.selected ) %]<option value="[% SUPPLIER_LOO.id %]" selected="selected">[% SUPPLIER_LOO.name %]</option>
index 385a9b2..c888ccb 100644 (file)
@@ -7,7 +7,7 @@
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'acquisitions-search.inc' %]
 
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% booksellerid %]">[% name %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?=[% basketno %]">Basket [% basketno %]</a> &rsaquo; Search Existing Records</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% name %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?=[% basketno %]">Basket [% basketno %]</a> &rsaquo; Search Existing Records</div>
 
 <div id="doc3" class="yui-t2">
    
index e1dbbde..a27d151 100644 (file)
@@ -152,7 +152,7 @@ $(document).ready(function()
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'acquisitions-search.inc' %]
 
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% booksellerid %]">[% name %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Basket [% basketno %]</a> &rsaquo; [% IF ( ordernumber ) %]Modify order details (line #[% ordernumber %])[% ELSE %]New order[% END %]</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% name %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Basket [% basketno %]</a> &rsaquo; [% IF ( ordernumber ) %]Modify order details (line #[% ordernumber %])[% ELSE %]New order[% END %]</div>
 
 <div id="doc3" class="yui-t2">
 
@@ -166,7 +166,6 @@ $(document).ready(function()
     [% ELSE %]
         New order
     [% END %]
-        [% IF ( suggestionid ) %](defined from suggestion #[% suggestionid %])[% END %]
 </h2>
 
 [% IF ( basketno ) %]
@@ -266,6 +265,16 @@ $(document).ready(function()
         </li>
         <li>
             [% IF ( biblionumber ) %]
+            <span class="label">Edition: </span>
+                <input type="hidden" size="20" name="editionstatement" id="editionstatement" value="[% editionstatement %]" />[% editionstatement %]
+
+            [% ELSE %]
+            <label for="editionstatement">Edition: </label>
+                <input type="text" size="20" name="editionstatement" id="editionstatement" value="[% editionstatement %]" />
+            [% END %]
+        </li>
+        <li>
+            [% IF ( biblionumber ) %]
             <span class="label">Publication year: </span>
                 <input type="hidden" size="10" name="publicationyear" id="publicationyear" value="[% publicationyear %]" />[% publicationyear %]
             [% ELSE %]
@@ -310,6 +319,19 @@ $(document).ready(function()
             [% END %]
         </ol>
     </fieldset>
+
+    [% IF ( suggestionid ) %]
+        <fieldset class="rows">
+        <legend>Suggestion</legend>
+        <ol>
+          <li>
+            <span class="label">Suggested by: </span>
+            [% surnamesuggestedby %][% IF ( firstnamesuggestedby ) %], [% firstnamesuggestedby %][% END %] (<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% suggestionid %]">suggestion #[% suggestionid %]</a>)
+          </li>
+        </ol>
+        </fieldset>
+    [% END %]
+
     [% IF ( items ) %]
     <fieldset class="rows">
         <legend>Item</legend>
index f6edc63..8629e1d 100644 (file)
@@ -6,7 +6,7 @@
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'suggestions-add-search.inc' %]
 
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% supplierid %]">[% name %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Basket [% basketno %]</a> &rsaquo; Add order from a suggestion</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% name %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Basket [% basketno %]</a> &rsaquo; Add order from a suggestion</div>
 
 <div id="doc3" class="yui-t2">
    
@@ -46,9 +46,9 @@
                 </td>
                 <td>
                     [% IF ( suggestions_loo.biblionumber ) %]
-                        <a href="neworderempty.pl?booksellerid=[% supplierid %]&amp;basketno=[% basketno %]&amp;suggestionid=[% suggestions_loo.suggestionid %]&amp;biblio=[% suggestions_loo.biblionumber %]" class="button">Order</a>
+                        <a href="neworderempty.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]&amp;suggestionid=[% suggestions_loo.suggestionid %]&amp;biblio=[% suggestions_loo.biblionumber %]" class="button">Order</a>
                     [% ELSE %]
-                        <a href="neworderempty.pl?booksellerid=[% supplierid %]&amp;basketno=[% basketno %]&amp;suggestionid=[% suggestions_loo.suggestionid %]" class="button">Order</a>
+                        <a href="neworderempty.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]&amp;suggestionid=[% suggestions_loo.suggestionid %]" class="button">Order</a>
                     [% END %]
                 </td>
             </tr>
index 93540c9..c50f639 100644 (file)
            [% order.title %]
        </td>
        <td class="cell">
-           <a href="/cgi-bin/koha/acqui/neworderempty.pl?ordernumber=[% order.ordernumber %]&booksellerid=[% order.booksellerid %]&basketno=[% order.basketno %]">[% order.ordernumber %]</a>
+           <a href="/cgi-bin/koha/acqui/neworderempty.pl?ordernumber=[% order.ordernumber %]&amp;booksellerid=[% order.booksellerid %]&amp;basketno=[% order.basketno %]">[% order.ordernumber %]</a>
        </td>
        <td class="cell">
-           <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% order.booksellerid %]">[% order.booksellerid %]</a>
+           <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% order.booksellerid %]">[% order.booksellerid %]</a>
        </td>
        <td class="cell">
            [% order.itype %]
index ea422c8..e238278 100644 (file)
@@ -7,7 +7,7 @@
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'acquisitions-search.inc' %]
 
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% supplierid %]">[% name %]</a> &rsaquo; Receive items from : [% name %] [% IF ( invoice ) %][[% invoice %]][% END %] (order #[% ordernumber %])</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% name %]</a> &rsaquo; Receive items from : [% name %] [% IF ( invoice ) %][[% invoice %]][% END %] (order #[% ordernumber %])</div>
 
 <div id="doc3" class="yui-t2">
    
         [% seriestitle %]</li>
     </ol>
        </fieldset>
+
+    [% IF ( suggestionid ) %]
+        <fieldset class="rows">
+        <legend>Suggestion</legend>
+        <ol>
+          <li>
+            <span class="label">Suggested by: </span>
+            [% surnamesuggestedby %][% IF ( firstnamesuggestedby ) %], [% firstnamesuggestedby %][% END %] (<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% suggestionid %]">suggestion #[% suggestionid %]</a>)
+          </li>
+        </ol>
+        </fieldset>
+    [% END %]
+
     [% IF ( items ) %]
     <fieldset class="rows">
         <legend>Item</legend>
@@ -80,7 +93,7 @@
     <input type="hidden" name="biblionumber" value="[% biblionumber %]" />
     <input type="hidden" name="ordernumber" value="[% ordernumber %]" />
     <input type="hidden" name="biblioitemnumber" value="[% biblioitemnumber %]" />
-    <input type="hidden" name="supplierid" value="[% supplierid %]" />
+    <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
     <input type="hidden" name="datereceived" value="[% datereceived_iso %]" />
     <input type="hidden" name="freight" value="[% freight %]" />
     <input type="hidden" name="gst" value="[% gst %]" />
 
 </div>
 </div><div class="yui-g"><fieldset class="action">
-        <input type="button"  value="Save" onclick="javascript:if(check_additem()) { this.form.submit(); } else { alert( _('Duplicate barcodes detected.  Please correct the errors and resubmit.') ); return false };" /> <a class="cancel" href="/cgi-bin/koha/acqui/parcel.pl?supplierid=[% supplierid %]&amp;invoice=[% invoice %]&amp;gst=[% gst %]&amp;freight=[% freight %]">Cancel</a>
+        <input type="button"  value="Save" onclick="javascript:if(check_additem()) { this.form.submit(); } else { alert( _('Duplicate barcodes detected.  Please correct the errors and resubmit.') ); return false };" /> <a class="cancel" href="/cgi-bin/koha/acqui/parcel.pl?booksellerid=[% booksellerid %]&amp;invoice=[% invoice %]&amp;gst=[% gst %]&amp;freight=[% freight %]">Cancel</a>
 </fieldset></div>    </form>
 [% ELSE %]
 <div id="acqui_acquire_orderlist">
index eb5492e..afc9b65 100644 (file)
                        + '<td>' + order.ecost + '</td>'
                        + '<td>' + order.ordertotal + '</td>'
                        + '<td>'
-                       + '<a href="orderreceive.pl?ordernumber=' + order.ordernumber + '&amp;datereceived=[% invoicedatereceived %]&amp;invoice=[% invoice %]&amp;gst=' + gst + '&amp;freight=' + order.freight + '&amp;supplierid=[% supplierid %]">Receive</a> /'
-                       + '<a href="parcel.pl?type=intra&amp;ordernumber=' + order.ordernumber + '&amp;biblionumber=' + order.biblionumber + '&amp;action=cancelorder&amp;supplierid=[% supplierid %]&amp;datereceived=[% invoicedatereceived %]&amp;invoice=[% invoice %]" onclick="return confirm(\'' + _('Are you sure you want to cancel this order?') + '\');">Cancel</a>'
+                       + '<a href="orderreceive.pl?ordernumber=' + order.ordernumber + '&amp;datereceived=[% invoicedatereceived %]&amp;invoice=[% invoice %]&amp;gst=' + gst + '&amp;freight=' + order.freight + '&amp;booksellerid=[% booksellerid %]">Receive</a> /'
+                       + '<a href="parcel.pl?type=intra&amp;ordernumber=' + order.ordernumber + '&amp;biblionumber=' + order.biblionumber + '&amp;action=cancelorder&amp;booksellerid=[% booksellerid %]&amp;datereceived=[% invoicedatereceived %]&amp;invoice=[% invoice %]" onclick="return confirm(\'' + _('Are you sure you want to cancel this order?') + '\');">Cancel</a>'
                        + '</td></tr>').appendTo("table#pendingt");
                                }
 
                        }catch(e){alert(e);}
                }
        }
-       var transaction = YAHOO.util.Connect.asyncRequest('GET', '/cgi-bin/koha/acqui/parcel.pl?supplierid=[% supplierid %]&search='+summaryStatus+'&basketno='+basketStatus+'&orderno='+orderStatus+'&format=json', callback, null);
+       var transaction = YAHOO.util.Connect.asyncRequest('GET', '/cgi-bin/koha/acqui/parcel.pl?booksellerid=[% booksellerid %]&search='+summaryStatus+'&basketno='+basketStatus+'&orderno='+orderStatus+'&format=json', callback, null);
 
        return false;
     }
             <tr>
         [% END %]
                 <td class="basketfilterclass"><a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% loop_order.basketno %]">[% loop_order.basketno %]</a></td>
-                <td class="orderfilterclass"><a href="neworderempty.pl?ordernumber=[% loop_order.ordernumber %]&amp;booksellerid=[% loop_order.supplierid %]">[% loop_order.ordernumber %]</a></td>
+                <td class="orderfilterclass"><a href="neworderempty.pl?ordernumber=[% loop_order.ordernumber %]&amp;booksellerid=[% loop_order.booksellerid %]">[% loop_order.ordernumber %]</a></td>
                 <td class="summaryfilterclass">
                   <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_order.biblionumber %]">[% loop_order.title |html %]</a>
                 [% IF ( loop_order.author ) %] by [% loop_order.author %][% END %]
                 [% IF ( loop_order.isbn ) %] &ndash; [% loop_order.isbn %][% END %]
                 [% IF ( loop_order.publishercode ) %]<br />Publisher :[% loop_order.publishercode %][% END %]
+                [% IF ( loop_order.suggestionid ) %]
+                    <br/>
+                    Suggested by: [% loop_order.surnamesuggestedby %][% IF ( loop_order.firstnamesuggestedby ) %], [% loop_order.firstnamesuggestedby %] [% END %]
+                    (<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% loop_order.suggestionid %]">suggestion #[% loop_order.suggestionid %]</a>)
+                [% END %]
                 </td>
                 <td><a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% loop_order.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;id=[% loop_order.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">Card</a></td>
                 <td>[% loop_order.quantity %]</td>
                 <td>[% loop_order.ecost %]</td>
                 <td>[% loop_order.ordertotal %]</td>
                                <td>
-                                   <a href="orderreceive.pl?ordernumber=[% loop_order.ordernumber %]&amp;datereceived=[% loop_order.invoicedatereceived %]&amp;invoice=[% loop_order.invoice %]&amp;gst=[% loop_order.gst %]&amp;freight=[% loop_order.freight %]&amp;supplierid=[% loop_order.supplierid %]">Receive</a>
+                                   <a href="orderreceive.pl?ordernumber=[% loop_order.ordernumber %]&amp;datereceived=[% loop_order.invoicedatereceived %]&amp;invoice=[% loop_order.invoice %]&amp;gst=[% loop_order.gst %]&amp;freight=[% loop_order.freight %]&amp;booksellerid=[% loop_order.booksellerid %]">Receive</a>
                                    
                                </td>
                                <td>
    <div id="resultnumber">
        <!-- Row of numbers corresponding to search result pages -->
        [% IF ( displayprev ) %]
-               <a href="parcel.pl?type=intra&amp;supplierid=[% supplierid %]&amp;startfrom=[% prevstartfrom %][% IF ( datereceived ) %]&amp;datereceived=[% datereceived %][% END %][% IF ( invoice ) %]&amp;invoice=[% invoice %][% END %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]#resultnumber">&lt;&lt; Previous</a>
+               <a href="parcel.pl?type=intra&amp;booksellerid=[% booksellerid %]&amp;startfrom=[% prevstartfrom %][% IF ( datereceived ) %]&amp;datereceived=[% datereceived %][% END %][% IF ( invoice ) %]&amp;invoice=[% invoice %][% END %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]#resultnumber">&lt;&lt; Previous</a>
        [% END %]
        [% FOREACH number IN numbers %]
                [% IF ( number.highlight ) %]
                <span class="current">[% number.number %]</span>
                [% ELSE %]
-               <a href="parcel.pl?type=intra&amp;supplierid=[% supplierid %]&amp;startfrom=[% number.startfrom %][% IF ( number.datereceived ) %]&amp;datereceived=[% number.datereceived %][% END %][% IF ( number.invoice ) %]&amp;invoice=[% number.invoice %][% END %][% IF ( number.resultsperpage ) %]&amp;resultsperpage=[% number.resultsperpage %][% END %]#resultnumber">[% number.number %]</a>
+               <a href="parcel.pl?type=intra&amp;booksellerid=[% booksellerid %]&amp;startfrom=[% number.startfrom %][% IF ( number.datereceived ) %]&amp;datereceived=[% number.datereceived %][% END %][% IF ( number.invoice ) %]&amp;invoice=[% number.invoice %][% END %][% IF ( number.resultsperpage ) %]&amp;resultsperpage=[% number.resultsperpage %][% END %]#resultnumber">[% number.number %]</a>
                [% END %]
        [% END %]
        [% IF ( displaynext ) %]
-               <a href="parcel.pl?type=intra&amp;supplierid=[% supplierid %]&amp;startfrom=[% nextstartfrom %][% IF ( datereceived ) %]&amp;datereceived=[% datereceived %][% END %][% IF ( invoice ) %]&amp;invoice=[% invoice %][% END %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]#resultnumber">Next &gt;&gt;</a>
+               <a href="parcel.pl?type=intra&amp;booksellerid=[% booksellerid %]&amp;startfrom=[% nextstartfrom %][% IF ( datereceived ) %]&amp;datereceived=[% datereceived %][% END %][% IF ( invoice ) %]&amp;invoice=[% invoice %][% END %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]#resultnumber">Next &gt;&gt;</a>
        [% END %]
        </div>
 </div>
             <tr>
         [% END %]
                 <td><a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% loop_receive.basketno %]">[% loop_receive.basketno %]</a></td>
-                <td><a href="neworderempty.pl?ordernumber=[% loop_receive.ordernumber %]&amp;booksellerid=[% supplierid %]">[% loop_receive.ordernumber %]</a></td>
+                <td><a href="neworderempty.pl?ordernumber=[% loop_receive.ordernumber %]&amp;booksellerid=[% booksellerid %]">[% loop_receive.ordernumber %]</a></td>
                 <td><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% loop_receive.biblionumber %]">[% loop_receive.title |html %]</a>
                 [% IF ( loop_receive.author ) %] / [% loop_receive.author %][% END %]
                 [% IF ( loop_receive.isbn ) %] - [% loop_receive.isbn %][% END %]
                 [% IF ( loop_receive.publishercode ) %]<br />Publisher :[% loop_receive.publishercode %][% END %]
+                [% IF ( loop_receive.suggestionid ) %]
+                    <br/>
+                    Suggested by: [% loop_receive.surnamesuggestedby %][% IF ( loop_receive.firstnamesuggestedby ) %], [% loop_receive.firstnamesuggestedby %] [% END %]
+                    (<a href="/cgi-bin/koha/suggestion/suggestion.pl?suggestionid=[% loop_receive.suggestionid %]">suggestion #[% loop_receive.suggestionid %]</a>)
+                [% END %]
                 </td>
                 <td><a href="/cgi-bin/koha/catalogue/showmarc.pl?id=[% loop_receive.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">MARC</a> | <a href="/cgi-bin/koha/catalogue/showmarc.pl?viewas=card&amp;id=[% loop_receive.biblionumber %]" title="MARC" rel="gb_page_center[600,500]">Card</a></td>
                 <td>[% loop_receive.quantityreceived %]</td>
        [% ELSE %]There are no received orders.[% END %]
 </div>
 
-<!--<form action="/cgi-bin/koha/acqui/parcels.pl?supplierid=[% supplierid %]" method="post">-->
-<form action="parcels.pl?supplierid=[% supplierid %]" method="post">
-    <input type="hidden" name="supplierid" value="[% supplierid %]" />
+<!--<form action="/cgi-bin/koha/acqui/parcels.pl?booksellerid=[% booksellerid %]" method="post">-->
+<form action="parcels.pl?booksellerid=[% booksellerid %]" method="post">
+    <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
     <fieldset class="action">
         <input type="submit" value="Finish receiving" />
     </fieldset>
index a7d704d..fb937f0 100644 (file)
@@ -7,7 +7,7 @@
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'acquisitions-search.inc' %]
 
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a>  &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% supplierid %]">[% name %]</a> &rsaquo; Receive shipment from vendor [% name %]</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a>  &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% name %]</a> &rsaquo; Receive shipment from vendor [% name %]</div>
 
 [% IF ( count ) %]<div id="doc3" class="yui-t2">[% ELSE %]<div id="doc" class="yui-t7">[% END %]
    
@@ -15,7 +15,7 @@
        <div id="yui-main">
        <div class="yui-b">
        
-<h1>Receive shipment from vendor <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% supplierid %]">[% name %]</a></h1>
+<h1>Receive shipment from vendor <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% name %]</a></h1>
 
 [% IF ( count ) %]
 <p> [% count %] shipments</p>
@@ -42,7 +42,7 @@
             [% searchresult.number %]
         </td>
         <td>
-            <a href="/cgi-bin/koha/acqui/parcel.pl?type=intra&amp;supplierid=[% supplierid |url %]&amp;datereceived=[% searchresult.raw_datereceived |url %][% IF ( searchresult.code ) %]&amp;invoice=[% searchresult.code |url %][% END %]">
+            <a href="/cgi-bin/koha/acqui/parcel.pl?type=intra&amp;booksellerid=[% booksellerid |url %]&amp;datereceived=[% searchresult.raw_datereceived |url %][% IF ( searchresult.code ) %]&amp;invoice=[% searchresult.code |url %][% END %]">
                 [% searchresult.datereceived %]</a>
         </td>
         <td>
 <div id="resultnumber">
 <!-- Row of numbers corresponding to search result pages -->
 [% IF ( displayprev ) %]
-    <a href="parcels.pl?supplierid=[% supplierid %]&amp;startfrom=[% prevstartfrom %][% IF ( datefrom ) %]&amp;datefrom=[% datefrom %][% END %][% IF ( dateto ) %]&amp;dateto=[% dateto %][% END %][% IF ( code ) %]&amp;filter=[% code %][% END %][% IF ( orderby ) %]&amp;orderby=[% orderby %][% END %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]&amp;type=intra">&lt;&lt; Previous</a>
+    <a href="parcels.pl?booksellerid=[% booksellerid %]&amp;startfrom=[% prevstartfrom %][% IF ( datefrom ) %]&amp;datefrom=[% datefrom %][% END %][% IF ( dateto ) %]&amp;dateto=[% dateto %][% END %][% IF ( code ) %]&amp;filter=[% code %][% END %][% IF ( orderby ) %]&amp;orderby=[% orderby %][% END %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]&amp;type=intra">&lt;&lt; Previous</a>
 [% END %]
 [% FOREACH number IN numbers %]
     [% IF ( number.highlight ) %]
     <span class="current">[% number.number %]</span>
     [% ELSE %]
-    <a href="parcels.pl?supplierid=[% number.supplierid %]&amp;startfrom=[% number.startfrom %][% IF ( number.datefrom ) %]&amp;datefrom=[% number.datefrom %][% END %][% IF ( number.dateto ) %]&amp;dateto=[% number.dateto %][% END %][% IF ( number.code ) %]&amp;filter=[% number.code %][% END %][% IF ( number.orderby ) %]&amp;orderby=[% number.orderby %][% END %][% IF ( number.resultsperpage ) %]&amp;resultsperpage=[% number.resultsperpage %][% END %]&amp;type=intra">[% number.number %]</a>
+    <a href="parcels.pl?booksellerid=[% number.booksellerid %]&amp;startfrom=[% number.startfrom %][% IF ( number.datefrom ) %]&amp;datefrom=[% number.datefrom %][% END %][% IF ( number.dateto ) %]&amp;dateto=[% number.dateto %][% END %][% IF ( number.code ) %]&amp;filter=[% number.code %][% END %][% IF ( number.orderby ) %]&amp;orderby=[% number.orderby %][% END %][% IF ( number.resultsperpage ) %]&amp;resultsperpage=[% number.resultsperpage %][% END %]&amp;type=intra">[% number.number %]</a>
     [% END %]
 [% END %]
 [% IF ( displaynext ) %]
-    <a href="parcels.pl?supplierid=[% supplierid %]&amp;startfrom=[% nextstartfrom %][% IF ( datefrom ) %]&amp;datefrom=[% datefrom %][% END %][% IF ( dateto ) %]&amp;dateto=[% dateto %][% END %][% IF ( code ) %]&amp;filter=[% code %][% END %][% IF ( orderby ) %]&amp;orderby=[% orderby %][% END %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]&amp;type=intra">Next &gt;&gt;</a>
+    <a href="parcels.pl?booksellerid=[% booksellerid %]&amp;startfrom=[% nextstartfrom %][% IF ( datefrom ) %]&amp;datefrom=[% datefrom %][% END %][% IF ( dateto ) %]&amp;dateto=[% dateto %][% END %][% IF ( code ) %]&amp;filter=[% code %][% END %][% IF ( orderby ) %]&amp;orderby=[% orderby %][% END %][% IF ( resultsperpage ) %]&amp;resultsperpage=[% resultsperpage %][% END %]&amp;type=intra">Next &gt;&gt;</a>
 [% END %]
 </div>
 </div>
@@ -86,7 +86,7 @@
     <legend>Receive a new shipment</legend>
        <ol> <li>
             <label for="invoice">Vendor Invoice </label>
-            <input type="hidden" name="supplierid" value="[% supplierid %]" />
+            <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
             <input type="hidden" name="op" value="new" />
                        <input type="text" size="20" id="invoice" name="invoice" />
         </li>
                                <div class="hint">[% INCLUDE 'date-format.inc' %]</div> </li>
                </ol>
     </fieldset>
-            <fieldset class="action"><input type="submit" class="button" value="Next" /> <a class="cancel" href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% supplierid %]">Cancel</a></fieldset>
+            <fieldset class="action"><input type="submit" class="button" value="Next" /> <a class="cancel" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">Cancel</a></fieldset>
         </form>
     </div>
 </div>
     <fieldset class="brief">
        <h4>Filter</h4>
         <ol>
-            <li> <input type="hidden" name="supplierid" value="[% supplierid %]" /></li>
+            <li> <input type="hidden" name="booksellerid" value="[% booksellerid %]" /></li>
             <li><label for="filter">Invoice number:</label><input type="text" size="20" name="filter" value="[% filter %]" id="filter" /></li>
             <li><label for="datefrom">From:</label><input type="text" size="9" id="datefrom" name="datefrom" value="[% datefrom %]" /><br /> 
                 <label for="dateto">To:</label><input type="text" size="9" id="dateto" name="dateto" value="[% dateto %]" /></li>
                 <option value="100">100</option>
                 </select></li>
         </ol>
-       <fieldset class="action"><input type="submit" class="button" value="Filter" /> <a href="/cgi-bin/koha/acqui/parcels.pl?supplierid=[% supplierid %]">Clear</a></fieldset>
+       <fieldset class="action"><input type="submit" class="button" value="Filter" /> <a href="/cgi-bin/koha/acqui/parcels.pl?booksellerid=[% booksellerid %]">Clear</a></fieldset>
        </fieldset>
 </form>[% END %]
 </div>
index c6825c8..a944419 100644 (file)
            [% order.title %]
        </td>
        <td class="cell">
-            <a href="/cgi-bin/koha/acqui/orderreceive.pl?ordernumber=[% order.ordernumber %]&biblio=[% order.biblionumber %]&invoice=[% order.booksellerinvoicenumber %]&supplierid=[% order.booksellerid %]&catview=yes">[% order.ordernumber %]</a>
+            <a href="/cgi-bin/koha/acqui/orderreceive.pl?ordernumber=[% order.ordernumber %]&amp;biblio=[% order.biblionumber %]&amp;invoice=[% order.booksellerinvoicenumber %]&amp;booksellerid=[% order.booksellerid %]&amp;catview=yes">[% order.ordernumber %]</a>
        </td>
        <td class="cell">
-           <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% order.booksellerid %]">[% order.booksellerid %]</a>
+           <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% order.booksellerid %]">[% order.booksellerid %]</a>
        </td>
        <td class="cell">
-           <a href="/cgi-bin/koha/acqui/parcel.pl?invoice=[% order.booksellerinvoicenumber %]&supplierid=[% order.booksellerid %]&datereceived=[% order.datereceived %]">[% order.booksellerinvoicenumber %]</a>
+           <a href="/cgi-bin/koha/acqui/parcel.pl?invoice=[% order.booksellerinvoicenumber %]&amp;booksellerid=[% order.booksellerid %]&amp;datereceived=[% order.datereceived %]">[% order.booksellerinvoicenumber %]</a>
        </td>
        <td class="cell">
            [% order.itype %]
index f30d839..05b7fac 100644 (file)
@@ -5,7 +5,7 @@
 //<![CDATA[
 function confirm_deletion() {
     if (confirm(_("Confirm deletion of this vendor ?"))) {
-        window.location="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% id %]&op=delete";
+        window.location="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]&op=delete";
     }
 }
 function check(f) {
@@ -22,14 +22,14 @@ if (f.company.value == "") {
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'acquisitions-search.inc' %]
 
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; [% IF ( enter ) %][% IF ( id ) %] <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% id %]">[% name %]</a> &rsaquo; Update: [% name %][% ELSE %]Add vendor[% END %] [% ELSE %][% name %][% END %]</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; [% IF ( enter ) %][% IF ( booksellerid ) %] <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% name %]</a> &rsaquo; Update: [% name %][% ELSE %]Add vendor[% END %] [% ELSE %][% name %][% END %]</div>
 
 <div id="doc" class="yui-t7">
 
 <div id="bd">
     <div id="yui-main">
     [% IF ( enter ) %]
-        [% IF ( id ) %]
+        [% IF ( booksellerid ) %]
         <h1>Update: [% name %]</h1>
     [% ELSE %]
         <h1>Add vendor</h1>
@@ -39,7 +39,7 @@ if (f.company.value == "") {
 [% IF ( enter ) %]
     <form action="updatesupplier.pl" name="updatesupplier" method="post">
     <div class="yui-g">
-        <input type="hidden" name="id" value="[% id %]" />
+        <input type="hidden" name="booksellerid" value="[% booksellerid %]" />
         <fieldset class="rows">
             <legend>Company details</legend>
             <ol><li><label for="company" class="required">Name * </label>
@@ -140,8 +140,8 @@ if (f.company.value == "") {
             <li><label for="notes">Notes</label>
                 <textarea cols="40" rows="4" id="notes" name="notes" >[% notes %]</textarea></li></ol>
         </fieldset>
-        <fieldset class="action"><input type="button" value="Save" onclick="check(this.form);" /> [% IF ( id ) %]
-        <a class="cancel" href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% id %]">[% ELSE %]<a class="cancel" href="/cgi-bin/koha/acqui/acqui-home.pl">
+        <fieldset class="action"><input type="button" value="Save" onclick="check(this.form);" /> [% IF ( booksellerid ) %]
+        <a class="cancel" href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% ELSE %]<a class="cancel" href="/cgi-bin/koha/acqui/acqui-home.pl">
         [% END %]Cancel</a></fieldset>
         </div>
     </form>
index 89ebfa8..613153c 100644 (file)
@@ -14,7 +14,7 @@ function check(form) {
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'acquisitions-search.inc' %]
 
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo;<a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% booksellerid %]">[% booksellername %]</a> &rsaquo; Uncertain prices for vendor: [% booksellername %]</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo;<a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% booksellername %]</a> &rsaquo; Uncertain prices for vendor: [% booksellername %]</div>
 
 <div id="doc" class="yui-t7">
    <div id="bd">
@@ -22,7 +22,7 @@ function check(form) {
         [% IF ( validate ) %]
             <META HTTP-EQUIV=Refresh CONTENT="0; url=[% scriptname %]?booksellerid=[% booksellerid %]">
         [% ELSE %]
-        <h1>Orders with uncertain prices for vendor <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% booksellerid %]">[% booksellername %]</a> <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% booksellerid %]&amp;op=enter">(edit)</a></h1>
+        <h1>Orders with uncertain prices for vendor <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% booksellername %]</a> <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]&amp;op=enter">(edit)</a></h1>
         <h2>Contact information</h2>
         <p><strong>Address: </strong>
             [% booksellerpostal %]
index 1f2ad60..2449c8e 100644 (file)
@@ -63,7 +63,8 @@ tr.selected { background-color : #FFFFCC; } tr.selected td { background-color :
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'acquisitions-search.inc' %]
 
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% booksellerid %]">[% name %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Basket [% basketno %]</a> &rsaquo; [% IF ( opsearch ) %]Order from external source[% ELSE %]<a href="/cgi-bin/koha/acqui/z3950_search.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">Order from external source</a> &rsaquo; Search results[% END %]</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a> &rsaquo; <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% name %]</a> &rsaquo; <a href="/cgi-bin/koha/acqui/basket.pl?basketno=[% basketno %]">Basket [% basketno %]</a> &rsaquo; [% IF ( opsearch ) %]Order from external source[% ELSE %]<a href="/cgi-bin/koha/acqui/z3950_search.pl?booksellerid=[% booksellerid %]&amp;basketno=[% basketno %]">Order from external source</a> &rsaquo; Search results[% END %]</div>
+
 <div id="doc3" class="yui-t7">
       <div id="bd">
          [% IF ( opsearch ) %]
@@ -156,13 +157,19 @@ tr.selected { background-color : #FFFFCC; } tr.selected td { background-color :
 </table>
     [% ELSE %]
         [% IF ( emptyserverlist ) %]
-            You didn't select any Z39.50 target.
+            <div class="dialog alert">You didn't select any Z39.50 target.</div>
         [% ELSE %]
-            [% FOREACH errcon IN errconn %]
-                Connection failed to [% errcon.server %]
+            [% IF ( errconn ) %]
+                <div class="dialog alert">
+                    <ul>
+                    [% FOREACH errcon IN errconn %]
+                        <li>Connection failed to [% errcon.server %]</li>
+                    [% END %]
+                    </ul>
+                </div>
             [% END %]
         [% END %]
-        <p>Nothing found. <a href="javascript: history.back()">Try another search</a>.</p>
+        <div class="dialog message">Nothing found. <a href="javascript: history.back()">Try another search</a>.</div>
     [% END %]
 
 
index dbbcdd5..29dcf7f 100644 (file)
@@ -8,6 +8,29 @@
 // #################################################################################
 // Javascript
 // #################################################################################
+    function CheckDuplicateForm(f){
+            var ok=1;
+            var _alertString="";
+            var alertString="";
+            if(!(isNotNull(f.budget_period_startdate,1))){
+              _alertString += "\n- " + _("Start date missing");
+            }
+            if (!(isNotNull(f.budget_period_enddate,1))){
+              _alertString += "\n- " + _("End date missing");
+            }
+            if( f.budget_period_startdate > f.budget_period_enddate ) {
+              _alertString += "\n- " + _("Start date must be before end date");
+            }
+
+            if(_alertString.length==0){
+              f.submit();
+            } else {
+              alertString += _("Form not submitted because of the following problem(s)");
+              alertString += "\n-----------------------------------------\n";
+              alertString += _alertString;
+              alert(alertString);
+            }
+    }
     function Check(f) {
             var ok=1;
             var _alertString="";
 
 [% INCLUDE 'budgets-admin-toolbar.inc' %]
 
+[% IF ( duplicate_form ) %]
+<form action="/cgi-bin/koha/admin/aqbudgetperiods.pl" name="f" method="post">
+    <fieldset class="rows">
+    <input type="hidden" name="op" value="duplicate_budget" />
+    <input type="hidden" name="budget_period_id" value="[% budget_period_id %]" />
+
+    <ol>
+
+    <li>
+    <label class="required" for="budget_period_startdate">Start date</label>
+    <input type="text" size="10" id="budget_period_startdate" name="budget_period_startdate"   value="[% budget_period_startdate %]"  />
+    <img src="/intranet-tmpl/prog/en/lib/calendar/cal.gif" border="0" id="openCalendarFrom" style="cursor: pointer;" alt="Show start date calendar" />
+    <script type="text/javascript">
+        Calendar.setup({
+        inputField     :    "budget_period_startdate",
+        ifFormat         :    "[% DHTMLcalendar_dateformat %]",
+        button         :    "openCalendarFrom",
+        align          :    "Tl",
+        singleClick    :    false
+        });
+    </script>
+                               <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
+    </li>
+    <li>
+
+    <label class="required" for="budget_period_enddate">End date</label>
+    <input type="text" size="10" id="budget_period_enddate" name="budget_period_enddate" value="[% budget_period_enddate %]" />
+    <img src="/intranet-tmpl/prog/en/lib/calendar/cal.gif" border="0" id="openCalendarTo" style="cursor: pointer;" alt="Show end date calendar" />
+
+    <script type="text/javascript">
+        Calendar.setup({
+        inputField     :    "budget_period_enddate",
+        ifFormat         :    "[% DHTMLcalendar_dateformat %]",
+        button         :    "openCalendarTo",
+        align          :    "Tl"
+        });
+    </script>
+                               <div class="hint">[% INCLUDE 'date-format.inc' %]</div>
+    </li>
+
+    </ol>
+    </fieldset>
+
+    <fieldset class="action">
+        <input type="button" value="Save Changes"  onclick="CheckDuplicateForm(this.form)"    />
+    </fieldset>
+
+</form>
+
+[% END %]
+
 [% IF ( add_form ) %]
     <!--  add or modify a budget period   -->
 
     <div class="pages">[% pagination_bar %]</div>
 [% END %]
 
+
 </div>
 </div>
 <div class="yui-b">
index 12a70bc..7fa91f7 100644 (file)
 
         $("#filterbutton").click(function() {
             $("#fundfilters").slideToggle(0);
-            $("#content").css({ marginLeft:  $("#content").css("marginLeft") == "4em"?"15em":"4em"});
         });
     });
 //]]>
index 7ff142c..19861b9 100644 (file)
@@ -60,7 +60,7 @@ function Check(ff) {
     &rsaquo;
     <a href="/cgi-bin/koha/acqui/acqui-home.pl">Acquisitions</a>
     &rsaquo;
-    <a href="/cgi-bin/koha/acqui/supplier.pl?supplierid=[% booksellerid %]">[% booksellername %]</a>
+    <a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% booksellerid %]">[% booksellername %]</a>
     &rsaquo;
     [% IF ( add_form ) %]
         <a href="/cgi-bin/koha/admin/aqcontract.pl?booksellerid=[% booksellerid %]">Contracts</a>
index 5e4e58f..0e8805e 100644 (file)
                <h4>Policy for [% codes_loo.limit_phrase %]: [% codes_loo.code %]</h4>
        <p><a id="CheckAll[% codes_loo.code %]table" class="checkall" href="#">Check All</a> | <a id="UncheckAll[% codes_loo.code %]table" class="uncheckall" href="#">Uncheck All</a></p>
        
-       <div id="pager[% codes_loo.code %]table" class="pager">
+       <div id="pager[% codes_loo.code %]table">
        [% INCLUDE 'table-pager.inc' perpage='20' %]
        </div>
                <table id="[% codes_loo.code %]table" class="sorted">
index 18c1db3..c196300 100644 (file)
        </fieldset>
 </form>
 
-[% IF ( previous ) %]
-    <input type="image" src="[% interface %]/[% theme %]/images/1leftarrow.png" title="previous" alt="previous" border="0" />
-[% END %]
-[% IF ( next ) %]
-    [% next %]
-        <input type="image" src="[% interface %]/[% theme %]/images/1rightarrow.png" title="next" alt="next" border="0" />
-[% END %]
 [% END %]
 
 
index 30bcb9b..b3716c0 100644 (file)
@@ -112,6 +112,12 @@ Circulation:
                   no: "Don't allow"
             - staff to manually override the renewal limit and renew a checkout when it would go over the renewal limit.
         -
+            - pref: AllowItemsOnHoldCheckout
+              choices:
+                  yes: Allow
+                  no: "Don't allow"
+            - checkouts of items items reserved to someone else. If allowed do not generate RESERVE_WAITING and RESERVED warning. This allows self checkouts for those items.
+        -
             - pref: AllFinesNeedOverride
               choices:
                   yes: Require
index d6ae2b2..be86733 100644 (file)
@@ -130,12 +130,12 @@ OPAC:
             - Include the additional CSS stylesheet
             - pref: opaccolorstylesheet
               class: file
-            - to override specified settings from the default stylesheet. Enter the filename (if the file is in the server's css directory) or a complete URL beginning with <code>http://</code> (if the file lives on a remote server). Leave blank to disable.
+            - to override specified settings from the default stylesheet (leave blank to disable). Enter a filename or a complete URL beginning with <code>http://</code> (if the file lives on a remote server). Please note that if you enter a filename, the file should be in the css subdirectory for each active theme and language within the Koha templates directory.
         -
-            - Use the CSS stylesheet <!-- TMPL_VAR NAME="opacthemelang" -->/css/
+            - Use the CSS stylesheet
             - pref: opaclayoutstylesheet
               class: file
-            - on all pages in the OPAC, instead of the default (leave blank to disable).
+            - on all pages in the OPAC, instead of the default (leave blank to disable). Please enter filename only. The file should be in the css subdirectory for each active theme and language within the Koha templates directory.
         -
             - Use the remote CSS stylesheet
             - pref: opacstylesheet
@@ -208,6 +208,13 @@ OPAC:
                   Results: "Results page only"
                   Both: "Both Details and Results pages"
             - 'Note: The corresponding OPACXSLT option must be turned on.'
+        -
+            - 'List export options that should be available from OPAC detail page separated by |:'
+            - pref: OpacExportOptions
+              class: multi
+            - '<br />Note: Available options are: BIBTEX (<code>bibtex</code>), Dublin Core (<code>dc</code>),'
+            - 'MARCXML (<code>marcxml</code>), MARC-8 encoded MARC (<code>marc8</code>), Unicode/UTF-8 encoded MARC (<code>utf8</code>),'
+            - 'Unicode/UTF-8 encoded MARC without local use -9xx, x9x, xx9- fields and subfields (<code>marcstd</code>), MODS (<code>mods</code>), RIS (<code>ris</code>)'
     Features:
         -
             - pref: opacuserlogin
index 18c0552..d4a7bf3 100644 (file)
@@ -78,7 +78,7 @@
 [% INCLUDE 'sysprefs-admin-search.inc' %]
 
 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/admin/admin-home.pl">Administration</a> &rsaquo; [% IF ( add_form ) %] <a href="/cgi-bin/koha/admin/systempreferences.pl">System Preferences</a> &rsaquo; [% IF ( modify ) %]Modify system preference '[% searchfield %]'[% ELSE %]Add a system preference[% END %][% END %][% IF ( add_validate ) %] <a href="/cgi-bin/koha/admin/systempreferences.pl">System Preferences</a> &rsaquo; Data Added[% END %]
-[% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/admin/systempreferences.pl">System Preferences</a> &rsaquo; <a href="/cgi-bin/koha/admin/systempreferences.pl?op=add_form&searchfield=[% searchfield %]">[% searchfield %]</a> &rsaquo; Confirm Deletion of Parameter '[% searchfield %]'[% END %][% IF ( delete_confirmed ) %] <a href="/cgi-bin/koha/admin/systempreferences.pl">System Preferences</a> &rsaquo; Parameter Deleted[% END %][% IF ( else ) %]System Preferences[% END %]</div>
+[% IF ( delete_confirm ) %] <a href="/cgi-bin/koha/admin/systempreferences.pl">System Preferences</a> &rsaquo; <a href="/cgi-bin/koha/admin/systempreferences.pl?op=add_form&amp;searchfield=[% searchfield %]">[% searchfield %]</a> &rsaquo; Confirm Deletion of Parameter '[% searchfield %]'[% END %][% IF ( delete_confirmed ) %] <a href="/cgi-bin/koha/admin/systempreferences.pl">System Preferences</a> &rsaquo; Parameter Deleted[% END %][% IF ( else ) %]System Preferences[% END %]</div>
 
 <div id="doc3" class="yui-t2">
    
index ba22e9c..7a118c9 100644 (file)
@@ -99,7 +99,7 @@ function jumpfull(page)
                     [% END %]
                 [% END %]
                 [% IF ( displaynext ) %]
-                    <a href="auth_finder.pl?startfrom=[% startfromnext %]&amp;authtypecode=[% authtypecode %][% FOREACH searchdat IN searchdata %]&[% searchdat.term %]=[% searchdat.val %][% END %]&amp;op=do_search&amp;type=intranet&amp;index=[% index %]&amp;tagid=[% tagid %]&amp;orderby=[% orderby %]">
+                    <a href="auth_finder.pl?startfrom=[% startfromnext %]&amp;authtypecode=[% authtypecode %][% FOREACH searchdat IN searchdata %]&amp;[% searchdat.term %]=[% searchdat.val %][% END %]&amp;op=do_search&amp;type=intranet&amp;index=[% index %]&amp;tagid=[% tagid %]&amp;orderby=[% orderby %]">
                         &gt;&gt;</a>
                 [% END %]
         </div>[% END %]
index 80e04a9..858c2d6 100644 (file)
@@ -417,11 +417,11 @@ function verify_images() {
                 [% END %]
                 [% IF ( analyze ) %]<td>
                        [% IF ( itemloo.countanalytics ) %]
-                               <a href="/cgi-bin/koha/catalogue/search.pl?idx=hi&q=[% itemloo.itemnumber %]">[% itemloo.countanalytics %] analytics</a>
+                               <a href="/cgi-bin/koha/catalogue/search.pl?idx=hi&amp;q=[% itemloo.itemnumber %]">[% itemloo.countanalytics %] analytics</a>
                        [% END %]</td>
                [% END %]
                 [% IF ( analyze ) %]
-                        <td><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?hostbiblionumber=[% itemloo.biblionumber %]&hostitemnumber=[% itemloo.itemnumber %]">Create Analytics</a></td>
+                        <td><a href="/cgi-bin/koha/cataloguing/addbiblio.pl?hostbiblionumber=[% itemloo.biblionumber %]&amp;hostitemnumber=[% itemloo.itemnumber %]">Create Analytics</a></td>
                 [% END %]
 
                 </tr>
@@ -429,7 +429,7 @@ function verify_images() {
         </table>
         [% END %]
                 [% IF ( hiddencount ) %]
-                   <p><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]&showallitems=1">Show all items ([% hiddencount %] hidden)</a>
+                   <p><a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]&amp;showallitems=1">Show all items ([% hiddencount %] hidden)</a>
                 [% END %]              
                [% IF ( debug_display ) %]
                <br /><br />
@@ -463,7 +463,7 @@ function verify_images() {
 
 [% IF ( MARCNOTES ) %]
     [% FOREACH MARCNOTE IN MARCNOTES %]
-    <p>[% MARCNOTE.marcnote %]</p>
+    <p>[% MARCNOTE.marcnote FILTER html_line_break %]</p>
     [% END %]
     [% ELSE %]
     [% IF ( notes ) %]
index 57dac9a..1a9536b 100644 (file)
 
                     Accession Date:</span>
                     [% IF ( ITEM_DAT.basketno ) %]
-                    <a href="/cgi-bin/koha/acqui/parcel.pl?supplierid=[% ITEM_DAT.booksellerid %]&amp;invoice=[% ITEM_DAT.booksellerinvoicenumber %]&amp;datereceived=[% ITEM_DAT.datereceived %]">[% ITEM_DAT.dateaccessioned %]</a>
+                    <a href="/cgi-bin/koha/acqui/parcel.pl?booksellerid=[% ITEM_DAT.booksellerid %]&amp;invoice=[% ITEM_DAT.booksellerinvoicenumber %]&amp;datereceived=[% ITEM_DAT.datereceived %]">[% ITEM_DAT.dateaccessioned %]</a>
                     [% ELSE %]
                     [% ITEM_DAT.dateaccessioned %]
                     [% END %]
index 673b08b..91c2d48 100644 (file)
@@ -190,7 +190,7 @@ function set_to_today(id, force) {
 [% IF ( book_on_loan ) %]<div class="dialog alert"><strong>Cannot Delete</strong>: item is checked out.</div>[% END %]
 [% IF ( book_reserved ) %]<div class="dialogalert"><strong>Cannot Delete</strong>: item has a waiting hold.</div>[% END %]
 [% IF ( not_same_branch ) %]<div class="dialog alert"><strong>Cannot Delete</strong>: The items do not belong to your branch.</div>[% END %]
-[% IF ( linked_analytics ) %]<div class="dialog alert"><strong>Cannot Delete</strong>: item has linked <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]&analyze=1">analytics.</a>.</div>[% END %]
+[% IF ( linked_analytics ) %]<div class="dialog alert"><strong>Cannot Delete</strong>: item has linked <a href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% biblionumber %]&amp;analyze=1">analytics.</a>.</div>[% END %]
 
 <div id="cataloguing_additem_itemlist">
     [% IF ( item_loop ) %]
@@ -209,7 +209,7 @@ function set_to_today(id, force) {
                     [% IF ( item_loo.nomod ) %] <td colspan="2">&nbsp;</td>[% ELSE %][% IF ( item_loo.hostitemflag ) %]<td><a href="additem.pl?op=edititem&amp;biblionumber=[% item_loo.hostbiblionumber %]&amp;itemnumber=[% item_loo.itemnumber %]#edititem">Edit in Host</a></td>
 <td><a class="delete" href="/cgi-bin/koha/cataloguing/additem.pl?op=delinkitem&amp;biblionumber=[% biblionumber %]&amp;hostitemnumber=[% item_loo.itemnumber %]">Delink</a></td>
 [% ELSE %]<td><a href="additem.pl?op=edititem&amp;biblionumber=[% biblionumber %]&amp;itemnumber=[% item_loo.itemnumber %]#edititem">Edit</a></td>
-                    <td>[% IF ( item_loo.countanalytics ) %]<a href="/cgi-bin/koha/catalogue/search.pl?idx=hi&q=% item_loo.itemnumber %]">view analytics</a>[% ELSE %]<a class="delete" href="/cgi-bin/koha/cataloguing/additem.pl?op=delitem&amp;biblionumber=[% biblionumber %]&amp;itemnumber=[% item_loo.itemnumber %]" onclick="confirm_deletion([% biblionumber %],[% item_loo.itemnumber %]); return false;">Delete</a>[% END %]</td>[% END %][% END %]
+                    <td>[% IF ( item_loo.countanalytics ) %]<a href="/cgi-bin/koha/catalogue/search.pl?idx=hi&amp;q=% item_loo.itemnumber %]">view analytics</a>[% ELSE %]<a class="delete" href="/cgi-bin/koha/cataloguing/additem.pl?op=delitem&amp;biblionumber=[% biblionumber %]&amp;itemnumber=[% item_loo.itemnumber %]" onclick="confirm_deletion([% biblionumber %],[% item_loo.itemnumber %]); return false;">Delete</a>[% END %]</td>[% END %][% END %]
                 [% FOREACH item_valu IN item_loo.item_value %]
                     <td>[% item_valu.field |html %]</td>
                 [% END %]
index 6eb4b50..7775f1f 100644 (file)
@@ -162,14 +162,16 @@ tr.selected { background-color : #FFFFCC; } tr.selected td { background-color :
 </table>
 <p><form method="get" action="/cgi-bin/koha/cataloguing/z3950_search.pl"><input type="hidden" name="biblionumber" value="[% biblionumber %]"/><input type="hidden" name="frameworkcode" value="[% frameworkcode %]"/><input type="submit" value="Try Another Search"/></form></p>
     [% ELSE %]
-        [% IF ( emptyserverlist ) %]
-            You didn't select any Z39.50 target.
-        [% ELSE %]
-            [% FOREACH errcon IN errconn %]
-                Connection failed to [% errcon.server %]
-            [% END %]
-        [% END %]
-       <p>Nothing found.</p>
+        [% IF ( errconn ) %]
+            <div class="dialog alert">
+                <ul>
+                [% FOREACH errcon IN errconn %]
+                    <li>Connection failed to [% errcon.server %]</li>
+                [% END %]
+                </ul>
+            </div>
+         [% END %]
+   <div class="dialog message">Nothing found.</div>
        <p><form method="get" action="/cgi-bin/koha/cataloguing/z3950_search.pl"><input type="hidden" name="biblionumber" value="[% biblionumber %]"/><input type="hidden" name="frameworkcode" value="[% frameworkcode %]"/><input type="submit" value="Try Another Search"/></form></p>
     [% END %]
 
index 5668a75..c965e5c 100644 (file)
@@ -72,6 +72,12 @@ $.tablesorter.addParser({
                                <a href="/cgi-bin/koha/circ/pendingreserves.pl?order=call&amp;from=[% from %]&amp;to=[% to %]">Sort</a>
         </th>
         <th>
+            Available Copy No
+        </th>
+        <th>
+            Available Enumeration
+        </th>
+        <th>
             Available Itypes
                                <a href="/cgi-bin/koha/circ/pendingreserves.pl?order=itype&amp;from=[% from %]&amp;to=[% to %]">Sort</a>
         </th>
@@ -131,8 +137,10 @@ $.tablesorter.addParser({
             [% END %]
             <td><p>[% reserveloo.holdingbranch %]</p></td>
             <td><p>[% reserveloo.itemcallnumber %]</p></td>
-                               <td><p>[% reserveloo.itype %]</p></td> 
-                               <td><p>[% reserveloo.location %]</p></td>
+            <td><p>[% reserveloo.copyno %]</p></td>
+            <td><p>[% reserveloo.enumchron %]</p></td>
+            <td><p>[% reserveloo.itype %]</p></td> 
+            <td><p>[% reserveloo.location %]</p></td>
             <td width="15%">
                 <p>[% reserveloo.reservedate %]</p>
                 <p>in [% reserveloo.branch %]</p>
index 8f0d9cb..d9ba8fc 100644 (file)
@@ -46,6 +46,8 @@ $(document).ready(function() {
         <th class="hq-title">Title</th>
         <th class="hq-collection">Collection</th>
         <th class="hq-callnumber">Call Number</th>
+        <th class="hq-copynumber">Copy Number</th>
+        <th class="hq-enumchron">Enumeration</th>
         <th class="hq-barcode">Barcode</th>
         <th class="hq-patron">Patron</th>
         <th class="hq-sendto">Send To</th>
@@ -65,7 +67,9 @@ $(document).ready(function() {
                        </div>
                        </td>
             <td class="hq-collection">[% itemsloo.ccode %]</td>
-            <td class="hq-callnumber">[% itemsloo.location %] [% itemsloo.itemcallnumber %] [% itemsloo.enumchron %]</td>
+            <td class="hq-callnumber">[% itemsloo.location %] [% itemsloo.itemcallnumber %]</td>
+            <td class="hq-copynumber">[% itemsloo.copynumber %]</td>
+            <td class="hq-enumchron">[% itemsloo.enumchron %]</td>
             <td class="hq-barcode">
                 [% IF ( itemsloo.item_level_request ) %]
                        <em>Only Item:</em> <strong>[% itemsloo.barcode %]</strong>
index 7ecc3a1..d5b7bbf 100644 (file)
@@ -79,6 +79,8 @@ $.tablesorter.addParser({
                     <th>Title</th>
                     <th>Patron</th>
                     <th>Location</th>
+                    <th>Copy Number</th>
+                    <th>Enumeration</th>
                     <th>Action</th>
                </tr></thead>
                <tbody>[% FOREACH reserveloo IN reserveloop %]
@@ -95,6 +97,8 @@ $.tablesorter.addParser({
                         [% reserveloo.borrowermail %]</a>[% END %]
                     </td>
                     <td>[% reserveloo.homebranch %]<br />[% reserveloo.itemcallnumber %]</td>
+                    <td>[% reserveloo.copynumber %]</td>
+                    <td>[% reserveloo.enumchron %]</td>
                     <td>
                         <form name="cancelReserve" action="waitingreserves.pl" method="post">
                             <input type="hidden" name="borrowernumber" value="[% reserveloo.borrowernum %]" />
@@ -124,6 +128,8 @@ $.tablesorter.addParser({
                     <th>Title</th>
                     <th>Patron</th>
                     <th>Location</th>
+                    <th>Copy Number</th>
+                    <th>Enumeration</th>
                     <th>Action</th>
                </tr></thead>
                <tbody>[% FOREACH overloo IN overloop %]
@@ -139,6 +145,8 @@ $.tablesorter.addParser({
         [% overloo.borrowermail %]</a>[% END %]
                     </td>
                     <td>[% overloo.homebranch %] [% overloo.itemcallnumber %]</td>
+                    <td>[% overloo.copynumber %]</td>
+                    <td>[% overloo.enumchron %]</td>
                     <td><form name="cancelReserve" action="waitingreserves.pl" method="post">
                             <input type="hidden" name="borrowernumber" value="[% overloo.borrowernum %]" />
                             <input type="hidden" name="itemnumber" value="[% overloo.itemnumber %]" />
index fa94187..35fbfec 100644 (file)
@@ -1,6 +1,6 @@
 [% INCLUDE 'help-top.inc' %]
 
-<h1>Claims & Late Orders</h1>
+<h1>Claims &amp; Late Orders</h1>
 
 <p>If you have entered in an email address for the vendors in your system you can send them claim emails when an order is late. Before you can send claims you will need to set up an acquisitions claim notice.</p>
 
index 550d783..ef3eb1c 100644 (file)
@@ -26,7 +26,7 @@
        <li>To be able to order from a vendor you must make them 'Active'</li>
        <li>For List Prices and Invoice Prices choose the currency
 <ul>
-       <li>Currencies are assigned in the Currencies & Exchange Rates admin area</li>
+       <li>Currencies are assigned in the Currencies &amp; Exchange Rates admin area</li>
 </ul>
 </li>
        <li>If the vendor offers a consistent blank discount, enter that in the 'Discount' field
index 973e2af..69e1dd4 100644 (file)
@@ -1,6 +1,6 @@
 [% INCLUDE 'help-top.inc' %]
 
-<h1>Libraries & Groups</h1>
+<h1>Libraries &amp; Groups</h1>
 
 <p>When setting up your Koha system you will want to add information for every library that will be sharing your system. This data is used in several areas of Koha.</p>
 
@@ -47,6 +47,6 @@
 
 <p>Properties are then applied to libraries via the add or edit library form.</p>
 
-<p><strong>See the full documentation for Libraries & Groups in the <a href="http://manual.koha-community.org/3.6/en/basicparams.html#libsgroups">manual</a> (online).</strong></p>
+<p><strong>See the full documentation for Libraries &amp; Groups in the <a href="http://manual.koha-community.org/3.6/en/basicparams.html#libsgroups">manual</a> (online).</strong></p>
 
 [% INCLUDE 'help-bottom.inc' %]
\ No newline at end of file
index fd8cc7f..8d26aea 100644 (file)
@@ -9,8 +9,8 @@
 <p>Most fees and fines will be charged automatically if the fines cron job is running:</p>
 
 <ul>
-       <li>Fines will be charged based on your Circulation & Fines Rules</li>
-       <li>Hold fees will be charged based on the rules you set in the Patron Types & Categories administration area</li>
+       <li>Fines will be charged based on your Circulation &amp; Fines Rules</li>
+       <li>Hold fees will be charged based on the rules you set in the Patron Types &amp; Categories administration area</li>
        <li>Rental fees will be charged based on the settings in your Item Types administration area</li>
        <li>Marking an item 'Lost' via the cataloging module will automatically charge the patron the replacement cost for that item</li>
 </ul>
index 5a6b09e..9a1708e 100644 (file)
@@ -27,7 +27,7 @@
         <a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; 
         <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> &rsaquo;
         <a href="/cgi-bin/koha/labels/label-home.pl">Labels Home</a> &rsaquo;
-        <a href="/cgi-bin/koha/labels/label-manage.pl?label_element=batch">Mange Label Batches</a> &rsaquo;
+        <a href="/cgi-bin/koha/labels/label-manage.pl?label_element=batch">Manage Label Batches</a> &rsaquo;
         Manage Batch Number [% batch_id %]
     </div>
     <div id="doc3" class="yui-t2">
index 4610aca..cd799a8 100644 (file)
@@ -26,7 +26,7 @@
         <a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo;
         <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> &rsaquo;
         <a href="/cgi-bin/koha/labels/label-home.pl">Labels Home</a> &rsaquo;
-        <a href="/cgi-bin/koha/labels/label-manage.pl?label_element=layout">Mange Label Layouts</a> &rsaquo;
+        <a href="/cgi-bin/koha/labels/label-manage.pl?label_element=layout">Manage Label Layouts</a> &rsaquo;
         [% IF ( layout_id ) %]Edit[% ELSE %]Create[% END %] Label Layout
     </div>
     <div id="doc3" class="yui-t2">
index abc1df1..f783350 100644 (file)
@@ -27,8 +27,8 @@ $(document).ready(function(){
 <ul class="ui-tabs-nav">
        <li><a href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% borrowernumber %]">Account</a></li>
        <li><a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% borrowernumber %]" >Pay fines</a></li>
-       <li><a href="/cgi-bin/koha/members/maninvoice.pl?borrowernumber=[% borrowernumber %]" >Create Manual Invoice</a></li>
-       <li class="ui-tabs-selected"><a href="/cgi-bin/koha/members/mancredit.pl?borrowernumber=[% borrowernumber %]" >Create Manual Credit</a></li>
+       <li><a href="/cgi-bin/koha/members/maninvoice.pl?borrowernumber=[% borrowernumber %]" >Create manual invoice</a></li>
+       <li class="ui-tabs-selected"><a href="/cgi-bin/koha/members/mancredit.pl?borrowernumber=[% borrowernumber %]" >Create manual credit</a></li>
 </ul>
 <div class="tabs-container">
 
index 6393550..318bd59 100644 (file)
@@ -27,8 +27,8 @@ $(document).ready(function(){
 <ul class="ui-tabs-nav">
        <li><a href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% borrowernumber %]">Account</a></li>
        <li><a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% borrowernumber %]" >Pay fines</a></li>
-       <li class="ui-tabs-selected"><a href="/cgi-bin/koha/members/maninvoice.pl?borrowernumber=[% borrowernumber %]" >Create Manual Invoice</a></li>
-       <li><a href="/cgi-bin/koha/members/mancredit.pl?borrowernumber=[% borrowernumber %]" >Create Manual Credit</a></li>
+       <li class="ui-tabs-selected"><a href="/cgi-bin/koha/members/maninvoice.pl?borrowernumber=[% borrowernumber %]" >Create manual invoice</a></li>
+       <li><a href="/cgi-bin/koha/members/mancredit.pl?borrowernumber=[% borrowernumber %]" >Create manual credit</a></li>
 </ul>
 <div class="tabs-container">
 
index 93b1828..1269270 100644 (file)
@@ -1,6 +1,25 @@
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Koha &rsaquo; Patrons &rsaquo; [% IF ( newpassword ) %]Password Updated [% ELSE %]Update Password for [% surname %], [% firstname %][% END %]</title>
 [% INCLUDE 'doc-head-close.inc' %]
+<script type="text/JavaScript">
+//<![CDATA[
+    $(document).ready(function() {
+        $("#changepasswordf").submit(function(){
+            if($("input[name='newpassword']").val() != $("input[name='newpassword2']").val()){
+                alert(_("Passwords do not match"));
+                return false;
+            } else {
+                return true;
+            }
+        });
+        $("#fillrandom").live('click', function() {
+            $("#newpassword").after("<input type=\"text\" name=\"newpassword\" value=\"[% defaultnewpassword %]\">").remove();
+            $("#newpassword2").after("<input type=\"text\" name=\"newpassword2\" value=\"[% defaultnewpassword %]\">").remove();
+        });
+        $("div.hint").eq(0).after(" <div class=\"hint\"><a href=\"#\" id=\"fillrandom\">"+_("Click to fill with a randomly generated suggestion. ")+"<strong>"+_("Passwords will be displayed as text")+"</strong>.</a></div>");
+    });
+//]]>
+</script>
 </head>
 <body>
 [% INCLUDE 'header.inc' %]
 
 [% ELSE %]
 
-<form method="post" action="/cgi-bin/koha/members/member-password.pl">
+<form method="post" id="changepasswordf" action="/cgi-bin/koha/members/member-password.pl">
 <input type="hidden" name="destination" value="[% destination %]" />   
 <input type="hidden" name="cardnumber" value="[% cardnumber %]" />
 <input type="hidden" name="borrowernumber" id="borrowernumber" value="[% borrowernumber %]" />
        [% IF ( errormsg ) %]
+               <div class="dialog alert">
+               <h4>The following errors have occurred:</h4>
+               <ul>
                [% IF ( BADUSERID ) %]
-               <div class="dialog alert">You have entered a User ID that already exists.  Please choose another one.</div>
+               <li>You have entered a username that already exists.  Please choose another one.</li>
                [% END %]
                [% IF ( SHORTPASSWORD ) %]
-               <div class="dialog alert"><strong>The password entered is too short</strong>. Password must be at least [% minPasswordLength %] characters.</div>
+               <li><strong>The password entered is too short</strong>. Password must be at least [% minPasswordLength %] characters.</li>
                [% END %]
                [% IF ( NOPERMISSION ) %]
-               <div class="dialog alert">You do not have permission to edit this patron's login information.</div>
+               <li>You do not have permission to edit this patron's login information.</li>
                [% END %]
+               [% IF ( NOMATCH ) %]
+               <li><strong>The passwords entered do not match</strong>. Please re-enter the new password.</li>
+               [% END %]
+               </ul>
+               </div>
        [% END %]
 
 
        <fieldset class="brief"><legend>Change Username and/or Password for [% firstname %] [% surname %]</legend>
        <ol>
        <li><label for="newuserid">New Username:</label>
-       <input type="hidden" name="member" value="[% member %]" /><input type="text" id="newuserid" name="newuserid" size="20" value="[% userid %]" /></li>
+       <input type="hidden" name="member" value="[% borrowernumber %]" /><input type="text" id="newuserid" name="newuserid" size="20" value="[% userid %]" /></li>
        <li><label for="newpassword">New Password:</label>
-       <div class="hint">Koha cannot display existing passwords. Below is a randomly generated suggestion.  Leave the field blank to leave password unchanged.</div>
+       <div class="hint">Koha cannot display existing passwords. Leave the field blank to leave password unchanged.</div>
        [% IF ( minPasswordLength ) %]<div class="hint">Minimum password length: [% minPasswordLength %]</div>[% END %]
-       <input name="newpassword"  id="newpassword" type="text" size="20" value="[% defaultnewpassword %]" /></li>
+       [% IF ( NOMATCH ) %]
+       <input name="newpassword"  id="newpassword" type="password" size="20" class="focus" />
+       <input name="newpassword" id="newpassword_random" readonly="readonly" disabled="disabled" type="hidden" />
+       [% ELSE %]
+       <input name="newpassword"  id="newpassword" type="password" size="20" />
+       <input name="newpassword" readonly="readonly" disabled="disabled" type="hidden" />
+       [% END %]
+       </li>
+       <li><label for="newpassword2">Confirm New Password:</label>
+       <input name="newpassword2"  id="newpassword2" type="password" size="20" />
+       <input name="newpassword2" id="newpassword2_random" readonly="readonly" disabled="disabled" type="hidden" />
+       </li>
        </ol>
 </fieldset>
        <fieldset class="action"><input type="submit" value="Save" /> <a class="cancel" href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% borrowernumber %]">Cancel</a></fieldset>
index f625220..c3f3909 100644 (file)
@@ -62,7 +62,7 @@
                                                        <td>[% resultsloo.cardnumber %]</td>
                                                        <td style="white-space: nowrap;"><a href="/cgi-bin/koha/members/moremember.pl?borrowernumber=[% resultsloo.borrowernumber %]">
                             [% INCLUDE 'patron-title.inc' category_type = resultsloo.category_type firstname = resultsloo.firstname surname = resultsloo.surname othernames = resultsloo.othernames cardnumber = resultsloo.cardnumber %]</a> <br />
-                            [% resultsloo.address %][% IF ( resultsloo.address2 ) %]<br />[% resultsloo.address2 %][% END %][% IF ( resultsloo.city ) %]<br />[% resultsloo.city %][% IF ( resultsloo.state ) %],[% END %][% END %][% IF ( resultsloo.state ) %] [% resultsloo.state %][% END %] [% IF ( resultsloo.zipcode ) %]  [% resultsloo.zipcode %][% END %][% IF ( resultsloo.country ) %], [% resultsloo.country %][% END %]</td>
+                            [% IF ( resultsloo.streetnumber ) %][% resultsloo.streetnumber %] [% END %][% resultsloo.address %][% IF ( resultsloo.address2 ) %]<br />[% resultsloo.address2 %][% END %][% IF ( resultsloo.city ) %]<br />[% resultsloo.city %][% IF ( resultsloo.state ) %],[% END %][% END %][% IF ( resultsloo.state ) %] [% resultsloo.state %][% END %] [% IF ( resultsloo.zipcode ) %]  [% resultsloo.zipcode %][% END %][% IF ( resultsloo.country ) %], [% resultsloo.country %][% END %]</td>
                                                        <td>[% resultsloo.category_description %] ([% resultsloo.category_type %])</td>
                                                        <td>[% resultsloo.branchcode %]</td>
                                                        <td>[% resultsloo.dateexpiry %]</td>
index 02d39f5..51a1ba1 100644 (file)
@@ -3,7 +3,7 @@
 [% IF ( opadd ) %]Add[% ELSIF ( opduplicate ) %]Duplicate[% ELSE %] Modify[% END %] [% IF ( categoryname ) %] [% categoryname %] patron[% ELSE %][% IF ( I ) %] Organization patron[% END %][% IF ( A ) %] Adult patron[% END %][% IF ( C ) %] Child patron[% END %][% IF ( P ) %] Professional patron[% END %][% IF ( S ) %] Staff patron[% END %][% END %][% UNLESS ( opadd ) %] [% surname %], [% firstname %][% END %]</title>
 [% INCLUDE 'doc-head-close.inc' %]
 [% INCLUDE 'calendar.inc' %]
-<script type="text/JavaScript" language="JavaScript">
+<script type="text/JavaScript">
 //<![CDATA[
     $(document).ready(function() {
                $("fieldset.rows input").keydown(function(e){ return checkEnter(e); });
@@ -60,6 +60,7 @@
         var MSG_LATE_EXPIRY = _("Warning: Expiration date falls before enrollment date");
         var MSG_MISSING_MANDATORY = _("The following fields are mandatory:");
         var MSG_DUPLICATE_SUSPICION = _("Please confirm whether this is a duplicate patron");
+        var MSG_PASSWORD_MISMATCH = _("The passwords entered do not match");
 //]]>
 </script>
 <script type="text/javascript" src="[% themelang %]/js/members.js"></script>
                        [% IF ( ERROR_short_password ) %]
                                <li id="ERROR_short_password">Password must be at least [% minPasswordLength %] characters long.</li>
                        [% END %]
+                       [% IF ( ERROR_password_mismatch ) %]
+                               <li id="ERROR_password_mismatch">Passwords do not match.</li>
+                       [% END %]
             [% IF ( ERROR_extended_unique_id_failed ) %]
                 <li id="ERROR_extended_unique_id_failed">The attribute value 
                     [% ERROR_extended_unique_id_failed %] is already is use by another patron record.</li>
 [% IF ( step_1 ) %]
 [%UNLESS notitle && nosurname && nofirstname && nodateofbirth && noinitials && noothernames &&nosex %]
        <fieldset class="rows" id="memberentry_identity">
-               <legend>[% IF ( I ) %]Organization [% ELSE %]Patron [% END %]identity</legend>
+               <legend id="identity_lgd">[% IF ( I ) %]Organization [% ELSE %]Patron [% END %]identity</legend>
                <ol>
                [% UNLESS ( I ) %]
         [% UNLESS notitle %]
                </ol>
        </fieldset>
 [% END # hide fieldset %]
-       
+
 [% IF ( showguarantor ) %]<input type="hidden" id="guarantorid" name="guarantorid"   value="[% guarantorid %]" />
     <fieldset class="rows">
         <legend>Guarantor Information</legend>
 [% END %]
 [% UNLESS noaddress && noaddress2 && nocity && nostate && nozipcode && nocountry %]
 <fieldset class="rows">
-    <legend>Main address</legend><ol>
+    <legend id="main_address_lgd">Main address</legend><ol>
         [% UNLESS nostreetnumber %]
     <li>
       [% IF ( mandatorystreetnumber ) %]
 
 [% UNLESS nophone && nophonepro && nomobile && noemail && noemailpro && nofax %]
   <fieldset class="rows" id="memberentry_contact">
-    <legend>Contact</legend><ol>
+    <legend id="contact_lgd">Contact</legend><ol>
         [% UNLESS nophone %]
       <li>
       [% IF ( mandatoryphone ) %] 
 
     [% UNLESS noB_address && noB_address2 && noB_city && noB_zipcode && noB_state && noB_country &&nocontactnote && noB_phone && noB_email %]
                <fieldset class="rows" id="memberentry_address">
-               <legend>Alternate address</legend><ol>
+               <legend id="alt_address_lgd">Alternate address</legend><ol>
         [% UNLESS noB_address %]
                        <li>
                                [% IF ( mandatoryB_address ) %]
                        </ol>
                </fieldset>
     [% END # UNLESS noB_address && noB_city && noB_state && noB_phone && noB_email %]
-[% END %]              
+[% END %]
 [% IF ( step_2 ) %]
     [% UNLESS noaltcontactsurname && noaltcontactfirstname && noaltcontactaddress1 && noaltcontactaddress2 && noaltcontactaddress3 && noaltcontactstate && noaltcontactzipcode && noaltcontactcountry && noaltcontactphone %]
                <fieldset class="rows" id="memberentry_altaddress">       
-                   <legend>Alternate Contact</legend><ol>
+                   <legend id="alt_contact_lgd">Alternate Contact</legend><ol>
         [% UNLESS noaltcontactsurname %]
                        <li>
                            [% IF ( mandatoryaltcontactsurname ) %]
 [% IF ( step_3 ) %]
 
   <fieldset class="rows" id="memberentry_library_management">
-    <legend>Library Management</legend><ol>
+    <legend id="library_management_lgd">Library Management</legend><ol>
         [% UNLESS nocardnumber %]
    <li> [% IF ( mandatorycardnumber ) %]
       <label for="cardnumber" class="required">
   </fieldset>
     [% UNLESS nodateenrolled && nodateexpiry &&  noopacnote && noborrowernotes %]
        <fieldset class="rows" id="memberentry_subscription">
-       <legend>Library set-up</legend><ol>
+       <legend id="library_setup_lgd">Library set-up</legend><ol>
         [% UNLESS nodateenrolled %]
                <li>
                        [% IF ( mandatorydateenrolled ) %]
 
     [% UNLESS nouserid && nopassword %]
        <fieldset class="rows" id="memberentry_userid">
-               <legend>OPAC/Staff Login</legend><ol>
+               <legend id="opac_staff_login_lgd">OPAC/Staff Login</legend><ol>
         [% UNLESS nouserid %]
                <li>
                        [% IF ( mandatoryuserid ) %]
                        [% IF ( opadd ) %]
                        [% IF ( NoUpdateLogin ) %]
                                [% IF ( opduplicate ) %]
-                                       <input type="text" id="password" name="password" size="20"  disabled="disabled" />
+                                       <input type="password" id="password" name="password" size="20"  disabled="disabled" />
                                [% ELSE %]
-                                       <input type="text" id="password" name="password" size="20"  disabled="disabled" value="[% password %]" />
+                                       <input type="password" id="password" name="password" size="20"  disabled="disabled" value="[% password %]" />
                                [% END %]
 [% ELSE %]
                                [% IF ( opduplicate ) %]
-                                       <input type="text" id="password" name="password" size="20" />
+                                       <input type="password" id="password" name="password" size="20" />
                                [% ELSE %]
-                                       <input type="text" id="password" name="password" size="20" value="[% password %]" />
+                                       <input type="password" id="password" name="password" size="20" value="[% password %]" />
                                [% END %]
 [% END %]
                        [% ELSE %]
                        [% IF ( password ) %]
                                [% IF ( NoUpdateLogin ) %]
-                                       <input type="text" id="password" name="password" size="20"  disabled="disabled" value="****" />
+                                       <input type="password" id="password" name="password" size="20"  disabled="disabled" value="****" />
                                [% ELSE %]
                                        [% IF ( opduplicate ) %]
-                                               <input type="text" id="password" name="password" size="20" />
+                                               <input type="password" id="password" name="password" size="20" />
                                        [% ELSE %]
-                                               <input type="text" id="password" name="password" size="20" value="****" />
+                                               <input type="password" id="password" name="password" size="20" value="****" />
                                        [% END %]
                                [% END %]
                        [% ELSE %]
                                [% IF ( NoUpdateLogin ) %]
-                                       <input type="text" id="password" name="password" size="20"  disabled="disabled" value="" />
+                                       <input type="password" id="password" name="password" size="20"  disabled="disabled" value="" />
                                [% ELSE %]
-                                       <input type="text" id="password" name="password" size="20" value="" />
+                                       <input type="password" id="password" name="password" size="20" value="" />
                                [% END %]
                        [% END %]
                        [% END %]
          [% IF ( mandatorypassword ) %]<span class="required">Required</span>[% END %][% IF ( ERROR_short_password ) %]<span class="required">Password is too short</span>[% END %]
 [% IF ( minPasswordLength ) %]<div class="hint">Minimum password length: [% minPasswordLength %]</div>[% END %]
                </li>
-        [% END %]
-    </ol>
+               <li>
+                       [% IF ( mandatorypassword ) %]
+                       <label for="password2" class="required">
+                       [% ELSE %]
+                       <label for="password2">
+                       [% END %]
+                       Confirm password: </label>
+                       [% IF ( opadd ) %]
+                       [% IF ( NoUpdateLogin ) %]
+                               [% IF ( opduplicate ) %]
+                                       <input type="password" id="password2" name="password2" size="20"  disabled="disabled" />
+                               [% ELSE %]
+                                       <input type="password" id="password2" name="password2" size="20"  disabled="disabled" value="[% password %]" />
+                               [% END %]
+[% ELSE %]
+                               [% IF ( opduplicate ) %]
+                                       <input type="password" id="password2" name="password2" size="20" />
+                               [% ELSE %]
+                                       <input type="password" id="password2" name="password2" size="20" value="[% password %]" />
+                               [% END %]
+[% END %]
+                       [% ELSE %]
+                       [% IF ( password ) %]
+                               [% IF ( NoUpdateLogin ) %]
+                                       <input type="password" id="password2" name="password2" size="20"  disabled="disabled" value="****" />
+                               [% ELSE %]
+                                       [% IF ( opduplicate ) %]
+                                               <input type="password" id="password2" name="password2" size="20" />
+                                       [% ELSE %]
+                                               <input type="password" id="password2" name="password2" size="20" value="****" />
+                                       [% END %]
+                               [% END %]
+                       [% ELSE %]
+                               [% IF ( NoUpdateLogin ) %]
+                                       <input type="password" id="password2" name="password2" size="20"  disabled="disabled" value="" />
+                               [% ELSE %]
+                                       <input type="password" id="password2" name="password2" size="20" value="" />
+                               [% END %]
+                       [% END %]
+                       [% END %]
+         [% IF ( mandatorypassword ) %]<span class="required">Required</span>[% END %][% IF ( ERROR_password_mismatch ) %]<span class="required">Passwords do not match</span>[% END %]
+               </li>
+               </ol>
                </fieldset>
-        [% END # hide fieldset %]
+        [% END # hide fieldset %][% END %]
                <!--this zones are not necessary in modif mode -->
                [% UNLESS ( opadd ) %]
                <fieldset class="rows">
                        </ol>
                        </fieldset>
     
-               [% END %]       
+               [% END %]
 
 [% END %]
 
     </script>
     [% END %]
     <input type="hidden" name="setting_messaging_prefs" value="1" />
-    <legend>Patron messaging preferences</legend>
+    <legend id="patron_messaging_prefs_lgd">Patron messaging preferences</legend>
     [% IF type_only %]
         <i>If no preferences are selected, the default preferences for the category chosen will be applied on save, otherwise your selection here is saved</i>
     [% END %]
index 8b0a545..d883958 100644 (file)
@@ -1,19 +1,23 @@
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Koha &rsaquo; Patrons &rsaquo; Pay Fines for  [% borrower.firstname %] [% borrower.surname %]</title>
 [% INCLUDE 'doc-head-close.inc' %]
+<script type= "text/javascript">
+//<![CDATA[
+    $(document).ready(function(){
+        $("#woall").click(function(event){
+            var answer = confirm(_("Are you sure you want to write off [% total | format('%.2f') %] in outstanding fines? This cannot be undone!"));
+                if (!answer){
+                    event.preventDefault();
+                }
+        });
+    });
+//]]>
+</script>
 </head>
 <body>
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'patron-search.inc' %]
 
-<script type=text/javascript>
-
-function confirmWriteoffAll() {
-    return confirm(_("Are you sure you want to writeoff all fines?"));
-}
-
-</script>
-
 <div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>  &rsaquo; Pay Fines for [% borrower.firstname %] [% borrower.surname %]</div>
 
 <div id="doc3" class="yui-t2">
@@ -28,8 +32,8 @@ function confirmWriteoffAll() {
 <ul class="ui-tabs-nav">
        <li><a href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% borrower.borrowernumber %]">Account</a></li>
        <li class="ui-tabs-selected"><a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% borrower.borrowernumber %]" >Pay fines</a></li>
-       <li><a href="/cgi-bin/koha/members/maninvoice.pl?borrowernumber=[% borrower.borrowernumber %]" >Create Manual Invoice</a></li>
-       <li><a href="/cgi-bin/koha/members/mancredit.pl?borrowernumber=[% borrower.borrowernumber %]" >Create Manual Credit</a></li>
+       <li><a href="/cgi-bin/koha/members/maninvoice.pl?borrowernumber=[% borrower.borrowernumber %]" >Create manual invoice</a></li>
+       <li><a href="/cgi-bin/koha/members/mancredit.pl?borrowernumber=[% borrower.borrowernumber %]" >Create manual credit</a></li>
 </ul>
 <div class="tabs-container">
 
@@ -38,6 +42,7 @@ function confirmWriteoffAll() {
        <input type="hidden" name="borrowernumber" id="borrowernumber" value="[% borrower.borrowernumber %]" />
 
 <table>
+<thead>
 <tr>
        <th>Fines &amp; Charges</th>
     <th>Sel</th>
@@ -48,14 +53,21 @@ function confirmWriteoffAll() {
        <th>Amount</th>
        <th>Amount Outstanding</th>
 </tr>
-
+</thead>
+<tfoot>
+<tr>
+    <td class="total" colspan="7">Total Due:</td>
+    <td>[% total | format('%.2f') %]</td>
+</tr>
+</tfoot>
+<tbody>
 [% FOREACH account_grp IN accounts %]
     [% FOREACH line IN account_grp.accountlines %]
 <tr>
     <td>
     [% IF ( line.amountoutstanding > 0 ) %]
         <input type="submit" name="pay_indiv_[% line.accountno %]" value="Pay" />
-        <input type="submit" name="wo_indiv_[% line.accountno %]" value="Writeoff" />
+        <input type="submit" name="wo_indiv_[% line.accountno %]" value="Write off" />
     [% END %]
     <input type="hidden" name="itemnumber[% line.accountno %]" value="[% line.itemnumber %]" />
     <input type="hidden" name="description[% line.accountno %]" value="[% line.description %]" />
@@ -89,15 +101,12 @@ function confirmWriteoffAll() {
 </tr>
 [% END %]
 [% END %]
-<tr>
-    <td class="total" colspan="7">Total Due:</td>
-    <td>[% total | format('%.2f') %]</td>
-</tr>
+</tbody>
 </table>
 <fieldset class="action">
-<input type="submit" name="paycollect"  value="Pay Amount" class="submit" />
-<input type="submit" name="woall"  value="Writeoff All" class="submit" onclick="return confirmWriteoffAll()" />
-<input type="submit" name="payselected"  value="Pay Selected" class="submit"/>
+<input type="submit" name="paycollect"  value="Pay amount" class="submit" />
+<input type="submit" name="woall"  id="woall" value="Write off all" class="submit" />
+<input type="submit" name="payselected"  value="Pay selected" class="submit" />
 <a class="cancel" href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% borrower.borrowernumber %]">Cancel</a>
 </fieldset>
 </form>
index ba18215..c3bdc1e 100644 (file)
@@ -57,7 +57,7 @@ function moneyFormat(textObj) {
 <body>
 [% INCLUDE 'header.inc' %]
 [% INCLUDE 'patron-search.inc' %]
-<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>  &rsaquo; Pay Fines for [% borrower.firstname %] [% borrower.surname %]</div>
+<div id="breadcrumbs"><a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo; <a href="/cgi-bin/koha/members/members-home.pl">Patrons</a>  &rsaquo; <a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% borrower.borrowernumber %]">Pay Fines for [% borrower.firstname %] [% borrower.surname %]</a> &rsaquo; [% IF ( pay_individual ) %]Pay an individual fine[% ELSIF ( writeoff_individual ) %]Write off an individual fine[% ELSE %][% IF ( selected_accts ) %]Pay an amount toward selected fines[% ELSE %]Pay an amount toward all fines[% END %][% END %]</div>
 
 <div id="doc3" class="yui-t2">
 
@@ -77,10 +77,10 @@ function moneyFormat(textObj) {
     <a href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% borrower.borrowernumber %]" >Pay fines</a>
     </li>
     <li>
-    <a href="/cgi-bin/koha/members/maninvoice.pl?borrowernumber=[% borrower.borrowernumber %]" >Create Manual Invoice</a>
+    <a href="/cgi-bin/koha/members/maninvoice.pl?borrowernumber=[% borrower.borrowernumber %]" >Create manual invoice</a>
     </li>
     <li>
-    <a href="/cgi-bin/koha/members/mancredit.pl?borrowernumber=[% borrower.borrowernumber %]" >Create Manual Credit</a>
+    <a href="/cgi-bin/koha/members/mancredit.pl?borrowernumber=[% borrower.borrowernumber %]" >Create manual credit</a>
     </li>
 </ul>
 <div class="tabs-container">
@@ -103,50 +103,50 @@ function moneyFormat(textObj) {
     <input type="hidden" name="amountoutstanding" id="amountoutstanding" value="[% amountoutstanding %]" />
     <input type="hidden" name="accountno" id="accountno" value="[% accountno %]" />
     <input type="hidden" name="title" id="title" value="[% title %]" />
+
+<fieldset class="rows">
+    <legend>Pay an individual fine</legend>
     <table>
-    <tr>
-        <th>Description</th>
-        <th>Account Type</th>
-        <th>Notify id</th>
-        <th>Level</th>
-        <th>Amount</th>
-        <th>Amount Outstanding</th>
-    </tr>
-    <tr>
-        <td>
-            [% description %] [% title  %]
-        </td>
-        <td>[% accounttype %]</td>
-        <td>[% notify_id %]</td>
-        <td>[% notify_level %]</td>
-        <td class="debit">[% amount | format('%.2f') %]</td>
-        <td class="debit">[% amountoutstanding | format('%.2f') %]</td>
-    </tr>
-    <tr>
-        <td>Total Amount Payable : </td>
-        <td>[% amountoutstanding | format('%.2f') %]</td>
-        <td colspan="4"></td>
-    </tr>
-    <tr><td colspan="6"> </td></tr>
-    <tr>
-        <td>Collect From Patron: </td>
-        <td>
+    <thead><tr>
+            <th>Description</th>
+            <th>Account Type</th>
+            <th>Notify id</th>
+            <th>Level</th>
+            <th>Amount</th>
+            <th>Amount Outstanding</th>
+        </tr></thead>
+    <tfoot>
+        <td colspan="5">Total amount payable:</td><td>[% amountoutstanding | format('%.2f') %]</td>
+    </tfoot>
+    <tbody><tr>
+            <td>
+                [% description %] [% title  %]
+            </td>
+            <td>[% accounttype %]</td>
+            <td>[% notify_id %]</td>
+            <td>[% notify_level %]</td>
+            <td class="debit">[% amount | format('%.2f') %]</td>
+            <td class="debit">[% amountoutstanding | format('%.2f') %]</td>
+        </tr></tbody>
+</table>
+
+<ol>
+
+    <li>
+        <label for="paid">Collect from patron: </label>
             <!-- default to paying all -->
         <input name="paid" id="paid" value="[% amountoutstanding | format('%.2f') %]" onchange="moneyFormat(document.payindivfine.paid)"/>
-        </td>
-    </tr>
-    <tr><td colspan="6"></td></tr>
-    <tr>
-        <td colspan="6">
-        <input type="submit" name="submitbutton" value="Confirm" />
-        <a class="cancel" href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% borrower.borrowernumber %]">Cancel</a>
-        </td>
-    </tr>
+    </li>
+</ol>
+</fieldset>
 
-    </table>
+    <div class="action"><input type="submit" name="submitbutton" value="Confirm" />
+        <a class="cancel" href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% borrower.borrowernumber %]">Cancel</a></div>
     </form>
 [% ELSIF ( writeoff_individual ) %]
     <form name="woindivfine" action="/cgi-bin/koha/members/pay.pl" method="post" >
+    <fieldset class="rows">
+    <legend>Write off an individual fine</legend>
     <input type="hidden" name="borrowernumber" id="borrowernumber" value="[% borrower.borrowernumber %]" />
     <input type="hidden" name="pay_individual" id="pay_individual" value="[% pay_individual %]" />
     <input type="hidden" name="itemnumber" id="itemnumber" value="[% itemnumber %]" />
@@ -159,33 +159,27 @@ function moneyFormat(textObj) {
     <input type="hidden" name="accountno" id="accountno" value="[% accountno %]" />
     <input type="hidden" name="title" id="title" value="[% title %]" />
     <table>
-    <tr>
-        <th>Description</th>
-        <th>Account Type</th>
-        <th>Notify id</th>
-        <th>Level</th>
-        <th>Amount</th>
-        <th>Amount Outstanding</th>
-    </tr>
-    <tr>
-        <td>[% description %] [% title %]</td>
-        <td>[% accounttype %]</td>
-        <td>[% notify_id %]</td>
-        <td>[% notify_level %]</td>
-        <td class="debit">[% amount | format('%.2f') %]</td>
-        <td class="debit">[% amountoutstanding | format('%.2f') %]</td>
-    </tr>
-    <tr><td colspan="6"> </td></tr>
-    <tr><td colspan="6"><strong>Writeoff This Charge?</strong></td></tr>
-    <tr><td> </td></tr>
-    <tr>
-        <td colspan="6">
-        <input type="submit" name="confirm_writeoff" id="confirm_writeoff" value="Confirm" />
-        <a class="cancel" href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% borrower.borrowernumber %]">Cancel</a>
-        </td>
-    </tr>
-
+    <thead><tr>
+            <th>Description</th>
+            <th>Account Type</th>
+            <th>Notify id</th>
+            <th>Level</th>
+            <th>Amount</th>
+            <th>Amount Outstanding</th>
+        </tr></thead>
+    <tfoot><td colspan="5">Total amount to be written off:</td><td>[% amountoutstanding | format('%.2f') %]</td></tfoot>
+    <tbody><tr>
+            <td>[% description %] [% title %]</td>
+            <td>[% accounttype %]</td>
+            <td>[% notify_id %]</td>
+            <td>[% notify_level %]</td>
+            <td class="debit">[% amount | format('%.2f') %]</td>
+            <td class="debit">[% amountoutstanding | format('%.2f') %]</td>
+        </tr></tbody>
     </table>
+    </fieldset>
+    <div class="action"><input type="submit" name="confirm_writeoff" id="confirm_writeoff" value="Write off this charge" />
+        <a class="cancel" href="/cgi-bin/koha/members/pay.pl?borrowernumber=[% borrower.borrowernumber %]">Cancel</a></div>
     </form>
 [% ELSE %]
 
@@ -194,27 +188,22 @@ function moneyFormat(textObj) {
     <input type="hidden" name="selected_accts" id="selected_accts" value="[% selected_accts %]" />
     <input type="hidden" name="total" id="total" value="[% total %]" />
 
-    <table>
-    <tr>
-        <td>Total Amount Outstanding : </td>
-        <td class="debit">[% total | format('%.2f') %]</td>
-    </tr>
-    <tr><td colspan="2"> </td></tr>
-    <tr>
-        <td>Collect From Patron: </td>
-        <td>
+    <fieldset class="rows">
+    [% IF ( selected_accts ) %]<legend>Pay an amount toward selected fines</legend>[% ELSE %]<legend>Pay an amount toward all fines</legend>[% END %]
+    <ol>
+        <li>
+            <span class="label">Total amount outstanding: </span>
+            <span class="debit">[% total | format('%.2f') %]</span>
+        </li>
+    <li>
+        <label for="paid">Collect from patron: </label>
         <!-- default to paying all -->
         <input name="paid" id="paid" value="[% total | format('%.2f') %]" onchange="moneyFormat(document.payfine.paid)"/>
-        </td>
-    </tr>
-    <tr><td></td></tr>
-    <tr>
-        <td colspan="2">
-        <input type="submit" name="submitbutton" value="Confirm" />
-        <a class="cancel" href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% borrower.borrowernumber %]">Cancel</a>
-        </td>
-    </tr>
-    </table>
+    </li>
+    </ol>
+    </fieldset>
+    <div class="action"><input type="submit" name="submitbutton" value="Confirm" />
+        <a class="cancel" href="/cgi-bin/koha/members/boraccount.pl?borrowernumber=[% borrower.borrowernumber %]">Cancel</a></div>
     </form>
 [% END %]
 </div></div>
index c40551d..b8b0942 100644 (file)
         <a href="/cgi-bin/koha/mainpage.pl">Home</a> &rsaquo;
         <a href="/cgi-bin/koha/tools/tools-home.pl">Tools</a> &rsaquo;
         <a href="/cgi-bin/koha/patroncards/home.pl">Patron Card Creator</a> &rsaquo;
-        <a href="/cgi-bin/koha/patroncards/manage.pl?card_element=layout">Mange Patron Card Layouts</a> &rsaquo;
+        <a href="/cgi-bin/koha/patroncards/manage.pl?card_element=layout">Manage Patron Card Layouts</a> &rsaquo;
         [% IF ( layout_id ) %]Edit[% ELSE %]Create[% END %] Patron Card Layout
     </div>
     <div id="doc3" class="yui-t2">
index 3836a02..caf27f1 100644 (file)
@@ -54,7 +54,7 @@ $(document).ready(function(){
   }).tablesorterPager({
     container:     $("#pagertable_reports"),
     positionFixed: false,
-    size:          50
+    size:          20
   });
 });
 //]]>
index 1719af4..fa45e26 100644 (file)
@@ -127,6 +127,8 @@ function checkMultiHold() {
                        $("#requestany").attr("checked","checked");
                }
        });
+
+    $('#hold-request-form').preventDoubleFormSubmit();
  });
 
 // ]]>
@@ -238,7 +240,7 @@ function checkMultiHold() {
   <fieldset class="rows left">
     <legend>Hold details</legend>
         [% UNLESS ( multi_hold ) %]
-            <form action="placerequest.pl" method="post" onsubmit="return check();" name="form">
+            <form action="placerequest.pl" method="post" onsubmit="return check();" name="form" id="hold-request-form">
         [% ELSE %]
             <form action="placerequest.pl" method="post" onsubmit="return checkMultiHold();" name="form">
         [% END %]
index 7a50b4f..6c63cfb 100644 (file)
@@ -56,8 +56,8 @@
                 <td>[% collectionsLoo.colTitle %]</td>
                 <td>[% collectionsLoo.colDesc %]</td>
                 <td>[% collectionsLoo.colBranchcode %]</td>
-                <td><a href="editCollections.pl?action=edit&colId=[% collectionsLoo.colId %]">Edit</a></td>
-                <td><a href="editCollections.pl?action=delete&colId=[% collectionsLoo.colId %]">Delete</a></td>
+                <td><a href="editCollections.pl?action=edit&amp;colId=[% collectionsLoo.colId %]">Edit</a></td>
+                <td><a href="editCollections.pl?action=delete&amp;colId=[% collectionsLoo.colId %]">Delete</a></td>
               </tr>
             [% END %]
           </table>
index 30ec303..54b4497 100644 (file)
@@ -27,6 +27,7 @@ function GetIt(bibno,title)
        <th>Author</th>
        <th>Publisher</th>
        <th>Publication year</th>
+       <th>ISSN</th>
           <th>&nbsp;</th>
     </tr>
     [% FOREACH resultsloo IN resultsloop %]
@@ -42,6 +43,10 @@ function GetIt(bibno,title)
             <td>
                 [% resultsloo.publicationyear |html %]
             </td>
+            <td>
+                [% resultsloo.issn |html %]
+            </td>
+
                        <td><a href="#" onclick="GetIt('[% resultsloo.biblionumber %]',$(this));" title="Choose this record">Choose</a></td>
         </tr>
     [% END %]
index 3777f47..7b8efef 100644 (file)
@@ -201,8 +201,8 @@ $(document).ready(function() {
                 </th>
                <th>Routing
                </th>
-                <th>Edit
-                </th>
+
+                [% IF ( CAN_user_serials_receive_serials ) %]<th>Edit</th>[% END %]
             </tr>
       [% FOREACH serial IN year.serials %]
     [% UNLESS ( loop.odd ) %]<tr class="highlight">[% ELSE %]<tr>[% END %]
@@ -230,6 +230,7 @@ $(document).ready(function() {
                <td>
                   <a href="" onclick="print_slip([% serial.subscriptionid |html %], '[% serial.serialseq |html %]'); return false" >Print list</a>
                </td>
+            [% IF ( CAN_user_serials_receive_serials ) %]
                 <td>
                   [% IF ( serial.cannotedit ) %]
                     disabled
@@ -245,10 +246,16 @@ $(document).ready(function() {
                     [% END %]
                   [% END %]
                 </td>
+            [% END %]
             </tr>
       [% END %]
         </table>
-      <p><input type="submit" value="Edit serials" />&nbsp;<input type="button" value="Generate Next" onclick="javascript:generateNext([% subscriptionidlist %])" /></p>
+    [% IF ( CAN_user_serials_receive_serials ) %]
+        <p>
+            <input type="submit" value="Edit serials" />&nbsp;
+            <input type="button" value="Generate Next" onclick="javascript:generateNext([% subscriptionidlist %])" />
+        </p>
+    [% END %]
     </div>
     [% END %]
   <input type="hidden" name="subscriptionid" value="[% subscriptionidlist %]" />
index fb310d5..ec1faf3 100644 (file)
@@ -1,18 +1,22 @@
 [% INCLUDE 'doc-head-open.inc' %]
 <title>Koha &rsaquo; Serials [% biblionumber %]</title>
+<link rel="stylesheet" type="text/css" href="[% themelang %]/css/datatables.css" />
 [% INCLUDE 'doc-head-close.inc' %]
-<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
+<script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.dataTables.min.js"></script>
+[% INCLUDE 'datatables-strings.inc' %]
+<script type="text/javascript" src="[% themelang %]/js/datatables.js"></script>
 <script type="text/javascript">
 //<![CDATA[
  $(document).ready(function() {
-        $("#srlt").tablesorter({
-            headers: {
-                2: { sorter: false },
-                4: { sorter: false },
-                               5: { sorter: false }
-            }
-        }); 
- }); 
+    var srlt = $("#srlt").dataTable($.extend(true, {}, dataTablesDefaults, {
+        "aoColumnDefs": [
+            { "aTargets": [ -1, -2, -3 ], "bSortable": false, "bSearchable": false },
+        ],
+        "sPaginationType": "four_button"
+    } ) );
+
+    srlt.fnAddFilters("filter", 750);
+ });
  //]]>
 </script>
 </head>
@@ -85,16 +89,24 @@ Serials updated :
             [% IF ( routing ) %]
               <th>Routing list</th>
             [% END %]        
-            <th colspan="2">&nbsp;</th>
+            <th>&nbsp;</th>
+            <th>&nbsp;</th>
         </tr>
        </thead>
+    <tfoot>
+        <tr>
+            <td><input type="text" class="filter" data-column_num="0" placeholder="Search ISSN" /></td>
+            <td><input type="text" class="filter" data-column_num="1" placeholder="Search title" /></td>
+            <td><input type="text" class="filter" data-column_num="2" placeholder="Search notes" /></td>
+            <td><input type="text" class="filter" data-column_num="3" placeholder="Search library" /></td>
+            <td></td>
+            <td></td>
+            <td></td>
+        </tr>
+    </tfoot>
        <tbody> 
         [% FOREACH subscription IN subscriptions %]
-        [% UNLESS ( loop.odd ) %]
-            <tr class="highlight">
-        [% ELSE %]
             <tr>
-        [% END %]
                 <td>
                 [% IF ( subscription.issn ) %][% subscription.issn %]
                 [% END %]
index 426fa11..a00e3c2 100644 (file)
                 </xsl:call-template>
         </xsl:for-each>
         <xsl:for-each select="marc:subfield[@code='b']">
-                <xsl:value-of select="."/>
+            <xsl:value-of select="."/>
+            <xsl:choose>
+                <xsl:when test="position() != last()">
+                    <xsl:text> -- </xsl:text>
+                </xsl:when>
+            </xsl:choose>
         </xsl:for-each>
         <xsl:if test="marc:subfield[@code='c'] or marc:subfield[@code='d'] or marc:subfield[@code='n']">
                 <xsl:call-template name="subfieldSelect">
index 0ffb881..eb36f6f 100644 (file)
 </div>
 </div>
 <div id="breadcrumbs" class="yui-g">
-[% IF ( searchdesc ) %]<p>[% IF ( total ) %]<strong>&ldquo;[% query_desc |html %] [% limit_desc |html %]&rdquo; </strong>returned [% total |html %] results. [% IF ( related ) %] (related searches: [% FOREACH relate IN related %][% relate.related_search %][% END %]). [% END %]
+[% IF ( searchdesc ) %]<p>[% IF ( total ) %]<strong>Your search returned [% total |html %] results.</strong> [% IF ( related ) %] (related searches: [% FOREACH relate IN related %][% relate.related_search %][% END %]). [% END %]
 <a href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;count=[% countrss |html %]&amp;sort_by=acqdate_dsc&amp;format=rss2"><img src="/opac-tmpl/prog/images/feed-icon-16x16.png" alt="Subscribe to this search" title="Subscribe to this search" border="0" /></a>
 [% ELSE %]
 <strong>No Results Found!</strong>
 <p>
     [% IF ( searchdesc ) %]
-    No results match your search for <span style="font-weight: bold;">&ldquo;[% query_desc |html %] [% limit_desc |html %]&rdquo;</span> in [% LibraryName %] Catalog. <a href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;format=rss2"><img src="/opac-tmpl/prog/images/feed-icon-16x16.png" alt="Subscribe to this search" title="Subscribe to this search" border="0" /></a>
+    No results found for that in [% LibraryName %] Catalog. <a href="[% OPACBaseURL %]/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;format=rss2"><img src="/opac-tmpl/prog/images/feed-icon-16x16.png" alt="Subscribe to this search" title="Subscribe to this search" border="0" /></a>
     [% ELSE %]
     You did not specify any search criteria.
     [% END %]
diff --git a/koha-tmpl/opac-tmpl/prog/en/includes/opac-detail-sidebar.inc b/koha-tmpl/opac-tmpl/prog/en/includes/opac-detail-sidebar.inc
new file mode 100644 (file)
index 0000000..71cb1a0
--- /dev/null
@@ -0,0 +1,62 @@
+<ul id="action">
+    [% UNLESS ( norequests ) %]
+        [% IF ( opacuserlogin ) %]
+            [% IF ( RequestOnOpac ) %]
+                [% IF ( AllowOnShelfHolds ) %]
+                    <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% biblionumber %]">Place Hold</a></li>
+                [% ELSE %]
+                    [% IF ( ItemsIssued ) %]
+                        <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% biblionumber %]">Place Hold</a></li>
+                    [% END %]
+                [% END %]
+            [% END %]
+        [% END %]
+    [% END %]
+    <li><a class="print" href="#" onclick="window.print();">Print</a></li>
+    [% IF ( virtualshelves ) %]
+        [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %]
+            <li><a class="addtoshelf" href="/cgi-bin/koha/opac-addbybiblionumber.pl?biblionumber=[% biblionumber %]" onclick="Dopop('opac-addbybiblionumber.pl?biblionumber=[% biblionumber %]'); return false;">
+                Save to Your Lists
+            </a></li>
+        [% END %][% END %]
+    [% END %]
+    [% IF ( opacbookbag ) %]
+        <li><a class="addtocart" href="#" onclick="addRecord('[% biblionumber %]'); return false;">Add to Your Cart</a></li>
+    [% END %]
+    <li style="display:none;"><a href="#" id="furthersearches">More searches</a></li>
+</ul>
+
+[% IF ( OPACSearchForTitleIn ) %]
+    <div id="furtherm" class="yuimenu">
+    <div class="bd">
+    <h4>Search for this title in:</h4>
+    <ul class="first-of-type">
+        [% OPACSearchForTitleIn %]
+    </ul>
+    </div>
+    </div>
+[% END %]
+
+[% IF ( export_options.size ) %]
+    <div id="export" class="detailtagcell">
+        <form method="get" action="/cgi-bin/koha/opac-export.pl">
+        <label for="format">Save Record:</label>
+        <select name="format" id="format">
+        [% FOREACH option IN export_options %]
+            [% SWITCH option %]
+                [% CASE 'bibtex' %]<option value="bibtex">BIBTEX</option>
+                [% CASE 'dc' %]<option value="dc">Dublin Core (XML)</option>
+                [% CASE 'marcxml' %]<option value="marcxml">MARCXML</option>
+                [% CASE 'marc8' %]<option value="marc8">MARC (non-Unicode/MARC-8)</option>
+                [% CASE 'utf8' %]<option value="utf8">MARC (Unicode/UTF-8)</option>
+                [% CASE 'marcstd' %]<option value="marcstd">MARC (Unicode/UTF-8, Standard)</option>
+                [% CASE 'mods' %]<option value="mods">MODS (XML)</option>
+                [% CASE 'ris' %]<option value="ris">RIS</option>
+            [% END %]
+        [% END %]
+        </select>
+        <input type="hidden" name="op" value="export" />
+        <input type="hidden" name="bib" value="[% biblionumber %]" />
+        <input type="submit" name="save" value="Go" /></form>
+    </div>
+[% END %]
index 1bf9143..738c0c9 100644 (file)
@@ -1,7 +1,7 @@
 [% IF ( PAGE_NUMBERS ) %]<div class="pages">
     <!-- Row of numbers corresponding to search result pages -->
-        [% IF ( previous_page_offset ) %]<a class="nav" href="/cgi-bin/koha/opac-search.pl?[% query_cgi %][% limit_cgi |html %]&amp;offset=[% previous_page_offset %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by %][% END %]">&lt;&lt; Previous</a>[% END %]
-    [% FOREACH PAGE_NUMBER IN PAGE_NUMBERS %][% IF ( PAGE_NUMBER.highlight ) %]<span class="current">[% PAGE_NUMBER.pg %]</span>[% ELSE %]        <a class="nav" href="/cgi-bin/koha/opac-search.pl?[% query_cgi %][% limit_cgi |html %]&amp;offset=[% PAGE_NUMBER.offset %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by %][% END %]">[% PAGE_NUMBER.pg %]</a>[% END %]
+        [% IF ( previous_page_offset ) %]<a class="nav" href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;offset=[% previous_page_offset %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by %][% END %]">&lt;&lt; Previous</a>[% END %]
+    [% FOREACH PAGE_NUMBER IN PAGE_NUMBERS %][% IF ( PAGE_NUMBER.highlight ) %]<span class="current">[% PAGE_NUMBER.pg %]</span>[% ELSE %]        <a class="nav" href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;offset=[% PAGE_NUMBER.offset %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by %][% END %]">[% PAGE_NUMBER.pg %]</a>[% END %]
     [% END %]
-        [% IF ( next_page_offset ) %]<a class="nav" href="/cgi-bin/koha/opac-search.pl?[% query_cgi %][% limit_cgi |html %]&amp;offset=[% next_page_offset %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by %][% END %]">Next &gt;&gt;</a>[% END %]
+        [% IF ( next_page_offset ) %]<a class="nav" href="/cgi-bin/koha/opac-search.pl?[% query_cgi |html %][% limit_cgi |html %]&amp;offset=[% next_page_offset %][% IF ( sort_by ) %]&amp;sort_by=[% sort_by %][% END %]">Next &gt;&gt;</a>[% END %]
 </div>[% END %]
index c83e001..76d668b 100644 (file)
@@ -428,7 +428,11 @@ function vShelfAdd() {
 
 function showCart(){
                var position = $("#cartmenulink").offset();
+        var scrolld = $(window).scrollTop();
                var top = position.top + $("#cartmenulink").outerHeight();
+        if( scrolld > top ){
+            top = scrolld + 15;
+        }
                var menuWidth = 200;
                var buttonWidth = $("#cartmenulink").innerWidth();
                var buttonOffset = menuWidth - buttonWidth;
index 298a20e..f2808ef 100644 (file)
@@ -18,7 +18,7 @@ KOHA.LocalCover = {
      * olCallBack().
      */
     GetCoverFromBibnumber: function(uselink) {
-        $("div [id^=local-thumbnail]").each(function(i) {
+        $("div[id^=local-thumbnail],span[id^=local-thumbnail]").each(function(i) {
             var mydiv = this;
             var message = document.createElement("span");
             $(message).attr("class","no-image");
index 76a6c91..6859a74 100644 (file)
@@ -72,3 +72,12 @@ YAHOO.util.Event.onContentReady("listsmenu", function () {
                YAHOO.util.Event.addListener("listsmenulink", "click", listMenu.show, null, listMenu);
                YAHOO.widget.Overlay.windowResizeEvent.subscribe(positionlistMenu);
  });
+
+jQuery.fn.preventDoubleFormSubmit = function() {
+    jQuery(this).submit(function() {
+        if (this.beenSubmitted)
+            return false;
+        else
+            this.beenSubmitted = true;
+    });
+};
index 8ee8b7b..219dc41 100644 (file)
@@ -37,8 +37,8 @@
                     <dd>requests a particular format or set of formats in reporting availability</dd>
                 </dl>
                 <h4>Example Call</h4>
-                <a href="ilsdi.pl?service=GetAvailability&id=1+2+99999&id_type=item">
-                    ilsdi.pl?service=GetAvailability&id=1+2+99999&id_type=item
+                <a href="ilsdi.pl?service=GetAvailability&amp;id=1+2+99999&amp;id_type=item">
+                    ilsdi.pl?service=GetAvailability&amp;id=1+2+99999&amp;id_type=item
                 </a>
                 <h4>Example Response</h4>
 <pre>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;
                     </dd>
                 </dl>
                 <h4>Example Call</h4>
-                <a href="ilsdi.pl?service=GetRecords&id=1+2+99999">
-                    ilsdi.pl?service=GetRecords&id=1+2+99999
+                <a href="ilsdi.pl?service=GetRecords&amp;id=1+2+99999">
+                    ilsdi.pl?service=GetRecords&amp;id=1+2+99999
                 </a>
                 <h4>Example Response</h4>
 <pre>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;
                     </dd>
                 </dl>
                 <h4>Example Call</h4>
-                <a href="ilsdi.pl?service=GetAuthorityRecords&id=1+2+99999">
-                    ilsdi.pl?service=GetAuthorityRecords&id=1+2+99999
+                <a href="ilsdi.pl?service=GetAuthorityRecords&amp;id=1+2+99999">
+                    ilsdi.pl?service=GetAuthorityRecords&amp;id=1+2+99999
                 </a>
                 <h4>Example Response</h4>
 <pre>&lt;xml version="1.0" encoding="UTF-8"&gt;;
                     </dd>
                 </dl>
                 <h4>Example Call</h4>
-                <a href="ilsdi.pl?service=LookupPatron&id=815&id_type=cardnumber">
-                    ilsdi.pl?service=LookupPatron&id=815&id_type=cardnumber
+                <a href="ilsdi.pl?service=LookupPatron&amp;id=815&amp;id_type=cardnumber">
+                    ilsdi.pl?service=LookupPatron&amp;id=815&amp;id_type=cardnumber
                 </a>
                 <h4>Example Response</h4>
 <pre>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;
                     <dd>user's password</dd>
                 </dl>
                 <h4>Example Call</h4>
-                <a href="ilsdi.pl?service=AuthenticatePatron&username=john9&password=soul">
-                    ilsdi.pl?service=AuthenticatePatron&username=john9&password=soul
+                <a href="ilsdi.pl?service=AuthenticatePatron&amp;username=john9&amp;password=soul">
+                    ilsdi.pl?service=AuthenticatePatron&amp;username=john9&amp;password=soul
                 </a>
                 <h4>Example Response</h4>
 <pre>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;
                     <dd>whether or not to return loan information in the response</dd>
                 </dl>
                 <h4>Example Call</h4>
-                <a href="ilsdi.pl?service=GetPatronInfo&patron_id=1&show_contact=0&show_loans=1">
-                    ilsdi.pl?service=GetPatronInfo&patron_id=1&show_contact=0&show_loans=1
+                <a href="ilsdi.pl?service=GetPatronInfo&amp;patron_id=1&amp;show_contact=0&amp;show_loans=1">
+                    ilsdi.pl?service=GetPatronInfo&amp;patron_id=1&amp;show_contact=0&amp;show_loans=1
                 </a>
                 <h4>Example Response</h4>
 <pre>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;
                     <dd>the unique patron identifier in the ILS; the same identifier returned by LookupPatron or AuthenticatePatron</dd>
                 </dl>
                 <h4>Example Call</h4>
-                <a href="ilsdi.pl?service=GetPatronStatus&patron_id=1">
-                    ilsdi.pl?service=GetPatronStatus&patron_id=1
+                <a href="ilsdi.pl?service=GetPatronStatus&amp;patron_id=1">
+                    ilsdi.pl?service=GetPatronStatus&amp;patron_id=1
                 </a>
                 <h4>Example Response</h4>
 <pre>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;
                     <dd>system item identifier</dd>
                 </dl>
                 <h4>Example Call</h4>
-                <a href="ilsdi.pl?service=GetServices&patron_id=1&item_id=1">
-                    ilsdi.pl?service=GetServices&patron_id=1&item_id=1
+                <a href="ilsdi.pl?service=GetServices&amp;patron_id=1&amp;item_id=1">
+                    ilsdi.pl?service=GetServices&amp;patron_id=1&amp;item_id=1
                 </a>
                 <h4>Example Response</h4>
 <pre>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;
                     <dd>the date the patron would like the item returned by</dd>
                 </dl>
                 <h4>Example Call</h4>
-                <a href="ilsdi.pl?service=RenewLoan&patron_id=1&item_id=1">
-                    ilsdi.pl?service=RenewLoan&patron_id=1&item_id=1
+                <a href="ilsdi.pl?service=RenewLoan&amp;patron_id=1&amp;item_id=1">
+                    ilsdi.pl?service=RenewLoan&amp;patron_id=1&amp;item_id=1
                 </a>
                 <h4>Example Response</h4>
 <pre>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;
                     <dd>date after which item returned to shelf if item is not picked up</dd>
                 </dl>
                 <h4>Example Call</h4>
-                <a href="ilsdi.pl?service=HoldTitle&patron_id=1&bib_id=1&request_location=127.0.0.1">
-                    ilsdi.pl?service=HoldTitle&patron_id=1&bib_id=1&request_location=127.0.0.1
+                <a href="ilsdi.pl?service=HoldTitle&amp;patron_id=1&amp;bib_id=1&amp;request_location=127.0.0.1">
+                    ilsdi.pl?service=HoldTitle&amp;patron_id=1&amp;bib_id=1&amp;request_location=127.0.0.1
                 </a>
                 <h4>Example Response</h4>
 <pre>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;
                     <dd>date after which item returned to shelf if item is not picked up</dd>
                 </dl>
                 <h4>Example Call</h4>
-                <a href="ilsdi.pl?service=HoldItem&patron_id=1&bib_id=1&item_id=1">
-                    ilsdi.pl?service=HoldItem&patron_id=1&bib_id=1&item_id=1
+                <a href="ilsdi.pl?service=HoldItem&amp;patron_id=1&amp;bib_id=1&amp;item_id=1">
+                    ilsdi.pl?service=HoldItem&amp;patron_id=1&amp;bib_id=1&amp;item_id=1
                 </a>
                 <h4>Example Response</h4>
 <pre>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;
                     <dd>system item identifier</dd>
                 </dl>
                 <h4>Example Call</h4>
-                <a href="ilsdi.pl?service=CancelHold&patron_id=1&item_id=1">
-                    ilsdi.pl?service=CancelHold&patron_id=1&item_id=1
+                <a href="ilsdi.pl?service=CancelHold&amp;patron_id=1&amp;item_id=1">
+                    ilsdi.pl?service=CancelHold&amp;patron_id=1&amp;item_id=1
                 </a>
                 <h4>Example Response</h4>
 <pre>&lt;?xml version="1.0" encoding="ISO-8859-1" ?&gt;
                 <ul>
                     <li>HarvestBibliographicRecords <em>(Use OAI-PMH instead)</em></li>
                     <li>HarvestExpandedRecords <em>(Use OAI-PMH instead)</em></li>
-                    <li><a href="ilsdi.pl?service=Describe&verb=GetAvailability">GetAvailability</a></li>
+                    <li><a href="ilsdi.pl?service=Describe&amp;verb=GetAvailability">GetAvailability</a></li>
                     <li>GoToBibliographicRequestPage <em>(Use OPAC instead)</em></li>
                 </ul>
                 <h2>Level 2: Elementary OPAC supplement</h2>
                 <ul>
                     <li>HarvestAuthorityRecords <em>(Use OAI-PMH instead)</em></li>
                     <li>HarvestHoldingsRecords <em>(Use OAI-PMH instead)</em></li>
-                    <li><a href="ilsdi.pl?service=Describe&verb=GetRecords">GetRecords</a></li>
+                    <li><a href="ilsdi.pl?service=Describe&amp;verb=GetRecords">GetRecords</a></li>
                     <li>Search <em>(Use SRU instead)</em></li>
                     <li>Scan <em>(Use SRU instead)</em></li>
-                    <li><a href="ilsdi.pl?service=Describe&verb=GetAuthorityRecords">GetAuthorityRecords</a></li>
+                    <li><a href="ilsdi.pl?service=Describe&amp;verb=GetAuthorityRecords">GetAuthorityRecords</a></li>
                     <li>OutputRewritablePage <em>(Not supported yet)</em></li>
                     <li>OutputIntermediateFormat <em>(Not supported yet)</em></li>
                 </ul>
                 <h2>Level 3: Elementary OPAC alternative</h2>
                 <ul>
-                    <li><a href="ilsdi.pl?service=Describe&verb=LookupPatron">LookupPatron</a></li>
-                    <li><a href="ilsdi.pl?service=Describe&verb=AuthenticatePatron">AuthenticatePatron</a></li>
-                    <li><a href="ilsdi.pl?service=Describe&verb=GetPatronInfo">GetPatronInfo</a></li>
-                    <li><a href="ilsdi.pl?service=Describe&verb=GetPatronStatus">GetPatronStatus</a></li>
-                    <li><a href="ilsdi.pl?service=Describe&verb=GetServices">GetServices</a></li>
-                    <li><a href="ilsdi.pl?service=Describe&verb=RenewLoan">RenewLoan</a></li>
-                    <li><a href="ilsdi.pl?service=Describe&verb=HoldTitle">HoldTitle</a></li>
-                    <li><a href="ilsdi.pl?service=Describe&verb=HoldItem">HoldItem</a></li>
-                    <li><a href="ilsdi.pl?service=Describe&verb=CancelHold">CancelHold</a></li>
+                    <li><a href="ilsdi.pl?service=Describe&amp;verb=LookupPatron">LookupPatron</a></li>
+                    <li><a href="ilsdi.pl?service=Describe&amp;verb=AuthenticatePatron">AuthenticatePatron</a></li>
+                    <li><a href="ilsdi.pl?service=Describe&amp;verb=GetPatronInfo">GetPatronInfo</a></li>
+                    <li><a href="ilsdi.pl?service=Describe&amp;verb=GetPatronStatus">GetPatronStatus</a></li>
+                    <li><a href="ilsdi.pl?service=Describe&amp;verb=GetServices">GetServices</a></li>
+                    <li><a href="ilsdi.pl?service=Describe&amp;verb=RenewLoan">RenewLoan</a></li>
+                    <li><a href="ilsdi.pl?service=Describe&amp;verb=HoldTitle">HoldTitle</a></li>
+                    <li><a href="ilsdi.pl?service=Describe&amp;verb=HoldItem">HoldItem</a></li>
+                    <li><a href="ilsdi.pl?service=Describe&amp;verb=CancelHold">CancelHold</a></li>
                     <li>RecallItem <em>(Not supported by Koha)</em></li>
                     <li>CancelRecall <em>(Not supported by Koha)</em></li>
                 </ul>
index f9984a7..97b64ad 100644 (file)
        </div>
        <div class="yui-u">
        <div id="ulactioncontainer" class="container">
-<ul id="action">
 
-[% UNLESS ( norequests ) %]
-        [% IF ( opacuserlogin ) %]
-               [% IF ( RequestOnOpac ) %]
-                       [% IF ( AllowOnShelfHolds ) %]
-                               <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% biblionumber %]">Place Hold</a></li>
-                       [% ELSE %]
-                               [% IF ( ItemsIssued ) %]
-                                       <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% biblionumber %]">Place Hold</a></li>
-                               [% END %]
-                       [% END %]
+[% INCLUDE 'opac-detail-sidebar.inc' %]
 
-               [% END %]
-       [% END %]
-[% END %]
-        <li><a class="print" href="#" onclick="window.print();">Print</a></li>
-[% IF ( virtualshelves ) %]
-   [% IF ( opacuserlogin ) %] [% IF ( loggedinusername ) %]
-        <li><a class="addtoshelf" href="/cgi-bin/koha/opac-addbybiblionumber.pl?biblionumber=[% biblionumber %]" onclick="Dopop('opac-addbybiblionumber.pl?biblionumber=[% biblionumber %]'); return false;">
-            Save to Your Lists
-        </a></li>
-    [% END %][% END %]
-[% END %]
-        [% IF ( opacbookbag ) %]<li><a class="addtocart" href="#" onclick="addRecord('[% biblionumber %]'); return false;">
-            Add to Your Cart
-        </a></li>[% END %]
-               <li style="display:none;"><a href="#" id="furthersearches">More searches</a></li>
-</ul>
-
-[% IF ( OPACSearchForTitleIn ) %]
-<div id="furtherm" class="yuimenu">
-<div class="bd">
-<h4>Search for this title in:</h4>
-<ul class="first-of-type">
-
-[% OPACSearchForTitleIn %]
-
-</ul>
-</div>
-</div>
-[% END %]
-
-               <div id="export">
-               <form method="get" action="/cgi-bin/koha/opac-export.pl">
-               <label for="format">Save Record:</label>
-           <select name="format" id="format">
-               <option value="">-- Choose Format --</option>
-           <option value="bibtex">BibTex</option>
-        <option value="dc">Dublin Core (XML)</option>
-        <option value="marcxml">MARCXML</option>
-        <option value="marc8">MARC (non-Unicode/MARC-8)</option>
-        <option value="utf8">MARC (Unicode/UTF-8)</option>
-        <option value="mods">MODS (XML)</option>
-           <option value="ris">RIS</option>    
-               </select><input type="hidden" name="op" value="export" /><input type="hidden" name="bib" value="[% biblionumber %]" />
-<input type="submit" name="save" value="Go" /></form></div>
 </div>
 </div>
 </div>
index 284154e..f3d2c91 100644 (file)
@@ -201,62 +201,9 @@ $(document).ready(function(){
     </div>
     <div class="yui-u">
     <div id="ulactioncontainer" class="container">
-<ul id="action">
 
-[% UNLESS ( norequests ) %]
-        [% IF ( opacuserlogin ) %]
-        [% IF ( RequestOnOpac ) %]
-            [% IF ( AllowOnShelfHolds ) %]
-                <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% biblionumber %]">Place Hold</a></li>
-            [% ELSE %]
-                [% IF ( ItemsIssued ) %]
-                    <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% biblionumber %]">Place Hold</a></li>
-                [% END %]
-            [% END %]
-
-            [% END %]
-    [% END %]
-[% END %]
-        <li><a class="print" href="#" onclick="window.print();">
-            Print
-        </a></li>
-[% IF ( virtualshelves ) %]
-   [% IF ( opacuserlogin ) %] [% IF ( loggedinusername ) %]
-        <li><a class="addtoshelf" href="/cgi-bin/koha/opac-addbybiblionumber.pl?biblionumber=[% biblionumber %]" onclick="Dopop('opac-addbybiblionumber.pl?biblionumber=[% biblionumber %]'); return false;">
-            Save to Your Lists
-        </a></li>
-    [% END %][% END %]
-[% END %]
-        [% IF ( opacbookbag ) %]<li><a class="addtocart" href="#" onclick="addRecord('[% biblionumber %]'); return false;">
-            Add to Your Cart
-        </a></li>[% END %]
-        <li style="display:none;"><a href="#" id="furthersearches">More searches</a></li>
-</ul>
-
-[% IF ( OPACSearchForTitleIn ) %]
-<div id="furtherm" class="yuimenu">
-<div class="bd">
-<h4>Search for this title in:</h4>
-<ul class="first-of-type">
-
-[% OPACSearchForTitleIn %]
-
-</ul>
-</div>
-</div>
-[% END %]
+[% INCLUDE 'opac-detail-sidebar.inc' %]
 
-        <div id="export">
-        <form method="get" action="/cgi-bin/koha/opac-export.pl">
-        <label for="format">Save Record:</label>
-        <select name="format" id="format">
-        <option value="">-- Choose Format --</option>
-        <option value="mods">MODS (XML)</option>
-        <option value="dc">Dublin Core (XML)</option>
-        <option value="marcxml">MARCXML</option>
-        <option value="marc8">MARC (non-Unicode/MARC-8)</option>
-        <option value="utf8">MARC (Unicode/UTF-8)</option>    </select><input type="hidden" name="op" value="export" /><input type="hidden" name="bib" value="[% biblionumber %]" />
-<input type="submit" name="save" value="Go" /></form></div>
 </div>
 </div>
 </div>
index b28fd08..8b9d84b 100644 (file)
@@ -1,4 +1,4 @@
-[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo;  Account for [% FOREACH BORROWER_INF IN BORROWER_INFO %][% BORROWER_INF.firstname %] [% BORROWER_INF.surname %][% END %]
+[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo; Your fines and charges
 [% INCLUDE 'doc-head-close.inc' %]
 </head>
 <body id="opac-account">
index 1b57410..6638826 100644 (file)
                                <th>Full Heading</th>                           
                        </tr>
                        [% FOREACH resul IN result %]
-                               <tr>
+            [% UNLESS ( loop.odd ) %]
+                <tr class="highlight">
+            [% ELSE %]
+                <tr>
+            [% END %]
                                        <td>[% resul.summary %]</td>
 
                                                <td>
index dd1c33f..25480c8 100644 (file)
@@ -8,7 +8,7 @@
         var pag_index_ini = [% indexPag %];
         [% IF ( listResults ) %]
             [% FOREACH listResult IN listResults %]
-                arrPagination[[% listResult.index %]] = {url:"[% listResult.url %]", title:"[% listResult.title|html %]", author:"[% listResult.author|html %]", biblionumber:[% listResult.biblionumber %]};
+                arrPagination[[% listResult.index %]] = {url:"[% listResult.url %]", title:"[% listResult.title|remove('\n')|html %]", author:"[% listResult.author|html %]", biblionumber:[% listResult.biblionumber %]};
            [% END %]
         [% END %]
     [% END %]
@@ -1035,61 +1035,8 @@ YAHOO.util.Event.onContentReady("furtherm", function () {
         [% END %]
     </div>
 [% END %]
-<ul id="action">
-
-[% UNLESS ( norequests ) %]
-        [% IF ( opacuserlogin ) %]
-               [% IF ( RequestOnOpac ) %]
-                       [% IF ( AllowOnShelfHolds ) %]
-                               <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% biblionumber %]">Place Hold</a></li>
-                       [% ELSE %]
-                               [% IF ( ItemsIssued ) %]
-                                       <li><a class="reserve" href="/cgi-bin/koha/opac-reserve.pl?biblionumber=[% biblionumber %]">Place Hold</a></li>
-                               [% END %]
-                       [% END %]
-               [% END %]
-       [% END %]
-[% END %]
-        <li><a class="print" href="#" onclick="window.print();">Print</a></li>
-[% IF ( virtualshelves ) %]
-    [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %]
-        <li><a class="addtoshelf" href="/cgi-bin/koha/opac-addbybiblionumber.pl?biblionumber=[% biblionumber %]" onclick="Dopop('opac-addbybiblionumber.pl?biblionumber=[% biblionumber %]'); return false;">
-            Save to Your Lists
-        </a></li>
-    [% END %][% END %]
-[% END %]
-        [% IF ( opacbookbag ) %]<li><a class="addtocart" href="#" onclick="addRecord('[% biblionumber %]'); return false;">Add to Your Cart</a></li>[% END %]
-               <li style="display:none;"><a href="#" id="furthersearches">More searches</a></li>
-</ul>
-
-[% IF ( OPACSearchForTitleIn ) %]
-<div id="furtherm" class="yuimenu">
-<div class="bd">
-<h4>Search for this title in:</h4>
-<ul class="first-of-type">
-
-[% OPACSearchForTitleIn %]
 
-</ul>
-</div>
-</div>
-[% END %]
-
-        <div id="export" class="detailtagcell">
-        <form method="get" action="/cgi-bin/koha/opac-export.pl">
-        <label for="format">Save Record:</label>
-        <select name="format" id="format">
-        <option value="">-- Choose Format --</option>
-        <option value="bibtex">BIBTEX</option>
-        <option value="dc">Dublin Core (XML)</option>
-        <option value="marcxml">MARCXML</option>
-        <option value="marc8">MARC (non-Unicode/MARC-8)</option>
-        <option value="utf8">MARC (Unicode/UTF-8)</option>    
-        <option value="mods">MODS (XML)</option>
-        <option value="ris">RIS</option>
-               </select><input type="hidden" name="op" value="export" /><input type="hidden" name="bib" value="[% biblionumber %]" />
-<input type="submit" name="save" value="Go" /></form>
-        </div>
+[% INCLUDE 'opac-detail-sidebar.inc' %]
 
         [% IF ( NovelistSelectProfile ) %] [% IF ( NovelistSelectView == 'right') %]
          <div id="NovelistSelect">
index b984f5d..fedcf5d 100644 (file)
@@ -1,7 +1,7 @@
 [% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo; Download list[% INCLUDE 'doc-head-close.inc' %]
 <script type="text/javascript">//<![CDATA[
        $(document).ready(function(){
-               $(".close").html("Close this window");
+               $(".close").html(_("Close this window"));
        });
 //]]>
 </script>
index 0729ea6..2f956e8 100644 (file)
@@ -206,7 +206,6 @@ function showlayer(numlayer){
                        [% IF ( serial.status4 ) %]Missing[% END %]
                        [% IF ( serial.status5 ) %]Not Available[% END %]
                        [% IF ( serial.status7 ) %]Claimed[% END %]
-                       [% IF ( serial.notes ) %]([% serial.notes %])[% END %]
                    </td>
                    <td class="subscriptionidfilterclass">    [% serial.subscriptionid %]
                    </td>
index a92d71d..6ecce38 100644 (file)
@@ -1,4 +1,4 @@
-[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %][% ELSE %]Koha Online[% END %] Catalog &rsaquo;  Updating Details for [% FOREACH BORROWER_INF IN BORROWER_INFO %][% BORROWER_INF.firstname %] [% BORROWER_INF.surname %][% END %]
+[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %][% ELSE %]Koha Online[% END %] Catalog &rsaquo; Your messaging settings
 [% INCLUDE 'doc-head-close.inc' %]
 <script type="text/javascript">//<![CDATA[
        $(document).ready(function(){
index 1f3025a..22ed097 100644 (file)
@@ -1,4 +1,4 @@
-[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo;  Account for [% firstname %] [% surname %]
+[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo; Change your password
 [% INCLUDE 'doc-head-close.inc' %]
 </head>
 <body id="opac-passwd">
index b1c4d1f..de3d9fd 100644 (file)
@@ -1,4 +1,4 @@
-[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo; Privacy management for [% firstname %] [% surname %]
+[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo; Your privacy management
 [% INCLUDE 'doc-head-close.inc' %]
 </head>
 <body id="opac-privacy">
index bedae0a..fc5be4c 100644 (file)
@@ -1,4 +1,4 @@
-[% INCLUDE 'doc-head-open.inc' %][% LibraryNameTitle or "Koha Online" %] Catalog &rsaquo;  Account for [% firstname %] [% surname %]
+[% INCLUDE 'doc-head-open.inc' %][% LibraryNameTitle or "Koha Online" %] Catalog &rsaquo; Your checkout history
 [% INCLUDE 'doc-head-close.inc' %]
 <style type="text/css">ul.ui-tabs-nav li a, ul.ui-tabs-nav li span.a  { padding:0.6em 1em; }</style>
 <script type="text/javascript">
index 7e2683a..64ed80c 100644 (file)
@@ -1,4 +1,4 @@
-[% INCLUDE 'doc-head-open.inc' %][% LibraryNameTitle or "Koha Online" %] Catalog &rsaquo;  Placing hold [% title |html %] for [% FOREACH USER_INF IN USER_INFO %][% USER_INF.firstname %] [% USER_INF.surname %][% END %]
+[% INCLUDE 'doc-head-open.inc' %][% LibraryNameTitle or "Koha Online" %] Catalog &rsaquo;  Placing a hold
 [% INCLUDE 'doc-head-close.inc' %]
 [% INCLUDE 'calendar.inc' %]
 <script type="text/javascript">
@@ -15,6 +15,8 @@
  }
 
  $(document).ready(function() {
+    $('#hold-request-form').preventDoubleFormSubmit();
+
     var copiesRowId = null;
     var wasSpecific = false;
     var lastCopiesRowId = null;
              </div>
              [% END %]
 
-            <form action="/cgi-bin/koha/opac-reserve.pl" method="post">
+            <form action="/cgi-bin/koha/opac-reserve.pl" method="post" id="hold-request-form">
             <input type="hidden" name="place_reserve" value="1"/>
 
             <!-- These values are set dynamically by js -->
index cd8915e..2f3c7d5 100644 (file)
@@ -417,15 +417,15 @@ $(document).ready(function(){
                                 [% ELSE %]<a class="title" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber |url %]" title="View details for this title">
                                 [% END %]
                                 [% END %]
-                                                               [% IF ( SEARCH_RESULT.title ) %][% SEARCH_RESULT.title |html %][% ELSE %]No title[% END %] [% FOREACH subtitl IN SEARCH_RESULT.subtitle %], [% subtitl.subfield %][% END %]</a>
+                                                               [% IF ( SEARCH_RESULT.title ) %][% SEARCH_RESULT.title |html %][% ELSE %]No title[% END %] [% FOREACH subtitl IN SEARCH_RESULT.subtitle %], [% subtitl.subfield|html %][% END %]</a>
                                 [% IF ( SEARCH_RESULT.author ) %]by <a href="/cgi-bin/koha/opac-search.pl?q=au:[% SEARCH_RESULT.author |url %]" title="Search for works by this author" class="author">[% SEARCH_RESULT.author %]</a>
                                 [% ELSE %]&nbsp;
                                 [% END %]
                                <span class="results_summary"><span class="label">Publication:</span>
-                        [% IF ( SEARCH_RESULT.place ) %][% SEARCH_RESULT.place %] [% END %][% IF ( SEARCH_RESULT.publishercode ) %][% SEARCH_RESULT.publishercode %][% END %][% IF ( SEARCH_RESULT.publicationyear ) %] [% SEARCH_RESULT.publicationyear %]
+                        [% IF ( SEARCH_RESULT.place ) %][% SEARCH_RESULT.place %] [% END %][% IF ( SEARCH_RESULT.publishercode ) %][% SEARCH_RESULT.publishercode|html %][% END %][% IF ( SEARCH_RESULT.publicationyear ) %] [% SEARCH_RESULT.publicationyear %]
                     [% ELSE %][% IF ( SEARCH_RESULT.copyrightdate ) %] [% SEARCH_RESULT.copyrightdate %][% END %][% END %]
                         [% IF ( SEARCH_RESULT.pages ) %]. [% SEARCH_RESULT.pages %][% END %]
-                        [% IF ( SEARCH_RESULT.notes ) %], [% SEARCH_RESULT.notes %][% END %]
+                        [% IF ( SEARCH_RESULT.notes ) %], [% SEARCH_RESULT.notes|html %][% END %]
                         [% IF ( SEARCH_RESULT.size ) %] [% SEARCH_RESULT.size %][% END %]
                         [% IF ( SEARCH_RESULT.timestamp ) %] <i>(modified on [% SEARCH_RESULT.timestamp %])</i>[% END %]
                 </span>
@@ -480,20 +480,17 @@ $(document).ready(function(){
                                [% IF ( LibraryThingForLibrariesID ) %]<div class="ltfl_reviews"></div>[% END %]
                                [% IF ( opacuserlogin ) %][% IF ( TagsEnabled ) %]
                                 [% IF ( TagsShowOnList ) %]
-                                   <div class="results_summary">       
                                 [% IF ( SEARCH_RESULT.TagLoop.size ) %]
-                                        <span class="label">Tags:</span>
+                                        <div class="results_summary"><span class="label">Tags:</span>
                                         <ul style="display: inline; list-style: none;">[% FOREACH TagLoo IN SEARCH_RESULT.TagLoop %]<li style="display: inline; list-style: none;"><a href="/cgi-bin/koha/opac-search.pl?tag=[% TagLoo.term |url %]&amp;q=[% TagLoo.term |url %]">[% TagLoo.term %]</a> <span class="weight">([% TagLoo.weight_total %])</span></li>
                                             [% END %]
                                         </ul>
                                    [% END %]
                                 [% IF ( TagsInputOnList ) %]
                                     [% IF ( loggedinusername ) %]
-                                    <form name="tagform[% SEARCH_RESULT.biblionumber %]" method="post" action="/cgi-bin/koha/opac-tags.pl">
                                        <span class="label">New tag:</span>
                                         <input name="newtag[% SEARCH_RESULT.biblionumber %]" id="newtag[% SEARCH_RESULT.biblionumber %]" maxlength="100" />
                                         <input name="tagbutton" class="tagbutton" title="[% SEARCH_RESULT.biblionumber %]" type="submit" value="Add" />
-                                    </form>
                                     <span id="newtag[% SEARCH_RESULT.biblionumber %]_status" class="tagstatus" style="display:none;">
                                         Tag status here.
                                     </span>
@@ -528,7 +525,7 @@ $(document).ready(function(){
                                </span>
                                </td><td>
                                        <a class="p1" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% SEARCH_RESULT.biblionumber %]">
-            [% IF ( OPACLocalCoverImages ) %]<div style="block" title="[% SEARCH_RESULT.biblionumber |url %]" class="[% SEARCH_RESULT.biblionumber %]" id="local-thumbnail[% loop.count %]"></div>[% END %]
+            [% IF ( OPACLocalCoverImages ) %]<span title="[% SEARCH_RESULT.biblionumber |url %]" class="[% SEARCH_RESULT.biblionumber %]" id="local-thumbnail[% loop.count %]"></span>[% END %]
                     [% IF ( OPACAmazonEnabled ) %][% IF ( OPACAmazonCoverImages ) %][% IF ( SEARCH_RESULT.normalized_isbn ) %]<img src="http://images.amazon.com/images/P/[% SEARCH_RESULT.normalized_isbn %].01.TZZZZZZZ.jpg" alt="" class="thumbnail" />[% ELSE %]<span class="no-image">No cover image available</span>[% END %][% END %][% END %]
 
                                        [% IF ( SyndeticsEnabled ) %][% IF ( SyndeticsCoverImages ) %][% IF ( using_https ) %]
index 6c2cd82..26b421a 100644 (file)
@@ -1,5 +1,5 @@
 [% INCLUDE 'doc-head-open.inc' %]
-[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog
+[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo; Your search history
 [% INCLUDE 'doc-head-close.inc' %]
 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
 <script type="text/JavaScript" language="JavaScript">
index 1085ae0..81ce32d 100644 (file)
@@ -2,7 +2,7 @@
 [% INCLUDE 'doc-head-close.inc' %]
 <script type="text/javascript">//<![CDATA[
        $(document).ready(function(){
-               $(".close").html("Close this window");
+               $(".close").html(_("Close this window"));
        });
 //]]>
 </script>
index 391037f..07216a7 100644 (file)
@@ -1,4 +1,4 @@
-[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo;   [% IF ( viewshelf ) %]Contents of [% shelfname |html %][% ELSE %]My Lists[% END %][% INCLUDE 'doc-head-close.inc' %]
+[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo;   [% IF ( viewshelf ) %]Contents of [% shelfname |html %][% ELSE %]Your lists[% END %][% INCLUDE 'doc-head-close.inc' %]
 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.checkboxes.min.js"></script>
 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
 <script type="text/javascript">
@@ -257,15 +257,15 @@ $(function() {
                                 [% ELSE %]<a class="title" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% itemsloo.biblionumber |url %]" title="View details for this title">
                                 [% END %]
                                 [% END %]
-                [% IF ( itemsloo.title ) %][% itemsloo.title |html %][% ELSE %]No title[% END %] [% FOREACH subtitl IN itemsloo.subtitle %][% subtitl.subfield %][% END %]</a>
+                [% IF ( itemsloo.title ) %][% itemsloo.title |html %][% ELSE %]No title[% END %] [% FOREACH subtitl IN itemsloo.subtitle %][% subtitl.subfield|html %][% END %]</a>
                                 [% IF ( itemsloo.author ) %]by <a href="/cgi-bin/koha/opac-search.pl?q=au:[% itemsloo.author |url %]" title="Search for works by this author" class="author">[% itemsloo.author %]</a>
                                 [% ELSE %]&nbsp;
                                 [% END %]
         <span class="results_summary"><span class="label">Publication:</span>
-                        [% IF ( itemsloo.place ) %][% itemsloo.place %] [% END %][% IF ( itemsloo.publishercode ) %][% itemsloo.publishercode %][% END %][% IF ( itemsloo.publicationyear ) %] [% itemsloo.publicationyear %]
+                        [% IF ( itemsloo.place ) %][% itemsloo.place %] [% END %][% IF ( itemsloo.publishercode ) %][% itemsloo.publishercode|html %][% END %][% IF ( itemsloo.publicationyear ) %] [% itemsloo.publicationyear %]
                     [% ELSE %][% IF ( itemsloo.copyrightdate ) %] [% itemsloo.copyrightdate %][% END %][% END %]
                         [% IF ( itemsloo.pages ) %]. [% itemsloo.pages %][% END %]
-                        [% IF ( itemsloo.notes ) %], [% itemsloo.notes %][% END %]
+                        [% IF ( itemsloo.notes ) %], [% itemsloo.notes|html %][% END %]
                         [% IF ( itemsloo.size ) %] [% itemsloo.size %][% END %]
                 </span>
                 <span class="results_summary"><span class="label">Holdings:</span>[% IF ( itemsloo.ITEM_RESULTS ) %][% FOREACH ITEM_RESULT IN itemsloo.ITEM_RESULTS %]
@@ -288,20 +288,19 @@ $(function() {
           [% END %]
                 [% IF ( TagsInputOnList ) %]
           [% IF ( loggedinusername ) %]
-                    <form name="tagform[% itemsloo.biblionumber %]" method="post" action="/cgi-bin/koha/opac-tags.pl">
                         <label for="newtag[% itemsloo.biblionumber %]">New tag:</label>
                         <input name="newtag[% itemsloo.biblionumber %]" id="newtag[% itemsloo.biblionumber %]" maxlength="100" />
                         <input name="tagbutton" class="tagbutton" title="[% itemsloo.biblionumber %]" type="submit" value="Add" />
-                    </form>
                     <span id="newtag[% itemsloo.biblionumber %]_status" class="tagstatus" style="display:none;">
                         Tag status here.
                     </span>
                     [% ELSIF ( loop.first ) %]<span class="tagstatus" id="login4tags">Log in to add tags.</span>
                   [% END %]
-                [% END %]
+                [% ELSE %]
             [% IF ( loggedinusername ) %]
-              <span id="newtag[% itemsloo.biblionumber %]_status" class="tagstatus" style="display:none;">Tag status here.</span>
+              <span id="newtag[% itemsloo.biblionumber %]_status" class="tagstatus results_summary" style="display:none;">Tag status here.</span>
             [% END %]
+                [% END %]
         [% END %]
 
 <span class="results_summary actions"><span class="label">Actions:</span>
@@ -325,12 +324,7 @@ $(function() {
             [% IF ( opacbookbag ) %]<a class="addtocart" href="#" onclick="addRecord('[% itemsloo.biblionumber %]'); return false;">Add to Cart</a>[% ELSE %]nocart[% END %]
         </span>
 
-
-
-                    <!-- COinS / Openurl -->
                           <!-- COinS / Openurl --><span class="Z3988" title="[% itemsloo.coins %]"></span>
-                          [% IF ( opacuserlogin ) %][% IF ( loggedinusername ) %][% IF ( TagsEnabled ) %]<br/>
-                          <div id="newtag[% itemsloo.biblionumber %]_status" class="tagstatus results_summary" style="display:none">Tag status here.</div>[% END %][% END %][% END %]
                         </td>
           <td>
           <a class="p1" href="/cgi-bin/koha/opac-detail.pl?biblionumber=[% itemsloo.biblionumber %]">
index b78fc03..8fc13d9 100644 (file)
@@ -1,8 +1,5 @@
 [% INCLUDE 'doc-head-open.inc' %]
-[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo; Library Home for
-[% FOREACH BORROWER_INF IN BORROWER_INFO %]
-    [% INCLUDE 'patron-title.inc' category_type = BORROWER_INF.category_type firstname = BORROWER_INF.firstname surname = BORROWER_INF.surname othernames = BORROWER_INF.othernames cardnumber = BORROWER_INF.cardnumber %]
-[% END %]
+[% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo; Your library home
 [% INCLUDE 'doc-head-close.inc' %]
 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.metadata.min.js"></script>
 <script type="text/javascript" src="[% themelang %]/lib/jquery/plugins/jquery.tablesorter.min.js"></script>
@@ -58,7 +55,6 @@ $.tablesorter.addParser({
     <div id="yui-main">
     <div class="yui-b"><div class="yui-g">
        <div id="userdetails" class="container">
-
        [% IF ( bor_messages ) %]
               <div class="dialog message">
                       <h3>Messages For You</h3>
@@ -89,7 +85,7 @@ $.tablesorter.addParser({
         </div>
         [% END %]
 
-        [% IF ( BORROWER_INF.flagged ) %]
+        [% IF ( patron_flagged ) %]
                <div class="dialog alert">
         <ul>
             [% IF ( userdebarred ) %]
@@ -101,8 +97,10 @@ $.tablesorter.addParser({
             [% IF ( BORROWER_INF.lost ) %]
                 <li><strong>Please note: </strong> Your library card has been marked as lost or stolen. If this is an error, please contact the library.</li>
             [% END %]
-            [% IF renewal_blocked_fines %]
+            [% IF ( renewal_blocked_fines ) && ( OpacRenewalAllowed ) %]
                 <li><strong>Please note: </strong> Since you have <a href="/cgi-bin/koha/opac-account.pl">more than [% renewal_blocked_fines %]</a> in fines, you cannot renew your books online. Please pay your fines if you wish to renew your books.</li>
+            [% ELSIF ( renewal_blocked_fines ) %]
+               <li><strong>Please note: </strong> You have <a href="/cgi-bin/koha/opac-account.pl">more than [% renewal_blocked_fines %]</a> in fines. </li>
             [% END %]
         </ul></div>
         [% END %]
@@ -196,7 +194,7 @@ $.tablesorter.addParser({
         [% IF ( show_barcode ) %]<th>Barcode</th>[% END %]
         <th>Call No.</th>
         [% IF ( OpacRenewalAllowed ) %]
-        [% UNLESS  patron_flagged %]<th class="{sorter: false}">Renew</th>[% END %]
+        <th class="{sorter: false}">Renew</th>
         [% END %]
 [% IF ( OPACFinesTab ) %]
         <th>Fines</th>
@@ -244,12 +242,10 @@ $.tablesorter.addParser({
                 [% IF ( show_barcode ) %]<td>[% ISSUE.barcode %]</td>[% END %]
                 <td>[% ISSUE.itemcallnumber %]</td>
                 [% IF ( OpacRenewalAllowed ) %]
-                    [% UNLESS patron_flagged %]
-                    <td>[% IF ( ISSUE.status ) %]<input type="checkbox" name="item" value="[% ISSUE.itemnumber %]"/> <a href="/cgi-bin/koha/opac-renew.pl?from=opac_user&amp;item=[% ISSUE.itemnumber %]&amp;borrowernumber=[% ISSUE.borrowernumber %]">Renew</a> <span class="renewals">([% ISSUE.renewsleft %] of [% ISSUE.renewsallowed %] renewals remaining)</span>
+                    <td>[% IF ( ISSUE.status ) %][% IF ( canrenew ) %]<input type="checkbox" name="item" value="[% ISSUE.itemnumber %]"/> <a href="/cgi-bin/koha/opac-renew.pl?from=opac_user&amp;item=[% ISSUE.itemnumber %]&amp;borrowernumber=[% ISSUE.borrowernumber %]">Renew</a>[% END %] <span class="renewals">([% ISSUE.renewsleft %] of [% ISSUE.renewsallowed %] renewals remaining)</span>
                         [% ELSE %]
                         Not renewable[% IF ( ISSUE.too_many ) %] <span class="renewals">([% ISSUE.renewsleft %] of [% ISSUE.renewsallowed %] renewals remaining)</span>[% ELSE %][% IF ( ISSUE.on_reserve ) %] <span class="renewals">(On hold)</span>[% END %][% END %] 
                         [% END %]</td>
-                    [% END %]
                 [% END %]
 [% IF ( OPACFinesTab ) %]
                 <td>[% IF ( ISSUE.charges ) %]Yes[% ELSE %]No[% END %]</td>
@@ -271,7 +267,7 @@ $.tablesorter.addParser({
                        [% FOREACH ISSUE IN ISSUES %]
                        <input type="hidden" name="item" value="[% ISSUE.itemnumber %]" />
                        [% END %]
-                       [% UNLESS patron_flagged %]<input type="submit" value="Renew All" />[% END %]
+                       <input type="submit" value="Renew All" />
                </form>
                [% END %]
     [% ELSE %]
@@ -293,7 +289,8 @@ $.tablesorter.addParser({
 <th>Call No.</th>
 <th>Due</th>
 [% IF ( OpacRenewalAllowed ) %]
-                    [% UNLESS patron_flagged %]<th class="{sorter: false}">Renew</th>[% END %][% END %]
+                    <th class="{sorter: false}">Renew</th>
+[% END %]
 [% IF ( OPACFinesTab ) %]
 <th>Fines</th>
 [% END %]
@@ -325,15 +322,14 @@ $.tablesorter.addParser({
 <td>[% OVERDUE.itemcallnumber %]</td>
 <td>[% OVERDUE.date_due %]</td>
                 [% IF ( OpacRenewalAllowed ) %]
-                    [% UNLESS patron_flagged %]
 <td>
 [% IF ( OVERDUE.debarred ) %]Account Frozen
 [% ELSIF ( OVERDUE.status ) %]
-<a href="/cgi-bin/koha/opac-renew.pl?from=opac_user&amp;item=[% OVERDUE.itemnumber %]&amp;bornum=[% OVERDUE.borrowernumber %]">Renew</a> <span class="renewals">([% OVERDUE.renewsleft %] of [% OVERDUE.renewsallowed %] renewals remaining)</span>
-[% ELSIF ( OVERDUE.onreserve ) %]On Reserve
+[% IF ( canrenew ) %]<a href="/cgi-bin/koha/opac-renew.pl?from=opac_user&amp;item=[% OVERDUE.itemnumber %]&amp;bornum=[% OVERDUE.borrowernumber %]">Renew</a>[% END %] <span class="renewals">([% OVERDUE.renewsleft %] of [% OVERDUE.renewsallowed %] renewals remaining)</span>
+[% ELSIF ( OVERDUE.onreserve ) %]On hold
 [% ELSE %]No renewals left
 [% END %]
-</td>[% END %][% END %]
+</td>[% END %]
 [% IF ( OPACFinesTab ) %]
 <td>[% IF ( OVERDUE.charges ) %]Yes[% ELSE %]No[% END %]</td>
 [% END %]
index 734ba93..fdf0b49 100644 (file)
@@ -1,4 +1,4 @@
-[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo;  Personal Details for [% firstname %] [% surname %]
+[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %] Catalog &rsaquo;  Your personal details
 [% INCLUDE 'doc-head-close.inc' %]
 </head>
 <body>
index 4508fbd..be2e439 100644 (file)
@@ -1,7 +1,4 @@
-[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %][% ELSE %]Koha Online[% END %] Catalog &rsaquo;  Updating Details for
-[% FOREACH BORROWER_INF IN BORROWER_INFO %]
-    [% INCLUDE 'patron-title.inc' category_type = BORROWER_INF.category_type firstname = BORROWER_INF.firstname surname = BORROWER_INF.surname othernames = BORROWER_INF.othernames cardnumber = BORROWER_INF.cardnumber %]
-[% END %]
+[% INCLUDE 'doc-head-open.inc' %][% IF ( LibraryNameTitle ) %][% IF ( LibraryNameTitle ) %][% LibraryNameTitle %][% ELSE %]Koha Online[% END %][% ELSE %]Koha Online[% END %] Catalog &rsaquo;  Your personal details
 [% INCLUDE 'doc-head-close.inc' %]
 </head>
 <body id="opac-userupdate">
index be2b4fd..13812f0 100644 (file)
                 </xsl:call-template>
             </h5>
         </xsl:if>
-
-        <xsl:choose>
-        <xsl:when test="marc:datafield[@tag=100] or marc:datafield[@tag=110] or marc:datafield[@tag=111] or marc:datafield[@tag=700] or marc:datafield[@tag=710] or marc:datafield[@tag=711]">
-        <h5 class="author">by
-        <xsl:for-each select="marc:datafield[@tag=100 or @tag=700]">
-        <a>
         <xsl:choose>
-            <xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'">
-                <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
+            <xsl:when test="marc:datafield[@tag=100] or marc:datafield[@tag=110] or marc:datafield[@tag=111] or marc:datafield[@tag=700] or marc:datafield[@tag=710] or marc:datafield[@tag=711]">
+                <h5 class="author">by
+                    <xsl:call-template name="showAuthor">
+                        <xsl:with-param name="authorfield" select="marc:datafield[@tag=100 or @tag=110 or @tag=111 or @tag=700 or @tag=710 or @tag=711]"/>
+                        <xsl:with-param name="UseAuthoritiesForTracings" select="$UseAuthoritiesForTracings"/>
+                    </xsl:call-template>
+                </h5>
             </xsl:when>
-            <xsl:otherwise>
-            <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:"<xsl:value-of select="marc:subfield[@code='a']"/>"</xsl:attribute>
-            </xsl:otherwise>
-        </xsl:choose>
-        <xsl:call-template name="nameABCDQ"/></a>
-        <xsl:choose>
-        <xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
-        </xsl:for-each>
-
-        <xsl:for-each select="marc:datafield[@tag=110 or @tag=710]">
-        <a>
-        <xsl:choose>
-            <xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'">
-                <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
-            </xsl:when>
-            <xsl:otherwise>
-            <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:"<xsl:value-of select="marc:subfield[@code='a']"/>"</xsl:attribute>
-            </xsl:otherwise>
-        </xsl:choose>
-        <xsl:call-template name="nameABCDN"/></a>
-        <xsl:choose><xsl:when test="position()=last()"><xsl:text> </xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
-        </xsl:for-each>
-
-        <xsl:for-each select="marc:datafield[@tag=111 or @tag=711]">
-            <xsl:choose>
-            <xsl:when test="marc:subfield[@code='n']">
-               <xsl:text> </xsl:text>
-               <xsl:call-template name="subfieldSelect">
-                  <xsl:with-param name="codes">n</xsl:with-param>                              </xsl:call-template>
-               <xsl:text> </xsl:text>
-            </xsl:when>
-            </xsl:choose>
-        <a>
-        <xsl:choose>
-            <xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'">
-                <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
-            </xsl:when>
-            <xsl:otherwise>
-            <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:"<xsl:value-of select="marc:subfield[@code='a']"/>"</xsl:attribute>
-            </xsl:otherwise>
-        </xsl:choose>
-        <xsl:call-template name="nameACDEQ"/></a>
-        <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
-
-        </xsl:for-each>
-        </h5>
-        </xsl:when>
         </xsl:choose>
 
    <xsl:if test="$DisplayOPACiconsXSLT!='0'">
 
     </xsl:template>
 
+    <xsl:template name="showAuthor">
+        <xsl:param name="authorfield" />
+        <xsl:param name="UseAuthoritiesForTracings" />
+        <xsl:for-each select="$authorfield">
+            <xsl:choose><xsl:when test="position()!=1"><xsl:text>; </xsl:text></xsl:when></xsl:choose>
+            <xsl:choose>
+                <xsl:when test="not(@tag=111 or @tag=711)" />
+                <xsl:when test="marc:subfield[@code='n']">
+                    <xsl:text> </xsl:text>
+                    <xsl:call-template name="subfieldSelect">
+                        <xsl:with-param name="codes">n</xsl:with-param>
+                    </xsl:call-template>
+                    <xsl:text> </xsl:text>
+                </xsl:when>
+            </xsl:choose>
+            <a>
+                <xsl:choose>
+                    <xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'">
+                        <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
+                    </xsl:when>
+                    <xsl:otherwise>
+                        <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:<xsl:value-of select="marc:subfield[@code='a']"/></xsl:attribute>
+                    </xsl:otherwise>
+                </xsl:choose>
+                <xsl:choose>
+                    <xsl:when test="@tag=100 or @tag=700"><xsl:call-template name="nameABCDQ"/></xsl:when>
+                    <xsl:when test="@tag=110 or @tag=710"><xsl:call-template name="nameABCDN"/></xsl:when>
+                    <xsl:when test="@tag=111 or @tag=711"><xsl:call-template name="nameACDEQ"/></xsl:when>
+                </xsl:choose>
+                <!-- add relator code too between brackets-->
+                <xsl:if test="marc:subfield[@code='4' or @code='e']">
+                    <xsl:text>[</xsl:text>
+                    <xsl:choose>
+                        <xsl:when test="marc:subfield[@code=4]"><xsl:value-of select="marc:subfield[@code=4]"/></xsl:when>
+                        <xsl:otherwise><xsl:value-of select="marc:subfield[@code='e']"/></xsl:otherwise>
+                    </xsl:choose>
+                    <xsl:text>]</xsl:text>
+                </xsl:if>
+            </a>
+        </xsl:for-each>
+        <xsl:text>.</xsl:text>
+    </xsl:template>
+
     <xsl:template name="nameABCDQ">
             <xsl:call-template name="chopPunctuation">
                 <xsl:with-param name="chopString">
                 </xsl:call-template>
         </xsl:for-each>
         <xsl:for-each select="marc:subfield[@code='b']">
-                <xsl:value-of select="."/>
+            <xsl:value-of select="."/>
+            <xsl:choose>
+                <xsl:when test="position() != last()">
+                    <xsl:text> -- </xsl:text>
+                </xsl:when>
+            </xsl:choose>
         </xsl:for-each>
         <xsl:if test="marc:subfield[@code='c'] or marc:subfield[@code='d'] or marc:subfield[@code='n']">
                 <xsl:call-template name="subfieldSelect">
index 1a4e042..19cee91 100644 (file)
@@ -16,6 +16,8 @@
 
     <xsl:template match="marc:record">
 
+    <xsl:variable name="DisplayOPACiconsXSLT" select="marc:sysprefs/marc:syspref[@name='DisplayOPACiconsXSLT']"/>
+
         <xsl:variable name="leader" select="marc:leader"/>
         <xsl:variable name="leader6" select="substring($leader,7,1)"/>
         <xsl:variable name="leader7" select="substring($leader,8,1)"/>
         <span class="view"><a id="ISBDview" href="/cgi-bin/koha/opac-ISBDdetail.pl?biblionumber={marc:datafield[@tag=999]/marc:subfield[@code='c']}">Kortvisning (ISBD)</a></span>
         </div> 
 
-
+    <xsl:if test="$DisplayOPACiconsXSLT!='0'">
         <xsl:if test="$materialTypeCode!=''">
         <span class="results_summary"><span class="label">Materialtype: </span>
         <xsl:element name="img"><xsl:attribute name="src">/opac-tmpl/prog/famfamfam/<xsl:value-of select="$materialTypeCode"/>.png</xsl:attribute><xsl:attribute name="alt"></xsl:attribute></xsl:element>
         <xsl:value-of select="$materialTypeLabel"/>
         </span>
         </xsl:if>
+    </xsl:if>
 
         <!--Series -->
         <xsl:if test="marc:datafield[@tag=440 or @tag=490]">
index 9d5323c..c6b700a 100644 (file)
@@ -18,6 +18,8 @@
     </xsl:template>
     <xsl:template match="marc:record">
 
+    <xsl:variable name="DisplayOPACiconsXSLT" select="marc:sysprefs/marc:syspref[@name='DisplayOPACiconsXSLT']"/>
+
         <xsl:variable name="leader" select="marc:leader"/>
         <xsl:variable name="leader6" select="substring($leader,7,1)"/>
         <xsl:variable name="leader7" select="substring($leader,8,1)"/>
        </span>
     </xsl:if>
 
+<xsl:if test="$DisplayOPACiconsXSLT!='0'">
     <span class="results_summary">
     <xsl:if test="$typeOf008!=''">
         <span class="label">Type: </span>
         </xsl:choose>
     </xsl:if>
        </span>
+</xsl:if>
 
        <!-- Utgivelse, distribusjon osv -->
     <xsl:if test="marc:datafield[@tag=260]">
index c6379f0..ccf6e27 100644 (file)
@@ -16,7 +16,7 @@ the kohaversion is divided in 4 parts :
 use strict;
 
 sub kohaversion {
-    our $VERSION = '3.07.00.011';
+    our $VERSION = '3.07.00.016';
     # version needs to be set this way
     # so that it can be picked up by Makefile.PL
     # during install
index bd1c9e5..f834985 100755 (executable)
@@ -23,27 +23,12 @@ use warnings;
 use CGI;
 use C4::Output;
 use C4::Auth;
-use C4::AuthoritiesMarc;
 use C4::Koha;
 use C4::NewsChannels;
 use C4::Review qw/numberofreviews/;
 use C4::Suggestions qw/CountSuggestion/;
 use C4::Tags qw/get_count_by_tag_status/;
 my $query     = new CGI;
-my $authtypes = getauthtypes;
-my @authtypesloop;
-
-foreach my $thisauthtype (
-    sort { $authtypes->{$a} <=> $authtypes->{$b} }
-    keys %$authtypes
-  )
-{
-    my %row = (
-        value        => $thisauthtype,
-        authtypetext => $authtypes->{$thisauthtype}{'authtypetext'},
-    );
-    push @authtypesloop, \%row;
-}
 
 my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     {
@@ -57,10 +42,6 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
     }
 );
 
-$template->param(
-    authtypesloop => \@authtypesloop
-);
-
 my $all_koha_news   = &GetNewsToDisplay("koha");
 my $koha_news_count = scalar @$all_koha_news;
 
index 8128a3d..fe24df3 100755 (executable)
@@ -40,17 +40,21 @@ $flagsrequired->{borrowers}=1;
 my $member=$input->param('member');
 my $cardnumber = $input->param('cardnumber');
 my $destination = $input->param('destination');
-my $errormsg;
+my @errors;
 my ($bor)=GetMember('borrowernumber' => $member);
 if(( $member ne $loggedinuser ) && ($bor->{'category_type'} eq 'S' ) ) {
-       $errormsg = 'NOPERMISSION' unless($staffflags->{'superlibrarian'} || $staffflags->{'staffaccess'} );
+       push(@errors,'NOPERMISSION') unless($staffflags->{'superlibrarian'} || $staffflags->{'staffaccess'} );
        # need superlibrarian for koha-conf.xml fakeuser.
 }
 my $newpassword = $input->param('newpassword');
+my $newpassword2 = $input->param('newpassword2');
+
+push(@errors,'NOMATCH') if ( ( $newpassword && $newpassword2 ) && ($newpassword ne $newpassword2) );
+
 my $minpw = C4::Context->preference('minPasswordLength');
-$errormsg = 'SHORTPASSWORD' if( $newpassword && $minpw && (length($newpassword) < $minpw ) );
+push(@errors,'SHORTPASSWORD') if( $newpassword && $minpw && (length($newpassword) < $minpw ) );
 
-if ( $newpassword  && ! $errormsg ) {
+if ( $newpassword  && !scalar(@errors) ) {
     my $digest=md5_base64($input->param('newpassword'));
     my $uid = $input->param('newuserid');
     my $dbh=C4::Context->dbh;
@@ -62,13 +66,7 @@ if ( $newpassword  && ! $errormsg ) {
                    print $input->redirect("/cgi-bin/koha/members/moremember.pl?borrowernumber=$member");
                }
     } else {
-                       $errormsg = 'BADUSERID';
-           $template->param(othernames => $bor->{'othernames'},
-                                               surname     => $bor->{'surname'},
-                                               firstname   => $bor->{'firstname'},
-                                               userid      => $bor->{'userid'},
-                                               defaultnewpassword => $newpassword 
-                                               );
+                       push(@errors,'BADUSERID');
     }
 } else {
     my $userid = $bor->{'userid'};
@@ -79,7 +77,9 @@ if ( $newpassword  && ! $errormsg ) {
     for (my $i=0; $i<$length; $i++) {
        $defaultnewpassword.=substr($chars, int(rand(length($chars))),1);
     }
-       
+
+       $template->param( defaultnewpassword => $defaultnewpassword );
+}
     if ( $bor->{'category_type'} eq 'C') {
         my  ( $catcodes, $labels ) =  GetborCatFromCatType( 'A', 'WHERE category_type = ?' );
         my $cnt = scalar(@$catcodes);
@@ -120,16 +120,16 @@ if (C4::Context->preference('ExtendedPatronAttributes')) {
            userid      => $bor->{'userid'},
            destination => $destination,
                is_child        => ($bor->{'category_type'} eq 'C'),
-           defaultnewpassword => $defaultnewpassword,
                activeBorrowerRelationship => (C4::Context->preference('borrowerRelationship') ne ''),
+        minPasswordLength => $minpw
        );
 
+if( scalar(@errors )){
+       $template->param( errormsg => 1 );
+       foreach my $error (@errors) {
+        $template->param($error) || $template->param( $error => 1);
+       }
 
 }
 
-$template->param( member => $member,
-                                       errormsg => $errormsg,
-                                       $errormsg => 1 ,
-                                       minPasswordLength => $minpw );
-
 output_html_with_http_headers $input, $cookie, $template->output;
index 6de07bf..86dd6ed 100755 (executable)
@@ -292,6 +292,8 @@ if ($op eq 'save' || $op eq 'insert'){
   }
   
   my $password = $input->param('password');
+  my $password2 = $input->param('password2');
+  push @errors, "ERROR_password_mismatch" if ( $password ne $password2 );
   push @errors, "ERROR_short_password" if( $password && $minpw && $password ne '****' && (length($password) < $minpw) );
 
   if (C4::Context->preference('ExtendedPatronAttributes')) {
index 72a109f..e3377bf 100755 (executable)
@@ -111,6 +111,8 @@ output_html_with_http_headers $input, $cookie, $template->output;
 
 sub writeoff {
     my ( $accountnum, $itemnum, $accounttype, $amount ) = @_;
+    my $manager_id = 0;
+    $manager_id = C4::Context->userenv->{'number'} if C4::Context->userenv;
 
     # if no item is attached to fine, make sure to store it as a NULL
     $itemnum ||= undef;
@@ -118,7 +120,7 @@ sub writeoff {
     $writeoff_sth->execute( $accountnum, $borrowernumber );
 
     my $acct = getnextacctno($borrowernumber);
-    $add_writeoff_sth->execute( $borrowernumber, $acct, $itemnum, $amount );
+    $add_writeoff_sth->execute( $borrowernumber, $acct, $itemnum, $amount, $manager_id );
 
     UpdateStats( $branch, 'writeoff', $amount, q{}, q{}, q{}, $borrowernumber );
 
@@ -282,8 +284,8 @@ sub get_writeoff_sth {
           . 'WHERE accountno=? and borrowernumber=?';
         $writeoff_sth = $dbh->prepare($sql);
         my $insert =
-q{insert into accountlines (borrowernumber,accountno,itemnumber,date,amount,description,accounttype)}
-          . q{values (?,?,?,now(),?,'Writeoff','W')};
+q{insert into accountlines (borrowernumber,accountno,itemnumber,date,amount,description,accounttype,manager_id)}
+          . q{values (?,?,?,now(),?,'Writeoff','W',?)};
         $add_writeoff_sth = $dbh->prepare($insert);
     }
     return;
index 31e8125..655b6d4 100755 (executable)
@@ -34,6 +34,9 @@ my $want_help;
 my $as_xml;
 my $process_zebraqueue;
 my $do_not_clear_zebraqueue;
+my $length;
+my $where;
+my $offset;
 my $verbose_logging = 0;
 my $zebraidx_log_opt = " -v none,fatal,warn ";
 my $result = GetOptions(
@@ -51,7 +54,10 @@ my $result = GetOptions(
        'x'                             => \$as_xml,
     'y'             => \$do_not_clear_zebraqueue,
     'z'             => \$process_zebraqueue,
-    'v+'            => \$verbose_logging,
+    'where:s'        => \$where,
+    'length:i'        => \$length,
+    'offset:i'      => \$offset,
+    'v+'             => \$verbose_logging,
 );
 
 
@@ -294,13 +300,21 @@ sub select_all_records {
 }
 
 sub select_all_authorities {
-    my $sth = $dbh->prepare("SELECT authid FROM auth_header");
+    my $strsth=qq{SELECT authid FROM auth_header};
+    $strsth.=qq{ WHERE $where } if ($where);
+    $strsth.=qq{ LIMIT $length } if ($length && !$offset);
+    $strsth.=qq{ LIMIT $offset,$length } if ($length && $offset);
+    my $sth = $dbh->prepare($strsth);
     $sth->execute();
     return $sth;
 }
 
 sub select_all_biblios {
-    my $sth = $dbh->prepare("SELECT biblionumber FROM biblioitems ORDER BY biblionumber");
+    my $strsth = qq{ SELECT biblionumber FROM biblioitems };
+    $strsth.=qq{ WHERE $where } if ($where);
+    $strsth.=qq{ LIMIT $length } if ($length && !$offset);
+    $strsth.=qq{ LIMIT $offset,$length } if ($offset);
+    my $sth = $dbh->prepare($strsth);
     $sth->execute();
     return $sth;
 }
@@ -639,7 +653,14 @@ Parameters:
                             warnings and errors from the indexing are shown.
                             Use log level 2 (-v -v) to include all Zebra logs.
 
-    -munge-config           Deprecated option to try
+    --length   1234         how many biblio you want to export
+    --offset 1243           offset you want to start to
+                                example: --offset 500 --length=500 will result in a LIMIT 500,1000 (exporting 1000 records, starting by the 500th one)
+                                note that the numbers are NOT related to biblionumber, that's the intended behaviour.
+    --where                 let you specify a WHERE query, like itemtype='BOOK'
+                            or something like that
+
+    --munge-config          Deprecated option to try
                             to fix Zebra config files.
     --help or -h            show this message.
 _USAGE_
index f7a940b..99a75bf 100755 (executable)
@@ -351,7 +351,7 @@ if (defined $output && $output ne '-') {
     print STDERR "$0: Outputting to STDOUT...\n" if $verbose_p;
     open(OUTPUT, ">&STDOUT");
 }
-binmode OUTPUT, ':encoding(UTF-8)';
+#binmode OUTPUT, ':encoding(UTF-8)';
 
 if (defined $files_from) {
     print STDERR "$0: Opening input file list \"$files_from\"\n" if $verbose_p;
index c80d41c..3373787 100755 (executable)
@@ -159,13 +159,22 @@ $template->param(
     reviews             => $reviews,
 );
 
+#Export options
+my $OpacExportOptions=C4::Context->preference("OpacExportOptions");
+my @export_options = split(/\|/,$OpacExportOptions);
+$template->{VARS}->{'export_options'} = \@export_options;
+
 #Search for title in links
+my $marccontrolnumber   = GetMarcControlnumber   ($record, $marcflavour);
+
 if (my $search_for_title = C4::Context->preference('OPACSearchForTitleIn')){
     $dat->{author} ? $search_for_title =~ s/{AUTHOR}/$dat->{author}/g : $search_for_title =~ s/{AUTHOR}//g;
     $dat->{title} =~ s/\/+$//; # remove trailing slash
     $dat->{title} =~ s/\s+$//; # remove trailing space
     $dat->{title} ? $search_for_title =~ s/{TITLE}/$dat->{title}/g : $search_for_title =~ s/{TITLE}//g;
     $isbn ? $search_for_title =~ s/{ISBN}/$isbn/g : $search_for_title =~ s/{ISBN}//g;
+    $marccontrolnumber ? $search_for_title =~ s/{CONTROLNUMBER}/$marccontrolnumber/g : $search_for_title =~ s/{CONTROLNUMBER}//g;
+    $search_for_title =~ s/{BIBLIONUMBER}/$biblionumber/g;
  $template->param('OPACSearchForTitleIn' => $search_for_title);
 }
 
index f408cd2..519791c 100755 (executable)
@@ -270,13 +270,25 @@ if(C4::Context->preference("ISBD")) {
        $template->param(ISBD => 1);
 }
 
+#Export options
+my $OpacExportOptions=C4::Context->preference("OpacExportOptions");
+my @export_options = split(/\|/,$OpacExportOptions);
+$template->{VARS}->{'export_options'} = \@export_options;
+
 #Search for title in links
+my $marcflavour  = C4::Context->preference("marcflavour");
+my $dat = TransformMarcToKoha( $dbh, $record );
+my $isbn = GetNormalizedISBN(undef,$record,$marcflavour);
+my $marccontrolnumber   = GetMarcControlnumber   ($record, $marcflavour);
+
 if (my $search_for_title = C4::Context->preference('OPACSearchForTitleIn')){
-    $biblio->{author} ? $search_for_title =~ s/{AUTHOR}/$biblio->{author}/g : $search_for_title =~ s/{AUTHOR}//g;
-    $biblio->{title} =~ s/\/+$//; # remove trailing slash
-    $biblio->{title} =~ s/\s+$//; # remove trailing space
-    $biblio->{title} ? $search_for_title =~ s/{TITLE}/$biblio->{title}/g : $search_for_title =~ s/{TITLE}//g;
-    $biblio->{isbn} ? $search_for_title =~ s/{ISBN}/$biblio->{isbn}/g : $search_for_title =~ s/{ISBN}//g;
+    $dat->{author} ? $search_for_title =~ s/{AUTHOR}/$dat->{author}/g : $search_for_title =~ s/{AUTHOR}//g;
+    $dat->{title} =~ s/\/+$//; # remove trailing slash
+    $dat->{title} =~ s/\s+$//; # remove trailing space
+    $dat->{title} ? $search_for_title =~ s/{TITLE}/$dat->{title}/g : $search_for_title =~ s/{TITLE}//g;
+    $isbn ? $search_for_title =~ s/{ISBN}/$isbn/g : $search_for_title =~ s/{ISBN}//g;
+    $marccontrolnumber ? $search_for_title =~ s/{CONTROLNUMBER}/$marccontrolnumber/g : $search_for_title =~ s/{CONTROLNUMBER}//g;
+    $search_for_title =~ s/{BIBLIONUMBER}/$biblionumber/g;
  $template->param('OPACSearchForTitleIn' => $search_for_title);
 }
 
index 1c3ee8e..8692a63 100755 (executable)
@@ -22,7 +22,7 @@ use CGI;
 
 my $query    = new CGI;
 my $language = $query->param('language');
-my $url      = $query->referer();
+my $url      = $query->referer() || '/';
 
 # warn "Language : $query // $language // $url";
 C4::Templates::setlanguagecookie( $query, $language, $url );
index c4d8218..b5a25a8 100755 (executable)
@@ -41,6 +41,7 @@ use C4::Members;
 use C4::VirtualShelves;
 use C4::XSLT;
 use C4::ShelfBrowser;
+use C4::Reserves;
 use C4::Charset;
 use MARC::Record;
 use MARC::Field;
@@ -509,11 +510,9 @@ for my $itm (@items) {
          $itm->{'lostimageurl'}   = $lostimageinfo->{ 'imageurl' };
          $itm->{'lostimagelabel'} = $lostimageinfo->{ 'label' };
      }
-
-     if( $itm->{'count_reserves'}){
-          if( $itm->{'count_reserves'} eq "Waiting"){ $itm->{'waiting'} = 1; }
-          if( $itm->{'count_reserves'} eq "Reserved"){ $itm->{'onhold'} = 1; }
-     }
+     my ($reserve_status) = C4::Reserves::CheckReserves($itm->{itemnumber});
+      if( $reserve_status eq "Waiting"){ $itm->{'waiting'} = 1; }
+      if( $reserve_status eq "Reserved"){ $itm->{'onhold'} = 1; }
     
      my ( $transfertwhen, $transfertfrom, $transfertto ) = GetTransfers($itm->{itemnumber});
      if ( defined( $transfertwhen ) && $transfertwhen ne '' ) {
@@ -891,6 +890,11 @@ if (C4::Context->preference("OPACURLOpenInNewWindow")) {
     $template->param(covernewwindow => 'false');
 }
 
+#Export options
+my $OpacExportOptions=C4::Context->preference("OpacExportOptions");
+my @export_options = split(/\|/,$OpacExportOptions);
+$template->{VARS}->{'export_options'} = \@export_options;
+
 #Search for title in links
 my $marccontrolnumber   = GetMarcControlnumber   ($record, $marcflavour);
 
index 411fd3f..fb8dee7 100755 (executable)
@@ -66,6 +66,10 @@ elsif ($format =~ /utf8/) {
     C4::Charset::SetUTF8Flag($marc,1);
     $marc = $marc->as_usmarc();
 }
+elsif ($format =~ /marcstd/) {
+    C4::Charset::SetUTF8Flag($marc,1);
+    ($error,$marc) = marc2marc($marc, 'marcstd', C4::Context->preference('marcflavour'));
+}
 else {
     $error= "Format $format is not supported.";
 }
index 5a8512a..337a939 100755 (executable)
@@ -25,7 +25,8 @@ use warnings;
 use CGI;
 use Data::ICal;
 use Data::ICal::Entry::Event;
-use Date::ICal;
+use DateTime;
+use DateTime::Format::ICal;
 use Date::Calc qw (Parse_Date);
 
 use C4::Auth;
@@ -60,28 +61,28 @@ foreach my $issue ( @$issues ) {
     my ($year,$month,$day)=Parse_Date($issue->{'date_due'});
     ($year,$month,$day)=split /-|\/|\.|:/,$issue->{'date_due'} unless ($year && $month);
 #    Decode_Date_EU2($string))
-    my $datestart = Date::ICal->new( 
-       day => $day, 
-       month => $month, 
-       year => $year,
-       hour => 9,
-       min => 0,
-       sec => 0
-    )->ical;
-    my $dateend = Date::ICal->new( 
-       day => $day, 
-       month => $month, 
-       year => $year,
-       hour => 10,
-       min => 0,
-       sec => 0
-    )->ical;
+    my $datestart = DateTime->new(
+        day    => $day,
+        month  => $month,
+        year   => $year,
+        hour   => 9,
+        minute => 0,
+        second => 0
+    );
+    my $dateend = DateTime->new(
+        day    => $day,
+        month  => $month,
+        year   => $year,
+        hour   => 10,
+        minute => 0,
+        second => 0
+    );
     $vevent->add_properties(
         summary => "$issue->{'title'} Due",
         description =>
 "Your copy of $issue->{'title'} barcode $issue->{'barcode'} is due back at the library today",
-        dtstart => $datestart,
-       dtend => $dateend,
+        dtstart => DateTime::Format::ICal->format_datetime($datestart),
+        dtend   => DateTime::Format::ICal->format_datetime($dateend),
     );
     $calendar->add_entry($vevent);
 }
index ff71006..61d288a 100755 (executable)
@@ -21,11 +21,8 @@ use warnings;
 use CGI;
 use C4::Auth;    # get_template_and_user
 use C4::Output;
-use C4::VirtualShelves;
-use C4::Branch;          # GetBranches
 use C4::Members;         # GetMember
 use C4::NewsChannels;    # get_opac_news
-use C4::Acquisition;     # GetRecentAcqui
 use C4::Languages qw(getTranslatedLanguages accept_language);
 
 my $input = new CGI;
index dd3dcf2..c699b35 100755 (executable)
@@ -42,7 +42,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
        }
 ); 
 my @items          = $query->param('item');
-$borrowernumber = $query->param('borrowernumber') || $query->param('bornum');
+
 my $opacrenew = C4::Context->preference("OpacRenewalAllowed");
 
 my $errorstring='';
index 4485ad6..a88bffb 100755 (executable)
@@ -67,6 +67,7 @@ my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
 
 my $OPACDisplayRequestPriority = (C4::Context->preference("OPACDisplayRequestPriority")) ? 1 : 0;
 my $patronupdate = $query->param('patronupdate');
+my $canrenew = 1;
 
 # get borrower information ....
 my ( $borr ) = GetMemberDetails( $borrowernumber );
@@ -92,6 +93,7 @@ if ($debar) {
 
 if ( $userdebarred || $borr->{'gonenoaddress'} || $borr->{'lost'} ) {
     $borr->{'flagged'} = 1;
+    $canrenew = 0;
 }
 
 if ( $borr->{'amountoutstanding'} > 5 ) {
@@ -105,6 +107,7 @@ $no_renewal_amt ||= 0;
 
 if ( $borr->{amountoutstanding} > $no_renewal_amt ) {
     $borr->{'flagged'} = 1;
+    $canrenew = 0;
     $template->param(
         renewal_blocked_fines => sprintf( '%.02f', $no_renewal_amt ),
     );
@@ -144,13 +147,11 @@ $template->param(   BORROWER_INFO     => \@bordat,
 #get issued items ....
 
 my $count          = 0;
-my $toggle = 0;
 my $overdues_count = 0;
 my @overdues;
 my @issuedat;
 my $itemtypes = GetItemTypes();
 my ($issues) = GetPendingIssues($borrowernumber);
-my $canrenew = 0;
 if ($issues){
        foreach my $issue ( sort { $b->{'date_due'} cmp $a->{'date_due'} } @$issues ) {
                # check for reserves
@@ -181,7 +182,6 @@ if ($issues){
                ($issue->{'renewcount'},$issue->{'renewsallowed'},$issue->{'renewsleft'}) = GetRenewCount($borrowernumber, $issue->{'itemnumber'});
         if($status && C4::Context->preference("OpacRenewalAllowed")){
             $issue->{'status'} = $status;
-            $canrenew = 1;
         }
                $issue->{'too_many'} = 1 if $renewerror and $renewerror eq 'too_many';
                $issue->{'on_reserve'} = 1 if $renewerror and $renewerror eq 'on_reserve';
index a1a3ce6..7e4f810 100755 (executable)
@@ -132,7 +132,13 @@ elsif ( $op eq "checkout" ) {
     my $impossible  = {};
     my $needconfirm = {};
     if ( !$confirmed ) {
-        ( $impossible, $needconfirm ) = CanBookBeIssued( $borrower, $barcode );
+        ( $impossible, $needconfirm ) = CanBookBeIssuedCheckout(
+            $borrower,
+            $barcode,
+            undef,
+            0,
+            C4::Context->preference("AllowItemsOnHoldCheckout")
+        );
     }
     $confirm_required = scalar keys %$needconfirm;
 
@@ -213,7 +219,13 @@ if ($borrower->{cardnumber}) {
     my ($issueslist) = GetPendingIssues( $borrower->{'borrowernumber'} );
     foreach my $it (@$issueslist) {
         $it->{date_due_display} = format_date($it->{date_due});
-        my ($renewokay, $renewerror) = CanBookBeIssued($borrower, $it->{'barcode'},'','');
+        my ($renewokay, $renewerror) = CanBookBeIssued(
+            $borrower,
+            $it->{'barcode'},
+            undef,
+            0,
+            C4::Context->preference("AllowItemsOnHoldCheckout")
+        );
         $it->{'norenew'} = 1 if $renewokay->{'NO_MORE_RENEWALS'};
         push @issues, $it;
     }
index a67db7a..4fe55f0 100755 (executable)
@@ -42,7 +42,7 @@ my ($template, $loggedinuser, $cookie);
                             query => $query,
                             type => "intranet",
                             authnotrequired => 0,
-                            flagsrequired => {serials => 'receive_serials'},
+                            flagsrequired => {serials => '*'},
                             debug => 1,
                             });
 my $biblionumber = $query->param('biblionumber');
index 9ecd09f..5c87851 100755 (executable)
@@ -72,6 +72,7 @@ use C4::Koha;
 use C4::Output;
 use C4::Context;
 use C4::Serials;
+use C4::Search qw/enabled_staff_search_views/;
 use List::MoreUtils qw/uniq/;
 
 my $query           = CGI->new();
@@ -115,7 +116,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user(
         query           => $query,
         type            => 'intranet',
         authnotrequired => 0,
-        flagsrequired   => { serials => 1 },
+        flagsrequired   => { serials => 'receive_serials' },
         debug           => 1,
     }
 );
@@ -403,14 +404,15 @@ output_html_with_http_headers $query, $cookie, $template->output;
 
 sub get_default_view {
     my $defaultview = C4::Context->preference('IntranetBiblioDefaultView');
-    my $views = { C4::Search::enabled_staff_search_views };
-    if ($defaultview eq 'isbd' && $views->{can_view_ISBD}) {
+    my %views       = C4::Search::enabled_staff_search_views();
+    if ( $defaultview eq 'isbd' && $views{can_view_ISBD} ) {
         return 'ISBDdetail';
-    } elsif  ($defaultview eq 'marc' && $views->{can_view_MARC}) {
+    }
+    elsif ( $defaultview eq 'marc' && $views{can_view_MARC} ) {
         return 'MARCdetail';
-    } elsif  ($defaultview eq 'labeled_marc' && $views->{can_view_labeledMARC}) {
+    }
+    elsif ( $defaultview eq 'labeled_marc' && $views{can_view_labeledMARC} ) {
         return 'labeledMARCdetail';
-    } else {
-        return 'detail';
     }
+    return 'detail';
 }
index b76a701..623efe2 100755 (executable)
@@ -127,6 +127,7 @@ if ($op eq "do_search" && $query) {
         $resultsloop{author}          = $biblio->{'author'};
         $resultsloop{publishercode}   = $biblio->{'publishercode'};
         $resultsloop{publicationyear} = $biblio->{'publicationyear'};
+        $resultsloop{issn}            = $biblio->{'issn'};
 
         push @results, \%resultsloop;
     }
index 8e7f418..0b6d35a 100755 (executable)
@@ -24,6 +24,7 @@ use C4::Dates qw/format_date/;
 use C4::Serials;
 use C4::Output;
 use C4::Context;
+use C4::Search qw/enabled_staff_search_views/;
 use Date::Calc qw/Today Day_of_Year Week_of_Year Add_Delta_Days/;
 use Carp;
 
@@ -143,14 +144,15 @@ output_html_with_http_headers $query, $cookie, $template->output;
 
 sub get_default_view {
     my $defaultview = C4::Context->preference('IntranetBiblioDefaultView');
-    my $views = { C4::Search::enabled_staff_search_views };
-    if ($defaultview eq 'isbd' && $views->{can_view_ISBD}) {
+    my %views       = C4::Search::enabled_staff_search_views();
+    if ( $defaultview eq 'isbd' && $views{can_view_ISBD} ) {
         return 'ISBDdetail';
-    } elsif  ($defaultview eq 'marc' && $views->{can_view_MARC}) {
+    }
+    elsif ( $defaultview eq 'marc' && $views{can_view_MARC} ) {
         return 'MARCdetail';
-    } elsif  ($defaultview eq 'labeled_marc' && $views->{can_view_labeledMARC}) {
+    }
+    elsif ( $defaultview eq 'labeled_marc' && $views{can_view_labeledMARC} ) {
         return 'labeledMARCdetail';
-    } else {
-        return 'detail';
     }
+    return 'detail';
 }
diff --git a/t/Koha_template_plugin_KohaDates.t b/t/Koha_template_plugin_KohaDates.t
deleted file mode 100644 (file)
index f9a0e72..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/perl
-#
-
-use strict;
-use warnings;
-use C4::Context;
-use C4::Dates;
-use Test::More tests => 5;
-
-BEGIN {
-        use_ok('Koha::Template::Plugin::KohaDates');
-}
-
-my $date = "1973-05-21";
-my $context = C4::Context->new();
-my $dateobj = C4::Dates->new();
-
-my $filter = Koha::Template::Plugin::KohaDates->new();
-ok ($filter, "new()");
-
-
-$context->set_preference( "dateformat", 'iso' );
-$context->clear_syspref_cache();
-$dateobj->reset_prefformat;
-
-my $filtered_date = $filter->filter($date);
-is ($filtered_date,$date, "iso conversion") or diag ("iso conversion fails");
-
-#$filter = Koha::Template::Plugin::KohaDates->new();
-$context->set_preference( "dateformat", 'us' );
-$context->clear_syspref_cache();
-$dateobj->reset_prefformat;
-
-$filtered_date = $filter->filter($date);
-is ($filtered_date,'05/21/1973', "us conversion") or diag ("us conversion fails $filtered_date");
-
-$context->set_preference( "dateformat", 'metric' );
-$context->clear_syspref_cache();
-$dateobj->reset_prefformat;
-
-$filtered_date = $filter->filter($date);
-is ($filtered_date,'21/05/1973', "metric conversion") or diag ("metric conversion fails $filtered_date");
diff --git a/t/db_dependent/Circulation.t b/t/db_dependent/Circulation.t
new file mode 100755 (executable)
index 0000000..8fab844
--- /dev/null
@@ -0,0 +1,110 @@
+#!/usr/bin/perl
+
+use Test::More tests => 15;
+
+BEGIN {
+    use_ok('C4::Circulation');
+}
+
+my $CircControl = C4::Context->preference('CircControl');
+my $HomeOrHoldingBranch = C4::Context->preference('HomeOrHoldingBranch');
+
+my $item = {
+    homebranch => 'ItemHomeBranch',
+    holdingbranch => 'ItemHoldingBranch'
+};
+
+my $borrower = {
+    branchcode => 'BorrowerBranch'
+};
+
+# No userenv, PickupLibrary
+C4::Context->set_preference('CircControl', 'PickupLibrary');
+is(
+    C4::Context->preference('CircControl'),
+    'PickupLibrary',
+    'CircControl changed to PickupLibrary'
+);
+is(
+    C4::Circulation::_GetCircControlBranch($item, $borrower),
+    $item->{$HomeOrHoldingBranch},
+    '_GetCircControlBranch returned item branch (no userenv defined)'
+);
+
+# No userenv, PatronLibrary
+C4::Context->set_preference('CircControl', 'PatronLibrary');
+is(
+    C4::Context->preference('CircControl'),
+    'PatronLibrary',
+    'CircControl changed to PatronLibrary'
+);
+is(
+    C4::Circulation::_GetCircControlBranch($item, $borrower),
+    $borrower->{branchcode},
+    '_GetCircControlBranch returned borrower branch'
+);
+
+# No userenv, ItemHomeLibrary
+C4::Context->set_preference('CircControl', 'ItemHomeLibrary');
+is(
+    C4::Context->preference('CircControl'),
+    'ItemHomeLibrary',
+    'CircControl changed to ItemHomeLibrary'
+);
+is(
+    $item->{$HomeOrHoldingBranch},
+    C4::Circulation::_GetCircControlBranch($item, $borrower),
+    '_GetCircControlBranch returned item branch'
+);
+
+diag('Now, set a userenv');
+C4::Context->_new_userenv('xxx');
+C4::Context::set_userenv(0,0,0,'firstname','surname', 'CurrentBranch', 'CurrentBranchName', '', '', '');
+is(C4::Context->userenv->{branch}, 'CurrentBranch', 'userenv set');
+
+# Userenv set, PickupLibrary
+C4::Context->set_preference('CircControl', 'PickupLibrary');
+is(
+    C4::Context->preference('CircControl'),
+    'PickupLibrary',
+    'CircControl changed to PickupLibrary'
+);
+is(
+    C4::Circulation::_GetCircControlBranch($item, $borrower),
+    'CurrentBranch',
+    '_GetCircControlBranch returned current branch'
+);
+
+# Userenv set, PatronLibrary
+C4::Context->set_preference('CircControl', 'PatronLibrary');
+is(
+    C4::Context->preference('CircControl'),
+    'PatronLibrary',
+    'CircControl changed to PatronLibrary'
+);
+is(
+    C4::Circulation::_GetCircControlBranch($item, $borrower),
+    $borrower->{branchcode},
+    '_GetCircControlBranch returned borrower branch'
+);
+
+# Userenv set, ItemHomeLibrary
+C4::Context->set_preference('CircControl', 'ItemHomeLibrary');
+is(
+    C4::Context->preference('CircControl'),
+    'ItemHomeLibrary',
+    'CircControl changed to ItemHomeLibrary'
+);
+is(
+    C4::Circulation::_GetCircControlBranch($item, $borrower),
+    $item->{$HomeOrHoldingBranch},
+    '_GetCircControlBranch returned item branch'
+);
+
+# Reset initial configuration
+C4::Context->set_preference('CircControl', $CircControl);
+is(
+    C4::Context->preference('CircControl'),
+    $CircControl,
+    'CircControl reset to its initial value'
+);
diff --git a/t/db_dependent/Koha_template_plugin_KohaDates.t b/t/db_dependent/Koha_template_plugin_KohaDates.t
new file mode 100644 (file)
index 0000000..f9a0e72
--- /dev/null
@@ -0,0 +1,42 @@
+#!/usr/bin/perl
+#
+
+use strict;
+use warnings;
+use C4::Context;
+use C4::Dates;
+use Test::More tests => 5;
+
+BEGIN {
+        use_ok('Koha::Template::Plugin::KohaDates');
+}
+
+my $date = "1973-05-21";
+my $context = C4::Context->new();
+my $dateobj = C4::Dates->new();
+
+my $filter = Koha::Template::Plugin::KohaDates->new();
+ok ($filter, "new()");
+
+
+$context->set_preference( "dateformat", 'iso' );
+$context->clear_syspref_cache();
+$dateobj->reset_prefformat;
+
+my $filtered_date = $filter->filter($date);
+is ($filtered_date,$date, "iso conversion") or diag ("iso conversion fails");
+
+#$filter = Koha::Template::Plugin::KohaDates->new();
+$context->set_preference( "dateformat", 'us' );
+$context->clear_syspref_cache();
+$dateobj->reset_prefformat;
+
+$filtered_date = $filter->filter($date);
+is ($filtered_date,'05/21/1973', "us conversion") or diag ("us conversion fails $filtered_date");
+
+$context->set_preference( "dateformat", 'metric' );
+$context->clear_syspref_cache();
+$dateobj->reset_prefformat;
+
+$filtered_date = $filter->filter($date);
+is ($filtered_date,'21/05/1973', "metric conversion") or diag ("metric conversion fails $filtered_date");
index ff01f8f..daf1c29 100755 (executable)
@@ -27,7 +27,3 @@ $transaction2->patron(my $patron2 = ILS::Patron->new("ABCDE12345"));
 ok(!defined $patron2, "patron code: ABCDE12345 is invalid");
 
 ok($transaction->do_renew_all(), "items renewed correctly");
-
-
-my $object = ILS::Transaction::Renew->new();
-is($object->do_renew(), "", "");
index 001dc24..f285929 100644 (file)
@@ -9,16 +9,20 @@ use Data::Dumper;
 
 use C4::Suggestions;
 
-use Test::More tests =>6; 
+use Test::More tests =>9;
 
 BEGIN {
     use_ok('C4::Suggestions');
 }
 
-my ($suggestionid, $suggestion, $status);
+my ($suggestionid, $suggestion, $status, $biblionumber);
+$biblionumber = 1;
 ok($suggestionid= NewSuggestion( {title=>'Petit traité de philosohpie',author=>'Hubert de Chardassé',publishercode=>'Albin Michel'} ), "NewSuggestion OK");
 ok($suggestion= GetSuggestion( $suggestionid), "GetSuggestion OK");
 ok($status= ModSuggestion( {title=>'test Modif Simple', suggestionid=>$suggestionid} ), "ModSuggestion Simple OK");
 ok($status= ModSuggestion( {STATUS=>'STALLED', suggestionid=>$suggestionid} ), "ModSuggestion Status OK");
+ok($status= ModSuggestion( {suggestionid => $suggestionid, biblionumber => $biblionumber } ), "ModSuggestion, set biblionumber OK" );
+ok($suggestion= GetSuggestionFromBiblionumber( $biblionumber ), "GetSuggestionFromBiblionumber OK");
+ok($suggestion= GetSuggestionInfoFromBiblionumber( $biblionumber ), "GetSuggestionInfoFromBiblionumber OK");
 ok(@{SearchSuggestion( {STATUS=>'STALLED'} )}>0, "SearchSuggestion Status OK");
 
index b25cd11..b248c77 100644 (file)
@@ -45,7 +45,6 @@ sub methods : Test( 1 ) {
                        _disambiguate
                        get_koha_field_from_marc
                        TransformMarcToKohaOneField
-                       PrepareItemrecordDisplay
                        ModZebra
                        GetNoZebraIndexes
                        _DelBiblioNoZebra
@@ -60,8 +59,6 @@ sub methods : Test( 1 ) {
                        _koha_delete_biblio
                        _koha_delete_biblioitems
                        ModBiblioMarc
-                       z3950_extended_services
-                       set_service_options
                        get_biblio_authorised_values
                 );
     
index 7dcd9ab..ea76efd 100644 (file)
@@ -52,6 +52,7 @@ sub methods : Test( 1 ) {
       _get_unlinked_item_subfields
       _get_unlinked_subfields_xml
       _parse_unlinked_item_subfields_from_xml
+      PrepareItemrecordDisplay
     );
 
     can_ok( $self->testing_class, @methods );
index 94cfa69..440e516 100755 (executable)
@@ -340,12 +340,13 @@ foreach my $tag (sort keys %{$tagslib}) {
           #---- "true" authorised value
       }
       else {
-          push @authorised_values, "" unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
+          push @authorised_values, ""; # unless ( $tagslib->{$tag}->{$subfield}->{mandatory} );
           $authorised_values_sth->execute( $tagslib->{$tag}->{$subfield}->{authorised_value} );
           while ( my ( $value, $lib ) = $authorised_values_sth->fetchrow_array ) {
               push @authorised_values, $value;
               $authorised_lib{$value} = $lib;
           }
+          $value="";
       }
       $subfield_data{marc_value} =CGI::scrolling_list(      # FIXME: factor out scrolling_list
           -name     => "field_value",
index 66763d6..d3d8646 100755 (executable)
@@ -47,11 +47,12 @@ my ($template, $loggedinuser, $cookie)
 
        my $limit_ind_branch=(C4::Context->preference('IndependantBranches') &&
               C4::Context->userenv &&
-              C4::Context->userenv->{flags} % 2 !=1  &&
+              !(C4::Context->userenv->{flags} & 1) &&
               C4::Context->userenv->{branch}?1:0);
        my $branches = GetBranches($limit_ind_branch);    
     my $branch                = $query->param("branch") || '';
-       if ( C4::Context->preference("IndependantBranches") ) {
+       if ( C4::Context->preference("IndependantBranches") &&
+         !(C4::Context->userenv->{flags} & 1) ) {
        $branch = C4::Context->userenv->{'branch'};
        }
 
index a7e9142..83db522 100755 (executable)
@@ -62,7 +62,7 @@ my @columnkeys = C4::Members->columns;
 if ($extended) {
     push @columnkeys, 'patron_attributes';
 }
-my $columnkeystpl = [ map { {'key' => $_} }  grep {$_ ne 'borrowernumber' && $_ ne 'cardnumber'} @columnkeys ];  # ref. to array of hashrefs.
+my $columnkeystpl = [ map { {'key' => $_} }  grep {$_ ne 'borrowernumber' } @columnkeys ];  # ref. to array of hashrefs.
 
 my $input = CGI->new();
 our $csv  = Text::CSV->new({binary => 1});  # binary needed for non-ASCII Unicode