View | Details | Raw Unified | Return to bug 39325
Collapse All | Expand All

(-)a/C4/Accounts.pm (-1 / +1 lines)
Lines 146-152 B<$days> -- Zero balance fees older than B<$days> days old will be deleted. Link Here
146
146
147
B<Warning:> Because fines and payments are not linked in accountlines, it is
147
B<Warning:> Because fines and payments are not linked in accountlines, it is
148
possible for a fine to be deleted without the accompanying payment,
148
possible for a fine to be deleted without the accompanying payment,
149
or vise versa. This won't affect the account balance, but might be
149
or vice versa. This won't affect the account balance, but might be
150
confusing to staff.
150
confusing to staff.
151
151
152
=cut
152
=cut
(-)a/C4/Acquisition.pm (-6 / +6 lines)
Lines 136-144 orders, basket and parcels. Link Here
136
136
137
  $aqbasket = &GetBasket($basketnumber);
137
  $aqbasket = &GetBasket($basketnumber);
138
138
139
get all basket informations in aqbasket for a given basket
139
get all basket information in aqbasket for a given basket
140
140
141
B<returns:> informations for a given basket returned as a hashref.
141
B<returns:> information for a given basket returned as a hashref.
142
142
143
=cut
143
=cut
144
144
Lines 2010-2016 sub get_rounded_price { Link Here
2010
2010
2011
  \@order_loop = GetHistory( %params );
2011
  \@order_loop = GetHistory( %params );
2012
2012
2013
Retreives some acquisition history information
2013
Retrieves some acquisition history information
2014
2014
2015
params:
2015
params:
2016
  title
2016
  title
Lines 2535-2541 sub GetInvoices { Link Here
2535
2535
2536
    my $invoice = GetInvoice($invoiceid);
2536
    my $invoice = GetInvoice($invoiceid);
2537
2537
2538
Get informations about invoice with given $invoiceid
2538
Get information about invoice with given $invoiceid
2539
2539
2540
Return a hash filled with aqinvoices.* fields
2540
Return a hash filled with aqinvoices.* fields
2541
2541
Lines 2564-2572 sub GetInvoice { Link Here
2564
2564
2565
    my $invoice = GetInvoiceDetails($invoiceid)
2565
    my $invoice = GetInvoiceDetails($invoiceid)
2566
2566
2567
Return informations about an invoice + the list of related order lines
2567
Return information about an invoice + the list of related order lines
2568
2568
2569
Orders informations are in $invoice->{orders} (array ref)
2569
Orders information are in $invoice->{orders} (array ref)
2570
2570
2571
=cut
2571
=cut
2572
2572
(-)a/C4/Auth.pm (-9 / +9 lines)
Lines 121-127 C4::Auth - Authenticates Koha users Link Here
121
=head1 DESCRIPTION
121
=head1 DESCRIPTION
122
122
123
The main function of this module is to provide
123
The main function of this module is to provide
124
authentification. However the get_template_and_user function has
124
authentication. However the get_template_and_user function has
125
been provided so that a users login information is passed along
125
been provided so that a users login information is passed along
126
automatically. This gets loaded into the template.
126
automatically. This gets loaded into the template.
127
127
Lines 141-147 automatically. This gets loaded into the template. Link Here
141
     );
141
     );
142
142
143
This call passes the C<query>, C<flagsrequired> and C<authnotrequired>
143
This call passes the C<query>, C<flagsrequired> and C<authnotrequired>
144
to C<&checkauth> (in this module) to perform authentification.
144
to C<&checkauth> (in this module) to perform authentication.
145
See C<&checkauth> for an explanation of these parameters.
145
See C<&checkauth> for an explanation of these parameters.
146
146
147
The C<template_name> is then used to find the correct template for
147
The C<template_name> is then used to find the correct template for
Lines 734-740 user has authenticated, C<&checkauth> restarts the original script Link Here
734
The login page is provided using a HTML::Template, which is set in the
734
The login page is provided using a HTML::Template, which is set in the
735
systempreferences table or at the top of this file. The variable C<$type>
735
systempreferences table or at the top of this file. The variable C<$type>
736
selects which template to use, either the opac or the intranet
736
selects which template to use, either the opac or the intranet
737
authentification template.
737
authentication template.
738
738
739
C<&checkauth> returns a user ID, a cookie, and a session ID. The
739
C<&checkauth> returns a user ID, a cookie, and a session ID. The
740
cookie should be sent back to the browser; it verifies that the user
740
cookie should be sent back to the browser; it verifies that the user
Lines 1000-1006 sub checkauth { Link Here
1000
    if ($logout) {
1000
    if ($logout) {
1001
1001
1002
        # voluntary logout the user
1002
        # voluntary logout the user
1003
        # check wether the user was using their shibboleth session or a local one
1003
        # check FIXME CODESPELL (wether ==> weather, whether) the user was using their shibboleth session or a local one
1004
        my $shibSuccess = C4::Context->userenv ? C4::Context->userenv->{'shibboleth'} : undef;
1004
        my $shibSuccess = C4::Context->userenv ? C4::Context->userenv->{'shibboleth'} : undef;
1005
        if ($session) {
1005
        if ($session) {
1006
            $session->delete();
1006
            $session->delete();
Lines 1381-1387 sub checkauth { Link Here
1381
        }
1381
        }
1382
    }
1382
    }
1383
1383
1384
    # finished authentification, now respond
1384
    # finished authentication, now respond
1385
    if ( $auth_state eq 'completed' || $authnotrequired ) {
1385
    if ( $auth_state eq 'completed' || $authnotrequired ) {
1386
1386
1387
        # successful login
1387
        # successful login
Lines 1659-1665 sub check_api_auth { Link Here
1659
    if ( C4::Context->preference('Version') < $kohaversion ) {
1659
    if ( C4::Context->preference('Version') < $kohaversion ) {
1660
1660
1661
        # database in need of version update; assume that
1661
        # database in need of version update; assume that
1662
        # no API should be called while databsae is in
1662
        # no API should be called while database is in
1663
        # this condition.
1663
        # this condition.
1664
        return ( "maintenance", undef, undef );
1664
        return ( "maintenance", undef, undef );
1665
    }
1665
    }
Lines 1705-1711 sub check_api_auth { Link Here
1705
            # User / password auth
1705
            # User / password auth
1706
            unless ( $userid and $password ) {
1706
            unless ( $userid and $password ) {
1707
1707
1708
                # caller did something wrong, fail the authenticateion
1708
                # caller did something wrong, fail the authentication
1709
                return ( "failed", undef, undef );
1709
                return ( "failed", undef, undef );
1710
            }
1710
            }
1711
            my $newuserid;
1711
            my $newuserid;
Lines 1826-1832 sub check_api_auth { Link Here
1826
Given a CGISESSID cookie set during a previous login to Koha, determine
1826
Given a CGISESSID cookie set during a previous login to Koha, determine
1827
if the user has the privileges specified by C<$userflags>. C<$userflags>
1827
if the user has the privileges specified by C<$userflags>. C<$userflags>
1828
is passed unaltered into C<haspermission> and as such accepts all options
1828
is passed unaltered into C<haspermission> and as such accepts all options
1829
avaiable to that routine with the one caveat that C<check_api_auth> will
1829
available to that routine with the one caveat that C<check_api_auth> will
1830
also allow 'undef' to be passed and in such a case the permissions check
1830
also allow 'undef' to be passed and in such a case the permissions check
1831
will be skipped altogether.
1831
will be skipped altogether.
1832
1832
Lines 1874-1880 sub check_cookie_auth { Link Here
1874
        if ( C4::Context->preference('Version') < $kohaversion ) {
1874
        if ( C4::Context->preference('Version') < $kohaversion ) {
1875
1875
1876
            # database in need of version update; assume that
1876
            # database in need of version update; assume that
1877
            # no API should be called while databsae is in
1877
            # no API should be called while database is in
1878
            # this condition.
1878
            # this condition.
1879
            return ( "maintenance", undef );
1879
            return ( "maintenance", undef );
1880
        }
1880
        }
(-)a/C4/Auth_with_cas.pm (-1 / +1 lines)
Lines 241-247 sub _url_with_get_params { Link Here
241
sub logout_if_required {
241
sub logout_if_required {
242
    my ($query) = @_;
242
    my ($query) = @_;
243
243
244
    # Check we havent been hit by a logout call
244
    # Check we haven't been hit by a logout call
245
    my $xml = $query->param('logoutRequest');
245
    my $xml = $query->param('logoutRequest');
246
    return 0 unless $xml;
246
    return 0 unless $xml;
247
247
(-)a/C4/Auth_with_ldap.pm (-2 / +2 lines)
Lines 123-129 sub checkpw_ldap { Link Here
123
    my @hosts = split( ',', $prefhost );
123
    my @hosts = split( ',', $prefhost );
124
    my $db    = Net::LDAP->new( \@hosts );
124
    my $db    = Net::LDAP->new( \@hosts );
125
    unless ($db) {
125
    unless ($db) {
126
        warn "LDAP connexion failed";
126
        warn "LDAP connection failed";
127
        return 0;
127
        return 0;
128
    }
128
    }
129
129
Lines 456-462 C4::Auth - Authenticates Koha users Link Here
456
456
457
=head1 LDAP Configuration
457
=head1 LDAP Configuration
458
458
459
    This module is specific to LDAP authentification. It requires Net::LDAP package and one or more
459
    This module is specific to LDAP authentication. It requires Net::LDAP package and one or more
460
	working LDAP servers.
460
	working LDAP servers.
461
	To use it :
461
	To use it :
462
	   * Modify ldapserver element in KOHA_CONF
462
	   * Modify ldapserver element in KOHA_CONF
(-)a/C4/Biblio.pm (-9 / +9 lines)
Lines 167-173 The MARC record (in biblio_metadata.metadata) contains the complete marc record, Link Here
167
167
168
=over 4
168
=over 4
169
169
170
=item 1. save datas in biblio and biblioitems table, that gives us a biblionumber and a biblioitemnumber
170
=item 1. save data in biblio and biblioitems table, that gives us a biblionumber and a biblioitemnumber
171
171
172
=item 2. add the biblionumber and biblioitemnumber into the MARC records
172
=item 2. add the biblionumber and biblioitemnumber into the MARC records
173
173
Lines 371-377 task to rebuild the holds queue for the biblio if I<RealTimeHoldsQueue> is enabl Link Here
371
371
372
=item C<skip_record_index>
372
=item C<skip_record_index>
373
373
374
Used when the indexing schedulling will be handled by the caller
374
Used when the indexing scheduling will be handled by the caller
375
375
376
=item C<record_source_id>
376
=item C<record_source_id>
377
377
Lines 528-534 I<$params> is a hashref containing extra parameters. Valid keys are: Link Here
528
528
529
=item B<skip_holds_queue>: used when the holds queue update will be handled by the caller
529
=item B<skip_holds_queue>: used when the holds queue update will be handled by the caller
530
530
531
=item B<skip_record_index>: used when the indexing schedulling will be handled by the caller
531
=item B<skip_record_index>: used when the indexing scheduling will be handled by the caller
532
532
533
=back
533
=back
534
=cut
534
=cut
Lines 939-949 sub GetISBDView { Link Here
939
    my $tagslib = GetMarcStructure( 1, $itemtype, { unsafe => 1 } );
939
    my $tagslib = GetMarcStructure( 1, $itemtype, { unsafe => 1 } );
940
940
941
    my $ISBD = C4::Context->preference($sysprefname);
941
    my $ISBD = C4::Context->preference($sysprefname);
942
    my $bloc = $ISBD;
942
    my $block = $ISBD;
943
    my $res;
943
    my $res;
944
    my $blocres;
944
    my $blocres;
945
945
946
    foreach my $isbdfield ( split( /#/, $bloc ) ) {
946
    foreach my $isbdfield ( split( /#/, $block ) ) {
947
947
948
        #         $isbdfield= /(.?.?.?)/;
948
        #         $isbdfield= /(.?.?.?)/;
949
        $isbdfield =~ /(\d\d\d)([^\|])?\|(.*)\|(.*)\|(.*)/;
949
        $isbdfield =~ /(\d\d\d)([^\|])?\|(.*)\|(.*)\|(.*)/;
Lines 982-988 sub GetISBDView { Link Here
982
                                $calculated =~ s#/cgi-bin/koha/[^/]+/([^.]*.pl\?.*)$#opac-$1#g;
982
                                $calculated =~ s#/cgi-bin/koha/[^/]+/([^.]*.pl\?.*)$#opac-$1#g;
983
                            }
983
                            }
984
984
985
                            # field builded, store the result
985
                            # field built, store the result
986
                            if ( $calculated && !$hasputtextbefore ) {    # put textbefore if not done
986
                            if ( $calculated && !$hasputtextbefore ) {    # put textbefore if not done
987
                                $blocres .= $textbefore;
987
                                $blocres .= $textbefore;
988
                                $hasputtextbefore = 1;
988
                                $hasputtextbefore = 1;
Lines 1027-1033 sub GetISBDView { Link Here
1027
                            }
1027
                            }
1028
                        }
1028
                        }
1029
1029
1030
                        # field builded, store the result
1030
                        # field built, store the result
1031
                        if ( $calculated && !$hasputtextbefore ) {    # put textbefore if not done
1031
                        if ( $calculated && !$hasputtextbefore ) {    # put textbefore if not done
1032
                            $blocres .= $textbefore;
1032
                            $blocres .= $textbefore;
1033
                            $hasputtextbefore = 1;
1033
                            $hasputtextbefore = 1;
Lines 1199-1205 The following options are supported: Link Here
1199
1199
1200
Pass { unsafe => 1 } do disable cached object cloning,
1200
Pass { unsafe => 1 } do disable cached object cloning,
1201
and instead get a shared reference, resulting in better
1201
and instead get a shared reference, resulting in better
1202
performance (but care must be taken so that retured object
1202
performance (but care must be taken so that returned object
1203
is never modified).
1203
is never modified).
1204
1204
1205
Note: If you call GetMarcSubfieldStructure with unsafe => 1, do not modify or
1205
Note: If you call GetMarcSubfieldStructure with unsafe => 1, do not modify or
Lines 2303-2309 sub TransformHtmlToMarc { Link Here
2303
            $newfield = 0;
2303
            $newfield = 0;
2304
            my $j = $i + 2;
2304
            my $j = $i + 2;
2305
2305
2306
            if ( $tag < 10 ) {    # no code for theses fields
2306
            if ( $tag < 10 ) {    # no code for FIXME CODESPELL (theses ==> these, thesis) fields
2307
                                  # in MARC editor, 000 contains the leader.
2307
                                  # in MARC editor, 000 contains the leader.
2308
                next if $tag == $biblionumbertagfield;
2308
                next if $tag == $biblionumbertagfield;
2309
                my $fval = $cgi->param( $params[ $j + 1 ] );
2309
                my $fval = $cgi->param( $params[ $j + 1 ] );
(-)a/C4/Budgets.pm (-2 / +2 lines)
Lines 700-706 sub _recursiveAdd { Link Here
700
    }
700
    }
701
}
701
}
702
702
703
# Recursive method to add a budget and its chidren to an array
703
# Recursive method to add a budget and its children to an array
704
sub _add_budget_children {
704
sub _add_budget_children {
705
    my $res    = shift;
705
    my $res    = shift;
706
    my $budget = shift;
706
    my $budget = shift;
Lines 914-920 sub GetBudgetsByActivity { Link Here
914
914
915
Get all but cancelled orders for all funds.
915
Get all but cancelled orders for all funds.
916
916
917
If the optionnal activity parameter is passed, returns orders for active/inactive budgets only.
917
If the optional activity parameter is passed, returns orders for active/inactive budgets only.
918
918
919
active = 1
919
active = 1
920
inactive = 0
920
inactive = 0
(-)a/C4/Charset.pm (-3 / +3 lines)
Lines 368-374 removed. Link Here
368
This function exists to work around a problem
368
This function exists to work around a problem
369
that can occur with badly-encoded MARC records.
369
that can occur with badly-encoded MARC records.
370
Specifically, if a UTF-8 MARC record also
370
Specifically, if a UTF-8 MARC record also
371
has excape (\x1b) characters, MARC::File::XML
371
has escape (\x1b) characters, MARC::File::XML
372
will let the escape characters pass through
372
will let the escape characters pass through
373
when as_xml() or as_xml_record() is called.  The
373
when as_xml() or as_xml_record() is called.  The
374
problem is that the escape character is not
374
problem is that the escape character is not
Lines 707-713 sub _marc_to_utf8_via_text_iconv { Link Here
707
    my $decoder;
707
    my $decoder;
708
    eval { $decoder = Text::Iconv->new( $source_encoding, 'utf8' ); };
708
    eval { $decoder = Text::Iconv->new( $source_encoding, 'utf8' ); };
709
    if ($@) {
709
    if ($@) {
710
        push @errors, "Could not initialze $source_encoding => utf8 converter: $@";
710
        push @errors, "Could not initialize $source_encoding => utf8 converter: $@";
711
        return @errors;
711
        return @errors;
712
    }
712
    }
713
713
Lines 1043-1049 $chars{0xc777} = 0x1e87; # small w with dot above Link Here
1043
$chars{0xc778} = 0x1e8b;    # small x with dot above
1043
$chars{0xc778} = 0x1e8b;    # small x with dot above
1044
$chars{0xc779} = 0x1e8f;    # small y with dot above
1044
$chars{0xc779} = 0x1e8f;    # small y with dot above
1045
$chars{0xc77a} = 0x017c;    # small z with dot above
1045
$chars{0xc77a} = 0x017c;    # small z with dot above
1046
                            # 4/8 trema, diaresis
1046
                            # 4/8 trema, diaeresis
1047
$chars{0xc820} = 0x00a8;    # diaeresis
1047
$chars{0xc820} = 0x00a8;    # diaeresis
1048
$chars{0xc841} = 0x00c4;    # capital a with diaeresis
1048
$chars{0xc841} = 0x00c4;    # capital a with diaeresis
1049
$chars{0xc845} = 0x00cb;    # capital e with diaeresis
1049
$chars{0xc845} = 0x00cb;    # capital e with diaeresis
(-)a/C4/Circulation.pm (-7 / +7 lines)
Lines 745-751 item withdrawn. Link Here
745
item is restricted (set by ??)
745
item is restricted (set by ??)
746
746
747
C<$needsconfirmation> a reference to a hash. It contains reasons why the loan 
747
C<$needsconfirmation> a reference to a hash. It contains reasons why the loan 
748
could be prevented, but ones that can be overriden by the operator.
748
could be prevented, but ones that can be overridden by the operator.
749
749
750
Possible values are :
750
Possible values are :
751
751
Lines 1559-1566 AddIssue does the following things : Link Here
1559
              - fill recall if recall to this patron
1559
              - fill recall if recall to this patron
1560
              - cancel recall or not
1560
              - cancel recall or not
1561
              - revert recall's waiting status or not
1561
              - revert recall's waiting status or not
1562
          * TRANSFERT PENDING ?
1562
          * FIXME CODESPELL (TRANSFERT ==> TRANSFER, TRANSFERRED) PENDING ?
1563
              - complete the transfert
1563
              - complete the FIXME CODESPELL (transfert ==> transfer, transferred)
1564
          * ISSUE THE BOOK
1564
          * ISSUE THE BOOK
1565
1565
1566
=back
1566
=back
Lines 1689-1695 sub AddIssue { Link Here
1689
1689
1690
            C4::Reserves::MoveReserve( $item_object->itemnumber, $patron->borrowernumber, $cancelreserve );
1690
            C4::Reserves::MoveReserve( $item_object->itemnumber, $patron->borrowernumber, $cancelreserve );
1691
1691
1692
            # Starting process for transfer job (checking transfert and validate it if we have one)
1692
            # Starting process for transfer job (checking FIXME CODESPELL (transfert ==> transfer, transferred) and validate it if we have one)
1693
            if ( my $transfer = $item_object->get_transfer ) {
1693
            if ( my $transfer = $item_object->get_transfer ) {
1694
1694
1695
                # updating line of branchtranfert to finish it, and changing the to branch value, implement a comment for visibility of this case (maybe for stats ....)
1695
                # updating line of branchtranfert to finish it, and changing the to branch value, implement a comment for visibility of this case (maybe for stats ....)
Lines 1995-2001 category only Link Here
1995
default branch and category
1995
default branch and category
1996
1996
1997
If no rule has been found in the database, it will default to
1997
If no rule has been found in the database, it will default to
1998
the buillt in rule:
1998
the built in rule:
1999
1999
2000
patron_maxissueqty - undef
2000
patron_maxissueqty - undef
2001
patron_maxonsiteissueqty - undef
2001
patron_maxonsiteissueqty - undef
Lines 2684-2690 Ideally, this function would be internal to C<C4::Circulation>, Link Here
2684
not exported, but it is currently used in misc/cronjobs/longoverdue.pl
2684
not exported, but it is currently used in misc/cronjobs/longoverdue.pl
2685
and offline_circ/process_koc.pl.
2685
and offline_circ/process_koc.pl.
2686
2686
2687
The last optional parameter allos passing skip_record_index to the item store call.
2687
The last optional parameter allows passing skip_record_index to the item store call.
2688
2688
2689
=cut
2689
=cut
2690
2690
Lines 4119-4125 sub CalcDateDue { Link Here
4119
4119
4120
        # if the calculated due date is after the 'before' Hard Due Date (ceiling), override
4120
        # if the calculated due date is after the 'before' Hard Due Date (ceiling), override
4121
        # if the calculated date is before the 'after' Hard Due Date (floor), override
4121
        # if the calculated date is before the 'after' Hard Due Date (floor), override
4122
        # if the hard due date is set to 'exactly', overrride
4122
        # if the hard due date is set to 'exactly', override
4123
        if ( $hardduedatecompare == 0 || $hardduedatecompare == $cmp ) {
4123
        if ( $hardduedatecompare == 0 || $hardduedatecompare == $cmp ) {
4124
            $datedue = $hardduedate->clone;
4124
            $datedue = $hardduedate->clone;
4125
        }
4125
        }
(-)a/C4/ClassSplitRoutine/Dewey.pm (-1 / +1 lines)
Lines 56-62 sub split_callnumber { Link Here
56
    }
56
    }
57
57
58
    if ( $lines[0] =~ /^([-a-zA-Z]+)\s?($possible_decimal)$/ ) {
58
    if ( $lines[0] =~ /^([-a-zA-Z]+)\s?($possible_decimal)$/ ) {
59
        shift @lines;              # pull off the mathching first element, like example 1
59
        shift @lines;              # pull off the matching first element, like example 1
60
        unshift @lines, $1, $2;    # replace it with the two pieces
60
        unshift @lines, $1, $2;    # replace it with the two pieces
61
    }
61
    }
62
62
(-)a/C4/Context.pm (-1 / +1 lines)
Lines 107-113 sub import { Link Here
107
107
108
    # Create the default context ($C4::Context::Context)
108
    # Create the default context ($C4::Context::Context)
109
    # the first time the module is called
109
    # the first time the module is called
110
    # (a config file can be optionaly passed)
110
    # (a config file can be optionally passed)
111
111
112
    # default context already exists?
112
    # default context already exists?
113
    return if $context;
113
    return if $context;
(-)a/C4/Contract.pm (-1 / +1 lines)
Lines 46-52 use C4::Contract; Link Here
46
=head1 DESCRIPTION
46
=head1 DESCRIPTION
47
47
48
The functions in this module deal with contracts. They allow to
48
The functions in this module deal with contracts. They allow to
49
add a new contract, to modify it or to get some informations around
49
add a new contract, to modify it or to get some information around
50
a contract.
50
a contract.
51
51
52
=cut
52
=cut
(-)a/C4/Creators/Batch.pm (-1 / +1 lines)
Lines 286-292 This module provides methods for creating, and otherwise manipulating batch obje Link Here
286
=head2 delete()
286
=head2 delete()
287
287
288
    Invoking the delete method attempts to delete the template from the database. The method returns -1 upon failure. Errors are logged to the Apache log.
288
    Invoking the delete method attempts to delete the template from the database. The method returns -1 upon failure. Errors are logged to the Apache log.
289
    NOTE: This method may also be called as a function and passed a key/value pair simply deleteing that batch from the database. See the example below.
289
    NOTE: This method may also be called as a function and passed a key/value pair simply deleting that batch from the database. See the example below.
290
290
291
    examples:
291
    examples:
292
        my $exitstat = $batch->delete(); # to delete the record behind the $batch object
292
        my $exitstat = $batch->delete(); # to delete the record behind the $batch object
(-)a/C4/Creators/Layout.pm (-1 / +1 lines)
Lines 378-384 R = Right Link Here
378
=head2 delete()
378
=head2 delete()
379
379
380
    Invoking the delete method attempts to delete the layout from the database. The method returns 0 upon success and -1 upon failure. Errors are logged to the Apache log.
380
    Invoking the delete method attempts to delete the layout from the database. The method returns 0 upon success and -1 upon failure. Errors are logged to the Apache log.
381
    NOTE: This method may also be called as a function and passed a key/value pair simply deleteing that template from the database. See the example below.
381
    NOTE: This method may also be called as a function and passed a key/value pair simply deleting that template from the database. See the example below.
382
382
383
    examples:
383
    examples:
384
        C<my $exitstat = $layout->delete(); # to delete the record behind the $layout object>
384
        C<my $exitstat = $layout->delete(); # to delete the record behind the $layout object>
(-)a/C4/Creators/Lib.pm (-3 / +3 lines)
Lines 271-277 ADD_LAYOUTS: Link Here
271
  my $profiles = get_all_profiles({ fields => [@fields], filters => { filters => [$value1, $value2] } });
271
  my $profiles = get_all_profiles({ fields => [@fields], filters => { filters => [$value1, $value2] } });
272
272
273
This function returns an arrayref whose elements are hashes containing all profiles upon success and 1 upon failure. Errors are logged
273
This function returns an arrayref whose elements are hashes containing all profiles upon success and 1 upon failure. Errors are logged
274
to the Apache log. Two parameters are accepted. The first limits the field(s) returned. This parameter should be string of comma separted
274
to the Apache log. Two parameters are accepted. The first limits the field(s) returned. This parameter should be string of comma separated
275
fields. ie. "field_1, field_2, ...field_n" The second limits the records returned based on a string containing a valud SQL 'WHERE' filter.
275
fields. ie. "field_1, field_2, ...field_n" The second limits the records returned based on a string containing a valud SQL 'WHERE' filter.
276
276
277
NOTE: Do not pass in the keyword 'WHERE.'
277
NOTE: Do not pass in the keyword 'WHERE.'
Lines 382-388 sub get_label_summary { Link Here
382
        $record->{'author'} =~ s/[^\.|\w]$//
382
        $record->{'author'} =~ s/[^\.|\w]$//
383
            if $record->{'author'};    # strip off ugly trailing chars... but not periods or word chars
383
            if $record->{'author'};    # strip off ugly trailing chars... but not periods or word chars
384
        $record->{'title'} =~ s/\W*$//;    # strip off ugly trailing chars
384
        $record->{'title'} =~ s/\W*$//;    # strip off ugly trailing chars
385
         # FIXME contructing staff interface URLs should be done *much* higher up the stack - for the most part, C4 module code
385
         # FIXME constructing staff interface URLs should be done *much* higher up the stack - for the most part, C4 module code
386
         # should not know that it's part of a web app
386
         # should not know that it's part of a web app
387
        $label_summary->{'_summary'} =
387
        $label_summary->{'_summary'} =
388
            { title => $record->{title}, author => $record->{author}, biblionumber => $record->{biblionumber} };
388
            { title => $record->{title}, author => $record->{author}, biblionumber => $record->{biblionumber} };
Lines 527-533 sub get_table_names { Link Here
527
527
528
=head2 C4::Creators::Lib::html_table()
528
=head2 C4::Creators::Lib::html_table()
529
529
530
This function returns an arrayref of an array of hashes contianing the supplied data formatted suitably to
530
This function returns an arrayref of an array of hashes containing the supplied data formatted suitably to
531
be passed off as a template parameter and used to build an html table.
531
be passed off as a template parameter and used to build an html table.
532
532
533
   my $table = html_table(header_fields, array_of_row_data);
533
   my $table = html_table(header_fields, array_of_row_data);
(-)a/C4/Creators/Profile.pm (-1 / +1 lines)
Lines 265-271 CM = SI Centimeters (28.3464567 points per) Link Here
265
=head2 delete()
265
=head2 delete()
266
266
267
    Invoking the delete method attempts to delete the profile from the database. The method returns -1 upon failure. Errors are logged to the Apache log.
267
    Invoking the delete method attempts to delete the profile from the database. The method returns -1 upon failure. Errors are logged to the Apache log.
268
    NOTE: This method may also be called as a function and passed a key/value pair simply deleteing that profile from the database. See the example below.
268
    NOTE: This method may also be called as a function and passed a key/value pair simply deleting that profile from the database. See the example below.
269
269
270
    examples:
270
    examples:
271
        C<my $exitstat = $profile->delete(); # to delete the record behind the $profile object>
271
        C<my $exitstat = $profile->delete(); # to delete the record behind the $profile object>
(-)a/C4/Creators/Template.pm (-2 / +2 lines)
Lines 309-315 This module provides methods for creating, retrieving, and otherwise manipulatin Link Here
309
    Invoking the I<new> method constructs a new template object containing the default values for a template.
309
    Invoking the I<new> method constructs a new template object containing the default values for a template.
310
    The following parameters are optionally accepted as key => value pairs:
310
    The following parameters are optionally accepted as key => value pairs:
311
311
312
        C<profile_id>           A valid profile id to be assciated with this template. NOTE: The profile must exist in the database and B<not> be assigned to another template.
312
        C<profile_id>           A valid profile id to be associated with this template. NOTE: The profile must exist in the database and B<not> be assigned to another template.
313
        C<template_code>        A template code. ie. 'Avery 5160 | 1 x 2-5/8'
313
        C<template_code>        A template code. ie. 'Avery 5160 | 1 x 2-5/8'
314
        C<template_desc>        A readable description of the template. ie. '3 columns, 10 rows of labels'
314
        C<template_desc>        A readable description of the template. ie. '3 columns, 10 rows of labels'
315
        C<page_width>           The width of the page measured in the units supplied by the units parameter in this template.
315
        C<page_width>           The width of the page measured in the units supplied by the units parameter in this template.
Lines 373-379 CM = SI Centimeters (28.3464567 points per) Link Here
373
=head2 delete()
373
=head2 delete()
374
374
375
    Invoking the delete method attempts to delete the template from the database. The method returns -1 upon failure. Errors are logged to the Apache log.
375
    Invoking the delete method attempts to delete the template from the database. The method returns -1 upon failure. Errors are logged to the Apache log.
376
    NOTE: This method may also be called as a function and passed a key/value pair simply deleteing that template from the database. See the example below.
376
    NOTE: This method may also be called as a function and passed a key/value pair simply deleting that template from the database. See the example below.
377
377
378
    examples:
378
    examples:
379
        C<my $exitstat = $template->delete(); # to delete the record behind the $template object>
379
        C<my $exitstat = $template->delete(); # to delete the record behind the $template object>
(-)a/C4/Form/MessagingPreferences.pm (-1 / +1 lines)
Lines 156-162 PREF: foreach my $option (@$messaging_options) { Link Here
156
156
157
=item Handle when form input is invalid
157
=item Handle when form input is invalid
158
158
159
=item Generalize into a system of form handler clases
159
=item Generalize into a system of form handler FIXME CODESPELL (clases ==> classes, clashes, cases)
160
160
161
=back
161
=back
162
162
(-)a/C4/HoldsQueue.pm (-1 / +1 lines)
Lines 711-717 RETRY: Link Here
711
sub MapItemsToHoldRequests {
711
sub MapItemsToHoldRequests {
712
    my ( $hold_requests, $available_items, $branches_to_use, $transport_cost_matrix ) = @_;
712
    my ( $hold_requests, $available_items, $branches_to_use, $transport_cost_matrix ) = @_;
713
713
714
    # handle trival cases
714
    # handle trivial cases
715
    return unless scalar(@$hold_requests) > 0;
715
    return unless scalar(@$hold_requests) > 0;
716
    return unless scalar(@$available_items) > 0;
716
    return unless scalar(@$available_items) > 0;
717
717
(-)a/C4/ILSDI/Services.pm (-2 / +2 lines)
Lines 253-259 sub GetRecords { Link Here
253
        foreach my $item (@items) {
253
        foreach my $item (@items) {
254
            my %item = %{ $item->unblessed };
254
            my %item = %{ $item->unblessed };
255
255
256
            # This hides additionnal XML subfields, we don't need these info
256
            # This hides additional XML subfields, we don't need these info
257
            delete $item{'more_subfields_xml'};
257
            delete $item{'more_subfields_xml'};
258
258
259
            # Display branch names instead of branch codes
259
            # Display branch names instead of branch codes
Lines 493-499 sub GetPatronInfo { Link Here
493
493
494
            my ( $item, $biblio, $biblioitem ) = ( {}, {}, {} );
494
            my ( $item, $biblio, $biblioitem ) = ( {}, {}, {} );
495
495
496
            # Get additional informations
496
            # Get additional information
497
            if ( $hold->itemnumber ) {    # item level holds
497
            if ( $hold->itemnumber ) {    # item level holds
498
                $item       = Koha::Items->find( $hold->itemnumber );
498
                $item       = Koha::Items->find( $hold->itemnumber );
499
                $biblio     = $item->biblio;
499
                $biblio     = $item->biblio;
(-)a/C4/ImportExportFramework.pm (-4 / +4 lines)
Lines 177-183 C4::ImportExportFramework - Import/Export Framework to Excel-xml/ODS Module Func Link Here
177
Module to Import/Export Framework to Excel-xml/ODS on intranet administration - MARC Frameworks section
177
Module to Import/Export Framework to Excel-xml/ODS on intranet administration - MARC Frameworks section
178
178
179
Module to Import/Export Framework to Excel-xml/ODS on intranet administration - MARC Frameworks section
179
Module to Import/Export Framework to Excel-xml/ODS on intranet administration - MARC Frameworks section
180
exporting the tables marc_tag_structure, marc_subfield_structure to excel-xml/ods or viceversa
180
exporting the tables marc_tag_structure, marc_subfield_structure to excel-xml/ods or vice-versa
181
181
182
Functions for handling import/export.
182
Functions for handling import/export.
183
183
Lines 191-197 Functions for handling import/export. Link Here
191
Export all information of a bibliographic or authority MARC framework to an Excel "xml" file, comma separated values "csv" or OpenDocument SpreadSheet "ods".
191
Export all information of a bibliographic or authority MARC framework to an Excel "xml" file, comma separated values "csv" or OpenDocument SpreadSheet "ods".
192
192
193
return :
193
return :
194
succes
194
success
195
195
196
=cut
196
=cut
197
197
Lines 746-752 sub ImportFramework { Link Here
746
        }
746
        }
747
        unlink($filename) if ($deleteFilename);    # remove temporary file
747
        unlink($filename) if ($deleteFilename);    # remove temporary file
748
    } else {
748
    } else {
749
        Koha::Logger->get->warn("Error ImportFramework no conex to database or not readeable $filename");
749
        Koha::Logger->get->warn("Error ImportFramework no conex to database or not readable $filename");
750
    }
750
    }
751
    if ( $deleteFilename && $tempdir && -d $tempdir && -w $tempdir ) {
751
    if ( $deleteFilename && $tempdir && -d $tempdir && -w $tempdir ) {
752
        eval {
752
        eval {
Lines 1009-1015 sub _import_table_csv { Link Here
1009
    while ( my $row = $csv->getline($dom) ) {
1009
    while ( my $row = $csv->getline($dom) ) {
1010
        my @fields = @$row;
1010
        my @fields = @$row;
1011
        @arrData = @fields;
1011
        @arrData = @fields;
1012
        next if scalar @arrData == grep { $_ eq '' } @arrData;    # Emtpy lines
1012
        next if scalar @arrData == grep { $_ eq '' } @arrData;    # Empty lines
1013
            #$arrData[0] = substr($arrData[0], 1) if ($arrData[0] =~ /^"/);
1013
            #$arrData[0] = substr($arrData[0], 1) if ($arrData[0] =~ /^"/);
1014
            #$arrData[$#arrData] =~ s/[\r\n]+$//;
1014
            #$arrData[$#arrData] =~ s/[\r\n]+$//;
1015
            #chop $arrData[$#arrData] if ($arrData[$#arrData] =~ /"$/);
1015
            #chop $arrData[$#arrData] if ($arrData[$#arrData] =~ /"$/);
(-)a/C4/InstallAuth.pm (-4 / +4 lines)
Lines 65-71 InstallAuth - Authenticates Koha users for Install process Link Here
65
=head1 DESCRIPTION
65
=head1 DESCRIPTION
66
66
67
The main function of this module is to provide
67
The main function of this module is to provide
68
authentification. However the get_template_and_user function has
68
authentication. However the get_template_and_user function has
69
been provided so that a users login information is passed along
69
been provided so that a users login information is passed along
70
automatically. This gets loaded into the template.
70
automatically. This gets loaded into the template.
71
This package is different from C4::Auth in so far as
71
This package is different from C4::Auth in so far as
Lines 87-93 As in C4::Auth, Authentication is based on cookies. Link Here
87
    );
87
    );
88
88
89
This call passes the C<query>, C<flagsrequired> and C<authnotrequired>
89
This call passes the C<query>, C<flagsrequired> and C<authnotrequired>
90
to C<&checkauth> (in this module) to perform authentification.
90
to C<&checkauth> (in this module) to perform authentication.
91
See C<&checkauth> for an explanation of these parameters.
91
See C<&checkauth> for an explanation of these parameters.
92
92
93
The C<template_name> is then used to find the correct template for
93
The C<template_name> is then used to find the correct template for
Lines 222-228 user has authenticated, C<&checkauth> restarts the original script Link Here
222
The login page is provided using a HTML::Template, which is set in the
222
The login page is provided using a HTML::Template, which is set in the
223
systempreferences table or at the top of this file. The variable C<$type>
223
systempreferences table or at the top of this file. The variable C<$type>
224
selects which template to use, either the opac or the intranet 
224
selects which template to use, either the opac or the intranet 
225
authentification template.
225
authentication template.
226
226
227
C<&checkauth> returns a user ID, a cookie, and a session ID. The
227
C<&checkauth> returns a user ID, a cookie, and a session ID. The
228
cookie should be sent back to the browser; it verifies that the user
228
cookie should be sent back to the browser; it verifies that the user
Lines 341-347 sub checkauth { Link Here
341
        }
341
        }
342
    }
342
    }
343
343
344
    # finished authentification, now respond
344
    # finished authentication, now respond
345
    if ($loggedin) {
345
    if ($loggedin) {
346
346
347
        # successful login
347
        # successful login
(-)a/C4/Installer.pm (-2 / +2 lines)
Lines 407-413 sub load_sql_in_order { Link Here
407
                unless ( index( $systempreference, $file[ scalar(@file) - 1 ] ) >= 0 );
407
                unless ( index( $systempreference, $file[ scalar(@file) - 1 ] ) >= 0 );
408
        }
408
        }
409
409
410
        #Bulding here a hierarchy to display files by level.
410
        #Building here a hierarchy to display files by level.
411
        push @{ $hashlevel{$level} },
411
        push @{ $hashlevel{$level} },
412
            { "fwkname" => $file[ scalar(@file) - 1 ], "error" => $error };
412
            { "fwkname" => $file[ scalar(@file) - 1 ], "error" => $error };
413
    }
413
    }
Lines 628-634 sub load_sql { Link Here
628
  my $filename = $installer->get_file_path_from_name('script_name');
628
  my $filename = $installer->get_file_path_from_name('script_name');
629
629
630
searches through the set of known SQL scripts and finds the fully
630
searches through the set of known SQL scripts and finds the fully
631
qualified path name for the script that mathches the input.
631
qualified path name for the script that matches the input.
632
632
633
returns undef if no match was found.
633
returns undef if no match was found.
634
634
(-)a/C4/Items.pm (-1 / +1 lines)
Lines 571-577 seen. It is ordered by callnumber then title. Link Here
571
571
572
The required minlocation & maxlocation parameters are used to specify a range of item callnumbers
572
The required minlocation & maxlocation parameters are used to specify a range of item callnumbers
573
the datelastseen can be used to specify that you want to see items not seen since a past date only.
573
the datelastseen can be used to specify that you want to see items not seen since a past date only.
574
offset & size can be used to retrieve only a part of the whole listing (defaut behaviour)
574
offset & size can be used to retrieve only a part of the whole listing (default behaviour)
575
$statushash requires a hashref that has the authorized values fieldname (intems.notforloan, etc...) as keys, and an arrayref of statuscodes we are searching for as values.
575
$statushash requires a hashref that has the authorized values fieldname (intems.notforloan, etc...) as keys, and an arrayref of statuscodes we are searching for as values.
576
576
577
$iTotalRecords is the number of rows that would have been returned without the $offset, $size limit clause
577
$iTotalRecords is the number of rows that would have been returned without the $offset, $size limit clause
(-)a/C4/Labels/Label.pm (-2 / +2 lines)
Lines 632-638 This module provides methods for creating, and otherwise manipulating single lab Link Here
632
=head2 new()
632
=head2 new()
633
633
634
    Invoking the I<new> method constructs a new label object containing the supplied values. Depending on the final output format of the label data
634
    Invoking the I<new> method constructs a new label object containing the supplied values. Depending on the final output format of the label data
635
    the minimal required parameters change. (See the implimentation of this object type in labels/label-create-pdf.pl and labels/label-create-csv.pl
635
    the minimal required parameters change. (See the implementation of this object type in labels/label-create-pdf.pl and labels/label-create-csv.pl
636
    and labels/label-create-xml.pl for examples.) The following parameters are optionally accepted as key => value pairs:
636
    and labels/label-create-xml.pl for examples.) The following parameters are optionally accepted as key => value pairs:
637
637
638
        C<batch_id>             Batch id with which this label is associated
638
        C<batch_id>             Batch id with which this label is associated
Lines 765-771 R = Right Link Here
765
765
766
=head2 create_label()
766
=head2 create_label()
767
767
768
    Invoking the I<create_label> method generates the text for that label and returns it as an arrayref of an array contianing the formatted text as well as creating the barcode
768
    Invoking the I<create_label> method generates the text for that label and returns it as an arrayref of an array containing the formatted text as well as creating the barcode
769
    and writing it directly to the pdf stream. The handling of the barcode is not quite good OO form due to the linear format of PDF::Reuse::Barcode. Be aware that the instantiating
769
    and writing it directly to the pdf stream. The handling of the barcode is not quite good OO form due to the linear format of PDF::Reuse::Barcode. Be aware that the instantiating
770
    code is responsible to properly format the text for insertion into the pdf stream as well as the actual insertion.
770
    code is responsible to properly format the text for insertion into the pdf stream as well as the actual insertion.
771
771
(-)a/C4/Languages.pm (-4 / +4 lines)
Lines 423-434 sub _build_languages_arrayref { Link Here
423
    my @ordered_keys = sort {
423
    my @ordered_keys = sort {
424
        my $aa     = '';
424
        my $aa     = '';
425
        my $bb     = '';
425
        my $bb     = '';
426
        my $acount = @{ $language_groups->{$a} };
426
        my $account = @{ $language_groups->{$a} };
427
        my $bcount = @{ $language_groups->{$b} };
427
        my $bcount = @{ $language_groups->{$b} };
428
        if ( $language_groups->{$a}->[0]->{enabled} ) {
428
        if ( $language_groups->{$a}->[0]->{enabled} ) {
429
            $aa = $language_groups->{$a}->[0]->{rfc4646_subtag};
429
            $aa = $language_groups->{$a}->[0]->{rfc4646_subtag};
430
        } elsif ( $acount > 1 ) {
430
        } elsif ( $account > 1 ) {
431
            for ( my $i = 1 ; $i < $acount ; $i++ ) {
431
            for ( my $i = 1 ; $i < $account ; $i++ ) {
432
                if ( $language_groups->{$a}->[$i]->{enabled} ) {
432
                if ( $language_groups->{$a}->[$i]->{enabled} ) {
433
                    $aa = $language_groups->{$a}->[$i]->{rfc4646_subtag};
433
                    $aa = $language_groups->{$a}->[$i]->{rfc4646_subtag};
434
                    last;
434
                    last;
Lines 604-610 sub accept_language { Link Here
604
    my @languages = ();
604
    my @languages = ();
605
    if ($clientPreferences) {
605
    if ($clientPreferences) {
606
606
607
        # There should be no whitespace anways, but a cleanliness/sanity check
607
        # There should be no whitespace anyway, but a cleanliness/sanity check
608
        $clientPreferences =~ s/\s//g;
608
        $clientPreferences =~ s/\s//g;
609
609
610
        # Prepare the list of client-acceptable languages
610
        # Prepare the list of client-acceptable languages
(-)a/C4/Letters.pm (-6 / +6 lines)
Lines 80-86 C4::Letters - Give functions for Letters management Link Here
80
80
81
=head1 DESCRIPTION
81
=head1 DESCRIPTION
82
82
83
  "Letters" is the tool used in Koha to manage informations sent to the patrons and/or the library. This include some cron jobs like
83
  "Letters" is the tool used in Koha to manage information sent to the patrons and/or the library. This include some cron jobs like
84
  late issues, as well as other tasks like sending a mail to users that have subscribed to a "serial issue alert" (= being warned every time a new issue has arrived at the library)
84
  late issues, as well as other tasks like sending a mail to users that have subscribed to a "serial issue alert" (= being warned every time a new issue has arrived at the library)
85
85
86
  Letters are managed through "alerts" sent by Koha on some events. All "alert" related functions are in this module too.
86
  Letters are managed through "alerts" sent by Koha on some events. All "alert" related functions are in this module too.
Lines 88-94 C4::Letters - Give functions for Letters management Link Here
88
=head2 GetLetters([$module])
88
=head2 GetLetters([$module])
89
89
90
  $letters = &GetLetters($module);
90
  $letters = &GetLetters($module);
91
  returns informations about letters.
91
  returns information about letters.
92
  if needed, $module filters for letters given module
92
  if needed, $module filters for letters given module
93
93
94
  DEPRECATED - You must use Koha::Notice::Templates instead
94
  DEPRECATED - You must use Koha::Notice::Templates instead
Lines 236-242 sub GetLettersAvailableForALibrary { Link Here
236
    );
236
    );
237
237
238
    Delete the letter. The mtt parameter is facultative.
238
    Delete the letter. The mtt parameter is facultative.
239
    If not given, all templates mathing the other parameters will be removed.
239
    If not given, all templates matching the other parameters will be removed.
240
240
241
=cut
241
=cut
242
242
Lines 1597-1603 sub _send_message_by_email { Link Here
1597
    }
1597
    }
1598
1598
1599
    # if initial message address was empty, coming here means that a to address was found and
1599
    # if initial message address was empty, coming here means that a to address was found and
1600
    # queue should be updated; same if to address was overriden by Koha::Email->create
1600
    # queue should be updated; same if to address was overridden by Koha::Email->create
1601
    _update_message_to_address( $message->{'message_id'}, $email->email->header('To') )
1601
    _update_message_to_address( $message->{'message_id'}, $email->email->header('To') )
1602
        if !$message->{to_address}
1602
        if !$message->{to_address}
1603
        || $message->{to_address} ne $email->email->header('To');
1603
        || $message->{to_address} ne $email->email->header('To');
Lines 1975-1981 sub _get_tt_params { Link Here
1975
        },
1975
        },
1976
        problem_reports => {
1976
        problem_reports => {
1977
            module   => 'Koha::ProblemReports',
1977
            module   => 'Koha::ProblemReports',
1978
            singluar => 'problemreport',
1978
            singular => 'problemreport',
1979
            plural   => 'problemreports',
1979
            plural   => 'problemreports',
1980
            pk       => 'reportid'
1980
            pk       => 'reportid'
1981
        },
1981
        },
Lines 2040-2046 sub _get_tt_params { Link Here
2040
                my $object;
2040
                my $object;
2041
                if ( @{ $tables->{$table} } == 1 ) {    # Param is a single key
2041
                if ( @{ $tables->{$table} } == 1 ) {    # Param is a single key
2042
                    $object = $module->search( { $pk => $tables->{$table} } )->last();
2042
                    $object = $module->search( { $pk => $tables->{$table} } )->last();
2043
                } else {                                # Params are mutliple foreign keys
2043
                } else {                                # Params are multiple foreign keys
2044
                    croak "Multiple foreign keys (table $table) should be passed using an hashref";
2044
                    croak "Multiple foreign keys (table $table) should be passed using an hashref";
2045
                }
2045
                }
2046
                $params->{ $config->{$table}->{singular} } = $object;
2046
                $params->{ $config->{$table}->{singular} } = $object;
(-)a/C4/Log.pm (-1 / +1 lines)
Lines 181-187 sub logaction { Link Here
181
  &cronlogaction($infos);
181
  &cronlogaction($infos);
182
182
183
Convenience routine to add a record into action_logs table from a cron job.
183
Convenience routine to add a record into action_logs table from a cron job.
184
Logs the path and name of the calling script plus the information privided by param $infos.
184
Logs the path and name of the calling script plus the information provided by param $infos.
185
185
186
=cut
186
=cut
187
187
(-)a/C4/Matcher.pm (-3 / +3 lines)
Lines 487-493 parameter identifies the index that will be searched, while $score Link Here
487
is the weight that will be added if a match is found.
487
is the weight that will be added if a match is found.
488
488
489
$matchcomponents should be a reference to an array of matchpoint
489
$matchcomponents should be a reference to an array of matchpoint
490
compoents, each of which should be a hash containing the following 
490
components, each of which should be a hash containing the following 
491
keys:
491
keys:
492
    tag
492
    tag
493
    subfields
493
    subfields
Lines 524-530 sub add_matchpoint { Link Here
524
524
525
525
526
Adds a simple matchpoint rule -- after composing a key based on the source tag and subfields,
526
Adds a simple matchpoint rule -- after composing a key based on the source tag and subfields,
527
normalized per the normalization fuction, search the index.  All records retrieved
527
normalized per the normalization function, search the index.  All records retrieved
528
will receive the assigned score.
528
will receive the assigned score.
529
529
530
=cut
530
=cut
Lines 865-871 sub _get_match_keys { Link Here
865
    # matchpoint includes both 003 and 001), any repeats
865
    # matchpoint includes both 003 and 001), any repeats
866
    # of the first component's tag are identified; repeats
866
    # of the first component's tag are identified; repeats
867
    # of the subsequent components' tags are appended to
867
    # of the subsequent components' tags are appended to
868
    # each parallel key dervied from the first component,
868
    # each parallel key derived from the first component,
869
    # up to the number of repeats of the first component's tag.
869
    # up to the number of repeats of the first component's tag.
870
    #
870
    #
871
    # For example, if the record has one 003 and two 001s, only
871
    # For example, if the record has one 003 and two 001s, only
(-)a/C4/Members/Messaging.pm (-1 / +1 lines)
Lines 43-49 This module lets you modify a patron's messaging preferences. Link Here
43
  my $preferences = C4::Members::Messaging::GetMessagingPreferences( { categorycode => 'LIBRARY',
43
  my $preferences = C4::Members::Messaging::GetMessagingPreferences( { categorycode => 'LIBRARY',
44
                                                                       message_name   => 'Item_Due ' } );
44
                                                                       message_name   => 'Item_Due ' } );
45
45
46
returns: a hashref of messaging preferences for a borrower or patron category for a particlar message_name
46
returns: a hashref of messaging preferences for a borrower or patron category for a particular message_name
47
47
48
Requires either a borrowernumber or a categorycode key, but not both.
48
Requires either a borrowernumber or a categorycode key, but not both.
49
49
(-)a/C4/Record.pm (-1 / +1 lines)
Lines 264-270 sub marc2dcxml { Link Here
264
    my ( $marcxml, $record, $output );
264
    my ( $marcxml, $record, $output );
265
265
266
    # set the default path for intranet xslts
266
    # set the default path for intranet xslts
267
    # differents xslts to process (OAIDC, SRWDC and RDFDC)
267
    # FIXME CODESPELL (differents ==> different, difference) xslts to process (OAIDC, SRWDC and RDFDC)
268
    my $xsl =
268
    my $xsl =
269
          C4::Context->config('intrahtdocs')
269
          C4::Context->config('intrahtdocs')
270
        . '/prog/en/xslt/'
270
        . '/prog/en/xslt/'
(-)a/C4/Reports/Guided.pm (-4 / +4 lines)
Lines 293-299 sub _build_query { Link Here
293
        my @definitions = split( ',', $definition );
293
        my @definitions = split( ',', $definition );
294
        my $deftext;
294
        my $deftext;
295
        foreach my $def (@definitions) {
295
        foreach my $def (@definitions) {
296
            my $defin = get_from_dictionary( '', $def );
296
            my $define = get_from_dictionary( '', $def );
297
            $deftext .= " " . $defin->[0]->{'saved_sql'};
297
            $deftext .= " " . $defin->[0]->{'saved_sql'};
298
        }
298
        }
299
        if ( $query =~ /WHERE/i ) {
299
        if ( $query =~ /WHERE/i ) {
Lines 333-339 sub get_criteria { Link Here
333
    my ( $area, $cgi ) = @_;
333
    my ( $area, $cgi ) = @_;
334
    my $dbh = C4::Context->dbh();
334
    my $dbh = C4::Context->dbh();
335
335
336
    # have to do someting here to know if its dropdown, free text, date etc
336
    # have to do something here to know if its dropdown, free text, date etc
337
    my %criteria = (
337
    my %criteria = (
338
        CIRC => [
338
        CIRC => [
339
            'statistics.type', 'borrowers.categorycode', 'statistics.branch',
339
            'statistics.type', 'borrowers.categorycode', 'statistics.branch',
Lines 859-865 sub get_column_type { Link Here
859
859
860
=head2 get_distinct_values($column)
860
=head2 get_distinct_values($column)
861
861
862
Given a column name, return an arrary ref of hashrefs suitable for use as a tmpl_loop 
862
Given a column name, return an array ref of hashrefs suitable for use as a tmpl_loop 
863
with the distinct values of the column
863
with the distinct values of the column
864
864
865
=cut
865
=cut
Lines 954-960 sub get_results { Link Here
954
954
955
    my %reserved_authorised_values = GetReservedAuthorisedValues();
955
    my %reserved_authorised_values = GetReservedAuthorisedValues();
956
956
957
Returns a hash containig all reserved words
957
Returns a hash containing all reserved words
958
958
959
=cut
959
=cut
960
960
(-)a/C4/Reserves.pm (-9 / +9 lines)
Lines 59-70 C4::Reserves - Koha functions for dealing with reservation. Link Here
59
59
60
=head1 DESCRIPTION
60
=head1 DESCRIPTION
61
61
62
This modules provides somes functions to deal with reservations.
62
This modules provides FIXME CODESPELL (somes ==> some, sums) functions to deal with reservations.
63
63
64
  Reserves are stored in reserves table.
64
  Reserves are stored in reserves table.
65
  The following columns contains important values :
65
  The following columns contains important values :
66
  - priority >0      : then the reserve is at 1st stage, and not yet affected to any item.
66
  - priority >0      : then the reserve is at 1st stage, and not yet affected to any item.
67
             =0      : then the reserve is being dealed
67
             =0      : then the reserve is being dealt
68
  - found : NULL         : means the patron requested the 1st available, and we haven't chosen the item
68
  - found : NULL         : means the patron requested the 1st available, and we haven't chosen the item
69
            T(ransit)    : the reserve is linked to an item but is in transit to the pickup branch
69
            T(ransit)    : the reserve is linked to an item but is in transit to the pickup branch
70
            W(aiting)    : the reserve is linked to an item, is at the pickup branch, and is waiting on the hold shelf
70
            W(aiting)    : the reserve is linked to an item, is at the pickup branch, and is waiting on the hold shelf
Lines 162-168 BEGIN { Link Here
162
162
163
Adds reserve and generates HOLDPLACED message and HOLDPLACED_PATRON message.
163
Adds reserve and generates HOLDPLACED message and HOLDPLACED_PATRON message.
164
164
165
The following tables are available witin the HOLDPLACED message:
165
The following tables are available within the HOLDPLACED message:
166
166
167
    branches
167
    branches
168
    borrowers
168
    borrowers
Lines 230-236 sub AddReserve { Link Here
230
230
231
    my $waitingdate;
231
    my $waitingdate;
232
232
233
    # If the reserv had the waiting status, we had the value of the resdate
233
    # If the reserve had the waiting status, we had the value of the resdate
234
    if ( $found && $found eq 'W' ) {
234
    if ( $found && $found eq 'W' ) {
235
        $waitingdate = $resdate;
235
        $waitingdate = $resdate;
236
    }
236
    }
Lines 891-899 sub CheckReserves { Link Here
891
            if ( $res->{'found'} && $res->{'found'} eq 'W' ) {
891
            if ( $res->{'found'} && $res->{'found'} eq 'W' ) {
892
                return ( "Waiting", $res, \@reserves );    # Found it, it is waiting
892
                return ( "Waiting", $res, \@reserves );    # Found it, it is waiting
893
            } elsif ( $res->{'found'} && $res->{'found'} eq 'P' ) {
893
            } elsif ( $res->{'found'} && $res->{'found'} eq 'P' ) {
894
                return ( "Processing", $res, \@reserves );    # Found determinated hold, e. g. the transferred one
894
                return ( "Processing", $res, \@reserves );    # Found determined hold, e. g. the transferred one
895
            } elsif ( $res->{'found'} && $res->{'found'} eq 'T' ) {
895
            } elsif ( $res->{'found'} && $res->{'found'} eq 'T' ) {
896
                return ( "Transferred", $res, \@reserves );    # Found determinated hold, e. g. the transferred one
896
                return ( "Transferred", $res, \@reserves );    # Found determined hold, e. g. the transferred one
897
            } else {
897
            } else {
898
                my $patron;
898
                my $patron;
899
                my $local_hold_match;
899
                my $local_hold_match;
Lines 1308-1314 Reduce the values of queued list Link Here
1308
sub ModReserveMinusPriority {
1308
sub ModReserveMinusPriority {
1309
    my ( $itemnumber, $reserve_id ) = @_;
1309
    my ( $itemnumber, $reserve_id ) = @_;
1310
1310
1311
    #first step update the value of the first person on reserv
1311
    #first step update the value of the first person on reserve
1312
    my $dbh   = C4::Context->dbh;
1312
    my $dbh   = C4::Context->dbh;
1313
    my $query = "
1313
    my $query = "
1314
        UPDATE reserves
1314
        UPDATE reserves
Lines 1627-1633 sub _FixPriority { Link Here
1627
    }
1627
    }
1628
    my @priority;
1628
    my @priority;
1629
1629
1630
    # get whats left
1630
    # get what's left
1631
    my $query = "
1631
    my $query = "
1632
        SELECT reserve_id, borrowernumber, reservedate
1632
        SELECT reserve_id, borrowernumber, reservedate
1633
        FROM   reserves
1633
        FROM   reserves
Lines 1802-1808 The letter code for this notice may be found using the following query: Link Here
1802
This will probably sipmly be 'HOLD', but because it is defined in the database,
1802
This will probably sipmly be 'HOLD', but because it is defined in the database,
1803
it is subject to addition or change.
1803
it is subject to addition or change.
1804
1804
1805
The following tables are availalbe witin the notice:
1805
The following tables are available within the notice:
1806
1806
1807
    branches
1807
    branches
1808
    borrowers
1808
    borrowers
(-)a/C4/RotatingCollections.pm (-1 / +1 lines)
Lines 2-8 package C4::RotatingCollections; Link Here
2
2
3
# $Id: RotatingCollections.pm,v 0.1 2007/04/20 kylemhall
3
# $Id: RotatingCollections.pm,v 0.1 2007/04/20 kylemhall
4
4
5
# This package is inteded to keep track of what library
5
# This package is intended to keep track of what library
6
# Items of a certain collection should be at.
6
# Items of a certain collection should be at.
7
7
8
# Copyright 2007 Kyle Hall
8
# Copyright 2007 Kyle Hall
(-)a/C4/SIP/ILS.pm (-1 / +1 lines)
Lines 131-137 sub offline_ok { Link Here
131
# Checkout(patron_id, item_id, sc_renew):
131
# Checkout(patron_id, item_id, sc_renew):
132
#    patron_id & item_id are the identifiers send by the terminal
132
#    patron_id & item_id are the identifiers send by the terminal
133
#    sc_renew is the renewal policy configured on the terminal
133
#    sc_renew is the renewal policy configured on the terminal
134
# returns a status opject that can be queried for the various bits
134
# returns a status object that can be queried for the various bits
135
# of information that the protocol (SIP or NCIP) needs to generate
135
# of information that the protocol (SIP or NCIP) needs to generate
136
# the response.
136
# the response.
137
#
137
#
(-)a/C4/SIP/SIPServer.pm (-6 / +6 lines)
Lines 51-63 my %transports = ( Link Here
51
# Read configuration
51
# Read configuration
52
#
52
#
53
my $config = C4::SIP::Sip::Configuration->new( $ARGV[0] );
53
my $config = C4::SIP::Sip::Configuration->new( $ARGV[0] );
54
my @parms;
54
my @FIXME CODESPELL (parms ==> params, prams);
55
55
56
#
56
#
57
# Ports to bind
57
# Ports to bind
58
#
58
#
59
foreach my $svc ( keys %{ $config->{listeners} } ) {
59
foreach my $svc ( keys %{ $config->{listeners} } ) {
60
    push @parms, "port=" . $svc;
60
    push @FIXME CODESPELL (parms ==> params, prams), "port=" . $svc;
61
}
61
}
62
62
63
#
63
#
Lines 77-93 foreach my $svc ( keys %{ $config->{listeners} } ) { Link Here
77
#
77
#
78
if ( defined( $config->{'server-params'} ) ) {
78
if ( defined( $config->{'server-params'} ) ) {
79
    while ( my ( $key, $val ) = each %{ $config->{'server-params'} } ) {
79
    while ( my ( $key, $val ) = each %{ $config->{'server-params'} } ) {
80
        push @parms, $key . '=' . $val;
80
        push @FIXME CODESPELL (parms ==> params, prams), $key . '=' . $val;
81
    }
81
    }
82
}
82
}
83
83
84
# Add user and group to prevent warn from Net::Server.
84
# Add user and group to prevent warn from Net::Server.
85
push @parms, 'user=' . $>;
85
push @FIXME CODESPELL (parms ==> params, prams), 'user=' . $>;
86
push @parms, 'group=' . $>;
86
push @FIXME CODESPELL (parms ==> params, prams), 'group=' . $>;
87
87
88
#
88
#
89
# This is the main event.
89
# This is the main event.
90
__PACKAGE__->run(@parms);
90
__PACKAGE__->run(@FIXME CODESPELL (parms ==> params, prams));
91
91
92
#
92
#
93
# Server
93
# Server
(-)a/C4/SMS.pm (-1 / +1 lines)
Lines 64-70 use File::Spec; Link Here
64
64
65
=cut
65
=cut
66
66
67
# The previous implmentation used username and password.
67
# The previous implementation used username and password.
68
# our $user = C4::Context->config('smsuser');
68
# our $user = C4::Context->config('smsuser');
69
# our $pwd  = C4::Context->config('smspass');
69
# our $pwd  = C4::Context->config('smspass');
70
70
(-)a/C4/Scheduler.pm (-1 / +1 lines)
Lines 108-114 sub add_at_job { Link Here
108
    #    not check all error conditions - in particular, it does
108
    #    not check all error conditions - in particular, it does
109
    #    not check the return value of the "at" run; it basically
109
    #    not check the return value of the "at" run; it basically
110
    #    complains only if it can't find at.
110
    #    complains only if it can't find at.
111
    # 3. Similary, Schedule::At::add() does not do something more useful,
111
    # 3. Similarly, Schedule::At::add() does not do something more useful,
112
    #    such as returning the job ID.  To be fair, it is possible
112
    #    such as returning the job ID.  To be fair, it is possible
113
    #    that 'at' does not allow this in any portable way.
113
    #    that 'at' does not allow this in any portable way.
114
    # 4. Although unlikely, it is possible that a job could be added
114
    # 4. Although unlikely, it is possible that a job could be added
(-)a/C4/Search.pm (-2 / +2 lines)
Lines 191-197 for my $r ( @{$marcresults} ) { Link Here
191
    my $marcrecord = MARC::File::USMARC::decode($r);
191
    my $marcrecord = MARC::File::USMARC::decode($r);
192
    my $biblio = TransformMarcToKoha({ record => $marcrecord });
192
    my $biblio = TransformMarcToKoha({ record => $marcrecord });
193
193
194
    #build the iarray of hashs for the template.
194
    #build the iarray of hashes for the template.
195
    push @results, {
195
    push @results, {
196
        title           => $biblio->{'title'},
196
        title           => $biblio->{'title'},
197
        subtitle        => $biblio->{'subtitle'},
197
        subtitle        => $biblio->{'subtitle'},
Lines 307-313 sub getRecords { Link Here
307
    my @results;
307
    my @results;
308
    my $results_hashref = ();
308
    my $results_hashref = ();
309
309
310
    # TODO simplify this structure ( { branchcode => $branchname } is enought) and remove this parameter
310
    # TODO simplify this structure ( { branchcode => $branchname } is enough) and remove this parameter
311
    $branches ||= { map { $_->branchcode => { branchname => $_->branchname } } Koha::Libraries->search->as_list };
311
    $branches ||= { map { $_->branchcode => { branchname => $_->branchname } } Koha::Libraries->search->as_list };
312
312
313
    # Initialize variables for the faceted results objects
313
    # Initialize variables for the faceted results objects
(-)a/C4/Serials.pm (-3 / +3 lines)
Lines 1719-1725 sub NewIssue { Link Here
1719
1719
1720
1 or 0 = HasSubscriptionStrictlyExpired($subscriptionid)
1720
1 or 0 = HasSubscriptionStrictlyExpired($subscriptionid)
1721
1721
1722
the subscription has stricly expired when today > the end subscription date 
1722
the subscription has strictly expired when today > the end subscription date 
1723
1723
1724
return :
1724
return :
1725
1 if true, 0 if false, -1 if the expiration date is not set.
1725
1 if true, 0 if false, -1 if the expiration date is not set.
Lines 1744-1750 sub HasSubscriptionStrictlyExpired { Link Here
1744
        # Getting today's date
1744
        # Getting today's date
1745
        my ( $nowyear, $nowmonth, $nowday ) = Today();
1745
        my ( $nowyear, $nowmonth, $nowday ) = Today();
1746
1746
1747
        # if today's date > expiration date, then the subscription has stricly expired
1747
        # if today's date > expiration date, then the subscription has strictly expired
1748
        if ( Delta_Days( $nowyear, $nowmonth, $nowday, $endyear, $endmonth, $endday ) < 0 ) {
1748
        if ( Delta_Days( $nowyear, $nowmonth, $nowday, $endyear, $endmonth, $endday ) < 0 ) {
1749
            return 1;
1749
            return 1;
1750
        } else {
1750
        } else {
Lines 2486-2492 this function it takes the publisheddate and will return the next issue's date Link Here
2486
and will skip dates if there exists an irregularity.
2486
and will skip dates if there exists an irregularity.
2487
$publisheddate has to be an ISO date
2487
$publisheddate has to be an ISO date
2488
$subscription is a hashref containing at least 'firstacquidate', 'irregularity', and 'countissuesperunit'
2488
$subscription is a hashref containing at least 'firstacquidate', 'irregularity', and 'countissuesperunit'
2489
$frequency is a hashref containing frequency informations
2489
$frequency is a hashref containing frequency information
2490
$updatecount is a boolean value which, when set to true, update the 'countissuesperunit' in database
2490
$updatecount is a boolean value which, when set to true, update the 'countissuesperunit' in database
2491
- eg if periodicity is monthly and $publisheddate is 2007-02-10 but if March and April is to be
2491
- eg if periodicity is monthly and $publisheddate is 2007-02-10 but if March and April is to be
2492
skipped then the returned date will be 2007-05-10
2492
skipped then the returned date will be 2007-05-10
(-)a/C4/SocialData.pm (-2 / +2 lines)
Lines 23-29 use C4::Koha qw( GetNormalizedISBN ); Link Here
23
23
24
=head1 NAME
24
=head1 NAME
25
25
26
C4::SocialData - Koha functions for dealing with social datas
26
C4::SocialData - Koha functions for dealing with social data
27
For now used by babeltheque, a french company providing, for books, comments, upload of videos, scoring (star)...
27
For now used by babeltheque, a french company providing, for books, comments, upload of videos, scoring (star)...
28
the social_data table could be used and improved by other provides.
28
the social_data table could be used and improved by other provides.
29
29
Lines 33-39 use C4::SocialData; Link Here
33
33
34
=head1 DESCRIPTION
34
=head1 DESCRIPTION
35
35
36
The functions in this module deal with social datas
36
The functions in this module deal with social data
37
37
38
=head1 FUNCTIONS
38
=head1 FUNCTIONS
39
39
(-)a/C4/Suggestions.pm (-4 / +4 lines)
Lines 122-131 sub GetSuggestionFromBiblionumber { Link Here
122
122
123
=head2 GetSuggestionInfoFromBiblionumber
123
=head2 GetSuggestionInfoFromBiblionumber
124
124
125
Get a suggestion and borrower's informations from it's biblionumber.
125
Get a suggestion and borrower's information from it's biblionumber.
126
126
127
return :
127
return :
128
all informations (suggestion and borrower) of the suggestion which is related to the biblionumber given.
128
all information (suggestion and borrower) of the suggestion which is related to the biblionumber given.
129
129
130
=cut
130
=cut
131
131
Lines 149-158 sub GetSuggestionInfoFromBiblionumber { Link Here
149
149
150
=head2 GetSuggestionInfo
150
=head2 GetSuggestionInfo
151
151
152
Get a suggestion and borrower's informations from it's suggestionid
152
Get a suggestion and borrower's information from it's suggestionid
153
153
154
return :
154
return :
155
all informations (suggestion and borrower) of the suggestion which is related to the suggestionid given.
155
all information (suggestion and borrower) of the suggestion which is related to the suggestionid given.
156
156
157
=cut
157
=cut
158
158
(-)a/C4/TTParser.pm (-1 / +1 lines)
Lines 15-21 Link Here
15
# You should have received a copy of the GNU General Public License
15
# You should have received a copy of the GNU General Public License
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
16
# along with Koha; if not, see <http://www.gnu.org/licenses>.
17
17
18
#simple parser for HTML with Template Toolkit directives. Tokens are put into @tokens and are accesible via next_token and peep_token
18
#simple parser for HTML with Template Toolkit directives. Tokens are put into @tokens and are accessible via next_token and peep_token
19
package C4::TTParser;
19
package C4::TTParser;
20
use base qw(HTML::Parser);
20
use base qw(HTML::Parser);
21
use C4::TmplToken;
21
use C4::TmplToken;
(-)a/C4/UsageStats.pm (-3 / +3 lines)
Lines 32-39 C4::UsageStats Link Here
32
=head1 DESCRIPTION
32
=head1 DESCRIPTION
33
33
34
This package contains what is needed to report Koha statistics to hea
34
This package contains what is needed to report Koha statistics to hea
35
hea.koha-community.org is the server that centralize Koha setups informations
35
hea.koha-community.org is the server that centralize Koha setups information
36
Koha libraries are encouraged to provide informations about their collections,
36
Koha libraries are encouraged to provide information about their collections,
37
their structure,...
37
their structure,...
38
38
39
=cut
39
=cut
Lines 79-85 sub BuildReport { Link Here
79
79
80
  ReportToCommunity;
80
  ReportToCommunity;
81
81
82
Send to hea.koha-community.org database informations
82
Send to hea.koha-community.org database information
83
83
84
=cut
84
=cut
85
85
(-)a/Koha/Biblio.pm (-5 / +5 lines)
Lines 520-526 sub pickup_locations { Link Here
520
520
521
    my $bool = $biblio->hidden_in_opac({ [ rules => $rules ] })
521
    my $bool = $biblio->hidden_in_opac({ [ rules => $rules ] })
522
522
523
Returns true if the biblio matches the hidding criteria defined in $rules.
523
Returns true if the biblio matches the FIXME CODESPELL (hidding ==> hiding, hidden) criteria defined in $rules.
524
Returns false otherwise. It involves the I<OpacHiddenItems> and
524
Returns false otherwise. It involves the I<OpacHiddenItems> and
525
I<OpacHiddenItemsHidesRecord> system preferences.
525
I<OpacHiddenItemsHidesRecord> system preferences.
526
526
Lines 1189-1195 sub get_coins { Link Here
1189
1189
1190
    if ( C4::Context->preference("marcflavour") eq "UNIMARC" ) {
1190
    if ( C4::Context->preference("marcflavour") eq "UNIMARC" ) {
1191
1191
1192
        # Setting datas
1192
        # Setting data
1193
        $aulast  = $record->subfield( '700', 'a' ) || '';
1193
        $aulast  = $record->subfield( '700', 'a' ) || '';
1194
        $aufirst = $record->subfield( '700', 'b' ) || '';
1194
        $aufirst = $record->subfield( '700', 'b' ) || '';
1195
        push @authors, "$aufirst $aulast" if ( $aufirst or $aulast );
1195
        push @authors, "$aufirst $aulast" if ( $aufirst or $aulast );
Lines 1213-1219 sub get_coins { Link Here
1213
1213
1214
        # MARC21 need some improve
1214
        # MARC21 need some improve
1215
1215
1216
        # Setting datas
1216
        # Setting data
1217
        if ( $record->field('100') ) {
1217
        if ( $record->field('100') ) {
1218
            push @authors, $record->subfield( '100', 'a' );
1218
            push @authors, $record->subfield( '100', 'a' );
1219
        }
1219
        }
Lines 1261-1267 sub get_coins { Link Here
1261
        [ 'rft.issn', $issn ],
1261
        [ 'rft.issn', $issn ],
1262
    );
1262
    );
1263
1263
1264
    # If it's a subscription, these informations have no meaning.
1264
    # If it's a subscription, these information have no meaning.
1265
    if ( $genre ne 'journal' ) {
1265
    if ( $genre ne 'journal' ) {
1266
        push @params, (
1266
        push @params, (
1267
            [ 'rft.aulast',  $aulast ],
1267
            [ 'rft.aulast',  $aulast ],
Lines 1332-1338 sub is_serial { Link Here
1332
my $image_url = $biblio->custom_cover_image_url
1332
my $image_url = $biblio->custom_cover_image_url
1333
1333
1334
Return the specific url of the cover image for this bibliographic record.
1334
Return the specific url of the cover image for this bibliographic record.
1335
It is built regaring the value of the system preference CustomCoverImagesURL
1335
It is built regarding the value of the system preference CustomCoverImagesURL
1336
1336
1337
=cut
1337
=cut
1338
1338
(-)a/Koha/Cash/Register/Cashup.pm (-1 / +1 lines)
Lines 189-195 sub summary { Link Here
189
189
190
=head3 to_api_mapping
190
=head3 to_api_mapping
191
191
192
This method returns the mapping for representing a Koha::Cash::Regiser::Cashup object
192
This method returns the mapping for representing a Koha::Cash::Register::Cashup object
193
on the API.
193
on the API.
194
194
195
=cut
195
=cut
(-)a/Koha/ClassSplitRule.pm (-1 / +1 lines)
Lines 25-31 use base qw(Koha::Object); Link Here
25
25
26
=head1 NAME
26
=head1 NAME
27
27
28
Koha::ClassSplitRule Koha Classfication Spliting Rule Object class
28
Koha::ClassSplitRule Koha Classfication Splitting Rule Object class
29
29
30
=head1 API
30
=head1 API
31
31
(-)a/Koha/Club/Template/EnrollmentFields.pm (-1 / +1 lines)
Lines 29-35 use base qw(Koha::Objects); Link Here
29
29
30
Koha::Club::Template::EnrollemntFields
30
Koha::Club::Template::EnrollemntFields
31
31
32
Represents a colleciton of club fields that are only set at the time a patron is enrolled
32
Represents a collection of club fields that are only set at the time a patron is enrolled
33
33
34
=head1 API
34
=head1 API
35
35
(-)a/Koha/EDI.pm (-13 / +13 lines)
Lines 767-779 sub quote_item { Link Here
767
        if ( $gir_count != $order_quantity ) {
767
        if ( $gir_count != $order_quantity ) {
768
            $quote_message->add_to_edifact_errors(
768
            $quote_message->add_to_edifact_errors(
769
                {
769
                {
770
                    section => join( '\n', @{ $item->{GIR} } ),
770
                    section => join( '\n', @{ $item->{GIT} } ),
771
                    details => "Order for $order_quantity items, $gir_count segments present"
771
                    details => "Order for $order_quantity items, $gir_count segments present"
772
                }
772
                }
773
            );
773
            );
774
            $logger->error("Order for $order_quantity items, $gir_count segments present");
774
            $logger->error("Order for $order_quantity items, $gir_count segments present");
775
        }
775
        }
776
        $order_quantity = 1;    # attempts to create an orderline for each gir
776
        $order_quantity = 1;    # attempts to create an orderline for each git
777
    }
777
    }
778
    my $price = $item->price_info;
778
    my $price = $item->price_info;
779
779
Lines 851-858 sub quote_item { Link Here
851
        if ( $item->quantity > 1 ) {
851
        if ( $item->quantity > 1 ) {
852
            $quote_message->add_to_edifact_errors(
852
            $quote_message->add_to_edifact_errors(
853
                {
853
                {
854
                    section => join( '\n', @{ $item->{GIR} } ),
854
                    section => join( '\n', @{ $item->{GIT} } ),
855
                    details => "Skipped GIR line with invalid budget: " . $item->girfield('fund_allocation')
855
                    details => "Skipped GIT line with invalid budget: " . $item->girfield('fund_allocation')
856
                }
856
                }
857
            );
857
            );
858
            $logger->trace( 'Skipping item with invalid budget: ' . $item->girfield('fund_allocation') );
858
            $logger->trace( 'Skipping item with invalid budget: ' . $item->girfield('fund_allocation') );
Lines 919-925 sub quote_item { Link Here
919
                    } else {
919
                    } else {
920
                        $quote_message->add_to_edifact_errors(
920
                        $quote_message->add_to_edifact_errors(
921
                            {
921
                            {
922
                                section => "$item->{GIR}->[0]",
922
                                section => "$item->{GIT}->[0]",
923
                                details => "No rota found for passed LRP:$lrp in orderline"
923
                                details => "No rota found for passed LRP:$lrp in orderline"
924
                            }
924
                            }
925
                        );
925
                        );
Lines 944-950 sub quote_item { Link Here
944
                my $bad_budget = $item->girfield( 'fund_allocation', $occurrence );
944
                my $bad_budget = $item->girfield( 'fund_allocation', $occurrence );
945
                $quote_message->add_to_edifact_errors(
945
                $quote_message->add_to_edifact_errors(
946
                    {
946
                    {
947
                        section => "$item->{GIR}->[$occurrence]",
947
                        section => "$item->{GIT}->[$occurrence]",
948
                        details => "Invalid budget $bad_budget found"
948
                        details => "Invalid budget $bad_budget found"
949
                    }
949
                    }
950
                );
950
                );
Lines 957-963 sub quote_item { Link Here
957
            if ( !exists $budgets{ $budget->budget_id } ) {
957
            if ( !exists $budgets{ $budget->budget_id } ) {
958
958
959
                # $order_hash->{quantity} = 1; by default above
959
                # $order_hash->{quantity} = 1; by default above
960
                # we should handle both 1:1 GIR & 1:n GIR (with LQT values) here
960
                # we should handle both 1:1 GIT & 1:n GIT (with LQT values) here
961
961
962
                $order_hash->{budget_id} = $budget->budget_id;
962
                $order_hash->{budget_id} = $budget->budget_id;
963
963
Lines 1031-1037 sub quote_item { Link Here
1031
                        } else {
1031
                        } else {
1032
                            $quote_message->add_to_edifact_errors(
1032
                            $quote_message->add_to_edifact_errors(
1033
                                {
1033
                                {
1034
                                    section => "$item->{GIR}->[$occurrence]",
1034
                                    section => "$item->{GIT}->[$occurrence]",
1035
                                    details => "No rota found for passed LRP:$lrp in orderline"
1035
                                    details => "No rota found for passed LRP:$lrp in orderline"
1036
                                }
1036
                                }
1037
                            );
1037
                            );
Lines 1098-1104 sub quote_item { Link Here
1098
                        } else {
1098
                        } else {
1099
                            $quote_message->add_to_edifact_errors(
1099
                            $quote_message->add_to_edifact_errors(
1100
                                {
1100
                                {
1101
                                    section => "$item->{GIR}->[$occurrence]",
1101
                                    section => "$item->{GIT}->[$occurrence]",
1102
                                    details => "No rota found for passed LRP:$lrp in orderline"
1102
                                    details => "No rota found for passed LRP:$lrp in orderline"
1103
                                }
1103
                                }
1104
                            );
1104
                            );
Lines 1197-1203 sub _get_budget { Link Here
1197
        }
1197
        }
1198
    );
1198
    );
1199
1199
1200
    # db does not ensure budget code is unque
1200
    # db does not ensure budget code is unique
1201
    return $schema->resultset('Aqbudget')->single(
1201
    return $schema->resultset('Aqbudget')->single(
1202
        {
1202
        {
1203
            budget_code      => $budget_code,
1203
            budget_code      => $budget_code,
Lines 1340-1346 Koha::EDI Link Here
1340
1340
1341
    passed a message object for an invoice, add the contained invoices
1341
    passed a message object for an invoice, add the contained invoices
1342
    and update the orderlines referred to in the invoice
1342
    and update the orderlines referred to in the invoice
1343
    As an Edifact invoice is in effect a despatch note this receipts the
1343
    As an Edifact invoice is in effect a dispatch note this receipts the
1344
    appropriate quantities in the orders
1344
    appropriate quantities in the orders
1345
1345
1346
    no meaningful return value
1346
    no meaningful return value
Lines 1409-1419 Koha::EDI Link Here
1409
1409
1410
      classmark = title_level_class(edi_item)
1410
      classmark = title_level_class(edi_item)
1411
1411
1412
      Trys to return a title level classmark from a quote message line
1412
      Tries to return a title level classmark from a quote message line
1413
      Will return a dewey or lcc classmark if one exists according to the
1413
      Will return a dewey or lcc classmark if one exists according to the
1414
      value in DefaultClassificationSource syspref
1414
      value in DefaultClassificationSource syspref
1415
1415
1416
      If unable to returns the shelfmark or classification from the GIR segment
1416
      If unable to returns the shelfmark or classification from the GIT segment
1417
1417
1418
      If all else fails returns empty string
1418
      If all else fails returns empty string
1419
1419
(-)a/Koha/Edifact.pm (-1 / +1 lines)
Lines 280-286 Edifact - Edifact message handler Link Here
280
280
281
=head2 get_transmission
281
=head2 get_transmission
282
282
283
     This method is useful in debugg:ing. Call on an Edifact object
283
     This method is useful in debug:ing. Call on an Edifact object
284
     it returns the object's transmission member
284
     it returns the object's transmission member
285
285
286
=head2 message_type
286
=head2 message_type
(-)a/Koha/Edifact/Line.pm (-17 / +17 lines)
Lines 72-97 sub _parse_lines { Link Here
72
            }
72
            }
73
        } elsif ( $s->tag eq 'GIR' ) {
73
        } elsif ( $s->tag eq 'GIR' ) {
74
74
75
            # we may get a Gir for each copy if QTY > 1
75
            # we may get a Git for each copy if QTY > 1
76
            if ( !$d->{GIR} ) {
76
            if ( !$d->{GIT} ) {
77
                $d->{GIR} = [];
77
                $d->{GIT} = [];
78
                push @{ $d->{GIR} }, extract_gir($s);
78
                push @{ $d->{GIT} }, extract_gir($s);
79
            } else {
79
            } else {
80
                my $gir = extract_gir($s);
80
                my $git = extract_git($s);
81
                if ( $gir->{copy} ) {    # may have to merge
81
                if ( $gir->{copy} ) {    # may have to merge
82
                    foreach my $g ( @{ $d->{GIR} } ) {
82
                    foreach my $g ( @{ $d->{GIT} } ) {
83
                        if ( $gir->{copy} eq $g->{copy} ) {
83
                        if ( $gir->{copy} eq $g->{copy} ) {
84
                            foreach my $field ( keys %{$gir} ) {
84
                            foreach my $field ( keys %{$git} ) {
85
                                if ( !exists $g->{$field} ) {
85
                                if ( !exists $g->{$field} ) {
86
                                    $g->{$field} = $gir->{$field};
86
                                    $g->{$field} = $gir->{$field};
87
                                }
87
                                }
88
                            }
88
                            }
89
                            undef $gir;
89
                            undef $git;
90
                            last;
90
                            last;
91
                        }
91
                        }
92
                    }
92
                    }
93
                    if ( defined $gir ) {
93
                    if ( defined $git ) {
94
                        push @{ $d->{GIR} }, $gir;
94
                        push @{ $d->{GIT} }, $git;
95
                    }
95
                    }
96
                }
96
                }
97
            }
97
            }
Lines 438-444 sub coded_substitute_text { Link Here
438
}
438
}
439
439
440
# This will take a standard code as returned
440
# This will take a standard code as returned
441
# by (orderline|substitue)-free_text (FTX seg LIN)
441
# by (orderline|substitute)-free_text (FTX seg LIN)
442
# and expand it using EditEUR code list 8B
442
# and expand it using EditEUR code list 8B
443
sub translate_8B {
443
sub translate_8B {
444
    my ($code) = @_;
444
    my ($code) = @_;
Lines 616-626 sub girfield { Link Here
616
    if ( $self->number_of_girs ) {
616
    if ( $self->number_of_girs ) {
617
617
618
        # defaults to occurrence 0 returns undef if occ requested > occs
618
        # defaults to occurrence 0 returns undef if occ requested > occs
619
        if ( defined $occ && $occ >= @{ $self->{GIR} } ) {
619
        if ( defined $occ && $occ >= @{ $self->{GIT} } ) {
620
            return;
620
            return;
621
        }
621
        }
622
        $occ ||= 0;
622
        $occ ||= 0;
623
        return $self->{GIR}->[$occ]->{$field};
623
        return $self->{GIT}->[$occ]->{$field};
624
    } else {
624
    } else {
625
        return;
625
        return;
626
    }
626
    }
Lines 628-636 sub girfield { Link Here
628
628
629
sub number_of_girs {
629
sub number_of_girs {
630
    my $self = shift;
630
    my $self = shift;
631
    if ( $self->{GIR} ) {
631
    if ( $self->{GIT} ) {
632
632
633
        my $qty = @{ $self->{GIR} };
633
        my $qty = @{ $self->{GIT} };
634
634
635
        return $qty;
635
        return $qty;
636
    } else {
636
    } else {
Lines 677-683 sub extract_gir { Link Here
677
            $gir_element->{$qualifier} = $e->[0];
677
            $gir_element->{$qualifier} = $e->[0];
678
        } else {
678
        } else {
679
679
680
            carp "Unrecognized GIR code : $e->[1] for $e->[0]";
680
            carp "Unrecognized GIT code : $e->[1] for $e->[0]";
681
        }
681
        }
682
    }
682
    }
683
    return $gir_element;
683
    return $gir_element;
Lines 773-779 sub pri_price { Link Here
773
    return;
773
    return;
774
}
774
}
775
775
776
# unit price that will be chaged excl tax
776
# unit price that will be FIXME CODESPELL (chaged ==> changed, charged) excl tax
777
sub price_net {
777
sub price_net {
778
    my $self = shift;
778
    my $self = shift;
779
    my $p    = $self->pri_price('AAA');
779
    my $p    = $self->pri_price('AAA');
(-)a/Koha/Edifact/Order.pm (-8 / +8 lines)
Lines 226-232 sub message_reference { Link Here
226
    my ( $self, $function ) = @_;
226
    my ( $self, $function ) = @_;
227
    if ( $function eq 'new' || !$self->{message_reference_no} ) {
227
    if ( $function eq 'new' || !$self->{message_reference_no} ) {
228
228
229
        # unique 14 char mesage ref
229
        # unique 14 char message ref
230
        $self->{message_reference_no} = sprintf 'ME%012d', int rand($NINES_12);
230
        $self->{message_reference_no} = sprintf 'ME%012d', int rand($NINES_12);
231
    }
231
    }
232
    return $self->{message_reference_no};
232
    return $self->{message_reference_no};
Lines 369-375 sub order_line { Link Here
369
369
370
    # DTM Optional date constraints on delivery
370
    # DTM Optional date constraints on delivery
371
    #     we dont currently support this in koha
371
    #     we dont currently support this in koha
372
    # GIR copy-related data
372
    # GIT copy-related data
373
    my $lsq_field = C4::Context->preference('EdifactLSQ');
373
    my $lsq_field = C4::Context->preference('EdifactLSQ');
374
    my @items;
374
    my @items;
375
    if ( $basket->effective_create_items eq 'ordering' ) {
375
    if ( $basket->effective_create_items eq 'ordering' ) {
Lines 715-721 and filename to obtain a name under which to store the message Link Here
715
715
716
Should integrate into Koha::Edifact namespace
716
Should integrate into Koha::Edifact namespace
717
Can caller interface be made cleaner?
717
Can caller interface be made cleaner?
718
Make handling of GIR segments more customizable
718
Make handling of GIT segments more customizable
719
719
720
=head1 METHODS
720
=head1 METHODS
721
721
Lines 776-782 Make handling of GIR segments more customizable Link Here
776
    pass the string 'new'.
776
    pass the string 'new'.
777
    In practice we encode 1 message per transmission so there is only one message
777
    In practice we encode 1 message per transmission so there is only one message
778
    referenced. were we to encode multiple messages a new reference would be
778
    referenced. were we to encode multiple messages a new reference would be
779
    neaded for each
779
    FIXME CODESPELL (neaded ==> needed, kneaded, headed) for each
780
780
781
=head2 message_header
781
=head2 message_header
782
782
Lines 784-790 Make handling of GIR segments more customizable Link Here
784
784
785
=head2 interchange_trailer
785
=head2 interchange_trailer
786
786
787
    returns the UNZ segment which ends the tranmission encoding the
787
    returns the UNZ segment which ends the transmission encoding the
788
    message count and control reference for the interchange
788
    message count and control reference for the interchange
789
789
790
=head2 order_msg_header
790
=head2 order_msg_header
Lines 801-807 Make handling of GIR segments more customizable Link Here
801
                Id
801
                Id
802
                Agency
802
                Agency
803
803
804
    Returns a NAD segment containg the id and agency for for the Function
804
    Returns a NAD segment containing the id and agency for for the Function
805
    value. Handles the fact that NAD segments encode the value for 'EAN' differently
805
    value. Handles the fact that NAD segments encode the value for 'EAN' differently
806
    to elsewhere.
806
    to elsewhere.
807
807
Lines 825-831 Make handling of GIR segments more customizable Link Here
825
825
826
=head2 add_gir_identity_number
826
=head2 add_gir_identity_number
827
827
828
    Handle the formatting of a GIR element
828
    Handle the formatting of a GIT element
829
    return empty string if no data
829
    return empty string if no data
830
830
831
=head2 add_seg
831
=head2 add_seg
Lines 854-860 Make handling of GIR segments more customizable Link Here
854
854
855
=head2 _interchange_sr_identifier
855
=head2 _interchange_sr_identifier
856
856
857
    Format sender and receipient identifiers for use in the interchange header
857
    Format sender and recipient identifiers for use in the interchange header
858
858
859
=head2 encode_text
859
=head2 encode_text
860
860
(-)a/Koha/Filter/MARC/ViewPolicy.pm (-1 / +1 lines)
Lines 232-238 nothing is passed. Valid values include 'opac' or 'intranet'. Link Here
232
=cut
232
=cut
233
233
234
sub should_hide_marc {
234
sub should_hide_marc {
235
    my ( $self, $parms ) = @_;
235
    my ( $self, $FIXME CODESPELL (parms ==> params, prams) ) = @_;
236
    my $frameworkcode = $parms->{frameworkcode} // q{};
236
    my $frameworkcode = $parms->{frameworkcode} // q{};
237
    my $interface     = $parms->{interface}     // 'opac';
237
    my $interface     = $parms->{interface}     // 'opac';
238
    my $hide          = _should_hide_on_interface();
238
    my $hide          = _should_hide_on_interface();
(-)a/Koha/FrameworkPlugin.pm (-1 / +1 lines)
Lines 182-188 sub build { Link Here
182
=head2 launch
182
=head2 launch
183
183
184
    Launches the popup for this plugin by calling its launcher sub
184
    Launches the popup for this plugin by calling its launcher sub
185
    Old style plugins still expect to receive a CGI oject, new style
185
    Old style plugins still expect to receive a CGI object, new style
186
    plugins expect a params hashref.
186
    plugins expect a params hashref.
187
    Returns undef on failure, otherwise launcher return value (if any).
187
    Returns undef on failure, otherwise launcher return value (if any).
188
188
(-)a/Koha/ILL/Backend.pm (-1 / +1 lines)
Lines 54-60 sub existing_statuses { Link Here
54
    # We need the 'status' field for obvious reasons, the 'backend' field is required to not
54
    # We need the 'status' field for obvious reasons, the 'backend' field is required to not
55
    # throw 'Koha::Exceptions::Ill::InvalidBackendId' when we're converting to a Koha object.
55
    # throw 'Koha::Exceptions::Ill::InvalidBackendId' when we're converting to a Koha object.
56
    # Finally, to get around 'ONLY_FULL_GROUP_BY', we have to be explicit about which
56
    # Finally, to get around 'ONLY_FULL_GROUP_BY', we have to be explicit about which
57
    # 'request_id' we want to return, hense the 'MAX' call.
57
    # 'request_id' we want to return, hence the 'MAX' call.
58
    my $ill_requests = Koha::ILL::Requests->search(
58
    my $ill_requests = Koha::ILL::Requests->search(
59
        { backend => $backend_id },
59
        { backend => $backend_id },
60
        {
60
        {
(-)a/Koha/Item.pm (-1 / +1 lines)
Lines 935-941 sub can_article_request { Link Here
935
935
936
my $bool = $item->hidden_in_opac({ [ rules => $rules ] })
936
my $bool = $item->hidden_in_opac({ [ rules => $rules ] })
937
937
938
Returns true if item fields match the hidding criteria defined in $rules.
938
Returns true if item fields match the FIXME CODESPELL (hidding ==> hiding, hidden) criteria defined in $rules.
939
Returns false otherwise.
939
Returns false otherwise.
940
940
941
Takes HASHref that can have the following parameters:
941
Takes HASHref that can have the following parameters:
(-)a/Koha/Misc/Files.pm (-3 / +3 lines)
Lines 52-58 from this table. However, this method does accept an arbitrary Link Here
52
string as 'tabletag', and an arbitrary integer as 'recordid'.
52
string as 'tabletag', and an arbitrary integer as 'recordid'.
53
53
54
Particular Koha::Misc::Files object can have one or more file records
54
Particular Koha::Misc::Files object can have one or more file records
55
(actuall file contents + various file metadata) associated with it.
55
(FIXME CODESPELL (actuall ==> actually, actual) file contents + various file metadata) associated with it.
56
56
57
In case of an error (wrong parameter format) it returns undef.
57
In case of an error (wrong parameter format) it returns undef.
58
58
Lines 150-156 my $file = $mf->GetFile( id => $file_id ); Link Here
150
For an individual, specific file ID this method returns a hashref
150
For an individual, specific file ID this method returns a hashref
151
containing all metadata (file_id, table_tag, record_id, file_name,
151
containing all metadata (file_id, table_tag, record_id, file_name,
152
file_type, file_description, file_content, date_uploaded), plus
152
file_type, file_description, file_content, date_uploaded), plus
153
an actuall contents of a file (in 'file_content'). In typical usage
153
an FIXME CODESPELL (actuall ==> actually, actual) contents of a file (in 'file_content'). In typical usage
154
scenarios, for a given $mf object, specific file IDs have to be
154
scenarios, for a given $mf object, specific file IDs have to be
155
obtained first by GetFilesInfo() call.
155
obtained first by GetFilesInfo() call.
156
156
Lines 218-224 sub DelAllFiles { Link Here
218
218
219
$mf->MergeFileRecIds(@ids_to_be_merged);
219
$mf->MergeFileRecIds(@ids_to_be_merged);
220
220
221
This method re-associates all individuall file records associated with
221
This method re-associates all FIXME CODESPELL (individuall ==> individually, individual) file records associated with
222
some "parent" records IDs (provided in @ids_to_be_merged) with the given
222
some "parent" records IDs (provided in @ids_to_be_merged) with the given
223
single $mf object (which would be treated as a "parent" destination).
223
single $mf object (which would be treated as a "parent" destination).
224
224
(-)a/Koha/OAI/Server/Repository.pm (-1 / +1 lines)
Lines 65-71 preferences (OAI-PMH:archiveID and OAI-PMH:MaxCount) and the server returns Link Here
65
records in marcxml or dublin core format. Dublin core records are created from
65
records in marcxml or dublin core format. Dublin core records are created from
66
koha marcxml records transformed with XSLT. Used XSL file is located in koha-
66
koha marcxml records transformed with XSLT. Used XSL file is located in koha-
67
tmpl/intranet-tmpl/prog/en/xslt directory and chosen based on marcflavour,
67
tmpl/intranet-tmpl/prog/en/xslt directory and chosen based on marcflavour,
68
respecively MARC21slim2OAIDC.xsl for MARC21 and  MARC21slim2OAIDC.xsl for
68
respectively MARC21slim2OAIDC.xsl for MARC21 and  MARC21slim2OAIDC.xsl for
69
UNIMARC.
69
UNIMARC.
70
70
71
In extended mode, it's possible to parameter other format than marcxml or
71
In extended mode, it's possible to parameter other format than marcxml or
(-)a/Koha/Patron/Password/Recovery.pm (-1 / +1 lines)
Lines 52-58 use Koha::Patron::Password::Recovery; Link Here
52
52
53
=head2 ValidateBorrowernumber
53
=head2 ValidateBorrowernumber
54
54
55
$alread = ValidateBorrowernumber( $borrower_number );
55
$already = ValidateBorrowernumber( $borrower_number );
56
56
57
Check if the system already start recovery
57
Check if the system already start recovery
58
58
(-)a/Koha/Patrons/Import.pm (-2 / +2 lines)
Lines 768-776 sub format_dates { Link Here
768
    my ( $self, $params ) = @_;
768
    my ( $self, $params ) = @_;
769
769
770
    foreach my $date_type (qw(dateofbirth dateenrolled dateexpiry date_renewed)) {
770
    foreach my $date_type (qw(dateofbirth dateenrolled dateexpiry date_renewed)) {
771
        my $tempdate = $params->{borrower}->{$date_type} or next();
771
        my $template = $params->{borrower}->{$date_type} or next();
772
        my $formatted_date =
772
        my $formatted_date =
773
            eval { output_pref( { dt => dt_from_string($tempdate), dateonly => 1, dateformat => 'iso' } ); };
773
            eval { output_pref( { dt => dt_from_string($template), dateonly => 1, dateformat => 'iso' } ); };
774
774
775
        if ($formatted_date) {
775
        if ($formatted_date) {
776
            $params->{borrower}->{$date_type} = $formatted_date;
776
            $params->{borrower}->{$date_type} = $formatted_date;
(-)a/Koha/Plugins.pm (-1 / +1 lines)
Lines 34-40 use C4::Output; Link Here
34
34
35
use Koha::Cache::Memory::Lite;
35
use Koha::Cache::Memory::Lite;
36
use Koha::Exceptions::Plugin;
36
use Koha::Exceptions::Plugin;
37
use Koha::Plugins::Datas;
37
use Koha::Plugins::Data;
38
use Koha::Plugins::Methods;
38
use Koha::Plugins::Methods;
39
39
40
use constant ENABLED_PLUGINS_CACHE_KEY => 'enabled_plugins';
40
use constant ENABLED_PLUGINS_CACHE_KEY => 'enabled_plugins';
(-)a/Koha/Plugins/Base.pm (-3 / +3 lines)
Lines 150-156 Then name of the plugin method used. For example 'tool' or 'report'. Link Here
150
=item B<PLUGIN_PATH>
150
=item B<PLUGIN_PATH>
151
151
152
The URL path to the plugin. It can be used in templates in order to localize
152
The URL path to the plugin. It can be used in templates in order to localize
153
ressources like images in html tags, or other templates.
153
resources like images in html tags, or other templates.
154
154
155
=item B<PLUGIN_DIR>
155
=item B<PLUGIN_DIR>
156
156
Lines 332-338 sub _version_compare { Link Here
332
        push( @v1, 0 ) unless defined( $v1[$i] );
332
        push( @v1, 0 ) unless defined( $v1[$i] );
333
        push( @v2, 0 ) unless defined( $v2[$i] );
333
        push( @v2, 0 ) unless defined( $v2[$i] );
334
334
335
        # Strip letters before comparing, supresses 'Argument "v1" isn't numeric in int' warning
335
        # Strip letters before comparing, suppresses 'Argument "v1" isn't numeric in int' warning
336
        $v1[$i] =~ s/^v//g;
336
        $v1[$i] =~ s/^v//g;
337
        $v2[$i] =~ s/^v//g;
337
        $v2[$i] =~ s/^v//g;
338
338
Lines 347-353 sub _version_compare { Link Here
347
347
348
=head2 is_enabled
348
=head2 is_enabled
349
349
350
Method that returns wether the plugin is enabled or not
350
Method that returns FIXME CODESPELL (wether ==> weather, whether) the plugin is enabled or not
351
351
352
$plugin->enable
352
$plugin->enable
353
353
(-)a/Koha/Plugins/Datas.pm (-2 / +2 lines)
Lines 1-4 Link Here
1
package Koha::Plugins::Datas;
1
package Koha::Plugins::Data;
2
2
3
# Copyright 2023 Rijksmuseum
3
# Copyright 2023 Rijksmuseum
4
#
4
#
Lines 25-31 use Koha::Plugins::Data; Link Here
25
25
26
=head1 NAME
26
=head1 NAME
27
27
28
Koha::Plugin::Datas - Koha plugin data (plural) object class
28
Koha::Plugin::Data - Koha plugin data (plural) object class
29
29
30
=head1 API
30
=head1 API
31
31
(-)a/Koha/REST/Plugin/Exceptions.pm (-1 / +1 lines)
Lines 43-49 Koha::REST::Plugin::Exceptions Link Here
43
    }
43
    }
44
44
45
Provides a generic and reusable way to throw unhandled exceptions. This way we
45
Provides a generic and reusable way to throw unhandled exceptions. This way we
46
can centralize the behaviour control (e.g. production vs. development environmet)
46
can centralize the behaviour control (e.g. production vs. development environment)
47
47
48
=cut
48
=cut
49
49
(-)a/Koha/REST/V1/Static.pm (-2 / +2 lines)
Lines 38-51 sub get { Link Here
38
    if ( C4::Context->config("enable_plugins") ) {
38
    if ( C4::Context->config("enable_plugins") ) {
39
        my $path = $c->req->url->path->leading_slash(1);
39
        my $path = $c->req->url->path->leading_slash(1);
40
40
41
        return $c->render( status => 400, openapi => { error => 'Endpoint inteded for plugin static files' } )
41
        return $c->render( status => 400, openapi => { error => 'Endpoint intended for plugin static files' } )
42
            unless "$path" =~ /^\/api\/v1\/contrib/;
42
            unless "$path" =~ /^\/api\/v1\/contrib/;
43
43
44
        my $namespace = $path->[3];
44
        my $namespace = $path->[3];
45
45
46
        my $checkpath = '/api/v1/contrib/' . $namespace . '/static';
46
        my $checkpath = '/api/v1/contrib/' . $namespace . '/static';
47
47
48
        return $c->render( status => 400, openapi => { error => 'Endpoint inteded for plugin static files' } )
48
        return $c->render( status => 400, openapi => { error => 'Endpoint intended for plugin static files' } )
49
            unless "$path" =~ /\Q$checkpath/;
49
            unless "$path" =~ /\Q$checkpath/;
50
50
51
        my @plugins = Koha::Plugins->new()->GetPlugins(
51
        my @plugins = Koha::Plugins->new()->GetPlugins(
(-)a/Koha/RecordProcessor.pm (-1 / +1 lines)
Lines 37-43 B<filter ($record)> - apply the filter and return the result. $record Link Here
37
may be either a scalar or an arrayref, and the return result will be
37
may be either a scalar or an arrayref, and the return result will be
38
the same type.
38
the same type.
39
39
40
These methods may be overriden:
40
These methods may be overridden:
41
41
42
B<initialize (%params)> - initialize the filter
42
B<initialize (%params)> - initialize the filter
43
43
(-)a/Koha/RecordProcessor/Base.pm (-2 / +2 lines)
Lines 38-44 The following variables must be defined in each filter: Link Here
38
  our $NAME ='Filter';
38
  our $NAME ='Filter';
39
  our $VERSION = '1.0';
39
  our $VERSION = '1.0';
40
40
41
These methods may be overriden:
41
These methods may be overridden:
42
42
43
B<initialize (%params)> - initialize the filter
43
B<initialize (%params)> - initialize the filter
44
44
Lines 87-93 sub new { Link Here
87
87
88
=head2 initialize
88
=head2 initialize
89
89
90
    $filter->initalize(%params);
90
    $filter->initialize(%params);
91
91
92
Initialize a filter using the specified parameters.
92
Initialize a filter using the specified parameters.
93
93
(-)a/Koha/Schema/Result/Borrower.pm (-3 / +3 lines)
Lines 184-190 the fax number for your patron/borrower's primary address Link Here
184
  data_type: 'mediumtext'
184
  data_type: 'mediumtext'
185
  is_nullable: 1
185
  is_nullable: 1
186
186
187
the secondary email addres for your patron/borrower's primary address
187
the secondary email address for your patron/borrower's primary addresss
188
188
189
=head2 phonepro
189
=head2 phonepro
190
190
Lines 368-374 comment on the stop of the patron Link Here
368
  data_type: 'longtext'
368
  data_type: 'longtext'
369
  is_nullable: 1
369
  is_nullable: 1
370
370
371
used for children and profesionals to include surname or last name of guarantor or organization name
371
used for children and professionals to include surname or last name of guarantor or organization name
372
372
373
=head2 contactfirstname
373
=head2 contactfirstname
374
374
Lines 621-627 lang to use to send notices to this patron Link Here
621
  default_value: 0
621
  default_value: 0
622
  is_nullable: 0
622
  is_nullable: 0
623
623
624
number of failed login attemps
624
number of failed login attempts
625
625
626
=head2 overdrive_auth_token
626
=head2 overdrive_auth_token
627
627
(-)a/Koha/Schema/Result/ClubHold.pm (-1 / +1 lines)
Lines 51-57 id for the bibliographic record the hold has been placed against Link Here
51
  is_foreign_key: 1
51
  is_foreign_key: 1
52
  is_nullable: 1
52
  is_nullable: 1
53
53
54
If item-level, the id for the item the hold has been placed agains
54
If item-level, the id for the item the hold has been placed FIXME CODESPELL (agains ==> against, again)
55
55
56
=head2 date_created
56
=head2 date_created
57
57
(-)a/Koha/Schema/Result/Deletedbiblio.pm (-1 / +1 lines)
Lines 38-44 unique identifier assigned to each bibliographic record Link Here
38
  is_nullable: 0
38
  is_nullable: 0
39
  size: 4
39
  size: 4
40
40
41
foriegn key from the biblio_framework table to identify which framework was used in cataloging this record
41
foreign key from the biblio_framework table to identify which framework was used in cataloging this record
42
42
43
=head2 author
43
=head2 author
44
44
(-)a/Koha/Schema/Result/Deletedborrower.pm (-3 / +3 lines)
Lines 184-190 the fax number for your patron/borrower's primary address Link Here
184
  data_type: 'mediumtext'
184
  data_type: 'mediumtext'
185
  is_nullable: 1
185
  is_nullable: 1
186
186
187
the secondary email addres for your patron/borrower's primary address
187
the secondary email address for your patron/borrower's primary addresss
188
188
189
=head2 phonepro
189
=head2 phonepro
190
190
Lines 366-372 comment on the stop of patron Link Here
366
  data_type: 'longtext'
366
  data_type: 'longtext'
367
  is_nullable: 1
367
  is_nullable: 1
368
368
369
used for children and profesionals to include surname or last name of guarantor or organization name
369
used for children and professionals to include surname or last name of guarantor or organization name
370
370
371
=head2 contactfirstname
371
=head2 contactfirstname
372
372
Lines 618-624 lang to use to send notices to this patron Link Here
618
  default_value: 0
618
  default_value: 0
619
  is_nullable: 0
619
  is_nullable: 0
620
620
621
number of failed login attemps
621
number of failed login attempts
622
622
623
=head2 overdrive_auth_token
623
=head2 overdrive_auth_token
624
624
(-)a/Koha/Schema/Result/Deleteditem.pm (-1 / +1 lines)
Lines 383-389 inventory number (MARC21 952$i) Link Here
383
  is_nullable: 1
383
  is_nullable: 1
384
  size: 32
384
  size: 32
385
385
386
'new' value, you can put whatever free-text information. This field is intented to be managed by the automatic_item_modification_by_age cronjob.
386
'new' value, you can put whatever free-text information. This field is FIXME CODESPELL (intented ==> intended, indented) to be managed by the automatic_item_modification_by_age cronjob.
387
387
388
=head2 exclude_from_local_holds_priority
388
=head2 exclude_from_local_holds_priority
389
389
(-)a/Koha/Schema/Result/HouseboundProfile.pm (-1 / +1 lines)
Lines 43-49 The preferred day of the week for delivery. Link Here
43
  data_type: 'mediumtext'
43
  data_type: 'mediumtext'
44
  is_nullable: 0
44
  is_nullable: 0
45
45
46
The Authorised_Value definining the pattern for delivery.
46
The Authorised_Value defining the pattern for delivery.
47
47
48
=head2 fav_itemtypes
48
=head2 fav_itemtypes
49
49
(-)a/Koha/Schema/Result/Item.pm (-1 / +1 lines)
Lines 387-393 inventory number (MARC21 952$i) Link Here
387
  is_nullable: 1
387
  is_nullable: 1
388
  size: 32
388
  size: 32
389
389
390
'new' value, you can put whatever free-text information. This field is intented to be managed by the automatic_item_modification_by_age cronjob.
390
'new' value, you can put whatever free-text information. This field is FIXME CODESPELL (intented ==> intended, indented) to be managed by the automatic_item_modification_by_age cronjob.
391
391
392
=head2 exclude_from_local_holds_priority
392
=head2 exclude_from_local_holds_priority
393
393
(-)a/Koha/Schema/Result/LibraryGroup.pm (-1 / +1 lines)
Lines 54-60 The branchcode of a branch belonging to the parent group Link Here
54
  is_nullable: 1
54
  is_nullable: 1
55
  size: 100
55
  size: 100
56
56
57
Short description of the goup
57
Short description of the group
58
58
59
=head2 description
59
=head2 description
60
60
(-)a/Koha/Schema/Result/Stockrotationstage.pm (-1 / +1 lines)
Lines 61-67 Branch this stage relates to Link Here
61
  default_value: 4
61
  default_value: 4
62
  is_nullable: 0
62
  is_nullable: 0
63
63
64
The number of days items shoud occupy this stage
64
The number of days items should occupy this stage
65
65
66
=cut
66
=cut
67
67
(-)a/Koha/Schema/Result/Virtualshelfshare.pm (-1 / +1 lines)
Lines 53-59 borrower that accepted access to this list Link Here
53
  is_nullable: 1
53
  is_nullable: 1
54
  size: 10
54
  size: 10
55
55
56
temporary string used in accepting the invitation to access thist list; not-empty means that the invitation has not been accepted yet
56
temporary string used in accepting the invitation to access this list; not-empty means that the invitation has not been accepted yet
57
57
58
=head2 sharedate
58
=head2 sharedate
59
59
(-)a/Koha/SearchEngine/Elasticsearch.pm (-2 / +2 lines)
Lines 1190-1196 each call to C<MARC::Record>->field) we create an optimized structure of mapping Link Here
1190
rules keyed by MARC field tags holding all the mapping rules for that particular tag.
1190
rules keyed by MARC field tags holding all the mapping rules for that particular tag.
1191
1191
1192
We can then iterate through all MARC fields for each record and apply all relevant
1192
We can then iterate through all MARC fields for each record and apply all relevant
1193
rules once per fields instead of retreiving fields multiple times for each mapping rule
1193
rules once per fields instead of retrieving fields multiple times for each mapping rule
1194
which is terribly slow.
1194
which is terribly slow.
1195
1195
1196
=cut
1196
=cut
Lines 1581-1587 __END__ Link Here
1581
1581
1582
=item Chris Cormack C<< <chrisc@catalyst.net.nz> >>
1582
=item Chris Cormack C<< <chrisc@catalyst.net.nz> >>
1583
1583
1584
=item Robin Sheat C<< <robin@catalyst.net.nz> >>
1584
=item Robin FIXME CODESPELL (Sheat ==> Sheath, Sheet, Cheat) C<< <robin@catalyst.net.nz> >>
1585
1585
1586
=item Jonathan Druart C<< <jonathan.druart@bugs.koha-community.org> >>
1586
=item Jonathan Druart C<< <jonathan.druart@bugs.koha-community.org> >>
1587
1587
(-)a/Koha/SearchEngine/Elasticsearch/Browse.pm (-1 / +1 lines)
Lines 169-175 __END__ Link Here
169
169
170
=over 4
170
=over 4
171
171
172
=item Robin Sheat << <robin@catalyst.net.nz> >>
172
=item Robin FIXME CODESPELL (Sheat ==> Sheath, Sheet, Cheat) << <robin@catalyst.net.nz> >>
173
173
174
=back
174
=back
175
175
(-)a/Koha/SearchEngine/Elasticsearch/Indexer.pm (-2 / +2 lines)
Lines 255-261 sub index_status { Link Here
255
Generate Elasticsearch mappings from mappings stored in database and
255
Generate Elasticsearch mappings from mappings stored in database and
256
perform a request to update Elasticsearch index mappings. Will throw an
256
perform a request to update Elasticsearch index mappings. Will throw an
257
error and set index status to C<INDEX_STATUS_RECREATE_REQUIRED> if update
257
error and set index status to C<INDEX_STATUS_RECREATE_REQUIRED> if update
258
failes.
258
fails.
259
259
260
=cut
260
=cut
261
261
Lines 446-451 __END__ Link Here
446
446
447
=item Chris Cormack C<< <chrisc@catalyst.net.nz> >>
447
=item Chris Cormack C<< <chrisc@catalyst.net.nz> >>
448
448
449
=item Robin Sheat C<< <robin@catalyst.net.nz> >>
449
=item Robin FIXME CODESPELL (Sheat ==> Sheath, Sheet, Cheat) C<< <robin@catalyst.net.nz> >>
450
450
451
=back
451
=back
(-)a/Koha/SuggestionEngine.pm (-1 / +1 lines)
Lines 36-42 namespace, and provide the following methods: Link Here
36
B<get_suggestions ($search)> - get suggestions from the plugin for the
36
B<get_suggestions ($search)> - get suggestions from the plugin for the
37
specified search.
37
specified search.
38
38
39
These methods may be overriden:
39
These methods may be overridden:
40
40
41
B<initialize (%params)> - initialize the plugin
41
B<initialize (%params)> - initialize the plugin
42
42
(-)a/Koha/SuggestionEngine/Base.pm (-2 / +2 lines)
Lines 38-44 B<NAME> - return a string with the name of the plugin. Link Here
38
38
39
B<VERSION> - return a string with the version of the plugin.
39
B<VERSION> - return a string with the version of the plugin.
40
40
41
These methods may be overriden:
41
These methods may be overridden:
42
42
43
B<initialize (%params)> - initialize the plugin
43
B<initialize (%params)> - initialize the plugin
44
44
Lines 81-87 sub new { Link Here
81
81
82
=head2 initialize
82
=head2 initialize
83
83
84
    $plugin->initalize(%params);
84
    $plugin->initialize(%params);
85
85
86
Initialize a filter using the specified parameters.
86
Initialize a filter using the specified parameters.
87
87
(-)a/Koha/Template/Plugin/Asset.pm (-1 / +1 lines)
Lines 25-31 Koha::Template::Plugin::Asset Link Here
25
25
26
The Asset plugin is a helper that generates HTML tags for JS and CSS files
26
The Asset plugin is a helper that generates HTML tags for JS and CSS files
27
27
28
=head1 SYNOPSYS
28
=head1 SYNOPSIS
29
29
30
    [% USE Asset %]
30
    [% USE Asset %]
31
31
(-)a/Koha/Template/Plugin/TablesSettings.pm (-1 / +1 lines)
Lines 21-27 package Koha::Template::Plugin::TablesSettings; Link Here
21
21
22
Koha::Template::Plugin::TablesSettings
22
Koha::Template::Plugin::TablesSettings
23
23
24
=head2 SYNOPSYS
24
=head2 SYNOPSIS
25
25
26
    [% USE TablesSettings %]
26
    [% USE TablesSettings %]
27
27
(-)a/Koha/pdfformat/layout2pages.pm (-2 / +2 lines)
Lines 36-43 BEGIN { Link Here
36
    @EXPORT = qw(printpdf);
36
    @EXPORT = qw(printpdf);
37
}
37
}
38
38
39
#be careful, all the sizes (height, width, etc...) are in mm, not PostScript points (the default measurment of PDF::API2).
39
#be careful, all the sizes (height, width, etc...) are in mm, not PostScript points (the default measurement of PDF::API2).
40
#The constants exported transform that into PostScript points (/mm for milimeter, /in for inch, pt is postscript point, and as so is there only to show what is happening.
40
#The constants exported transform that into PostScript points (/mm for millimeter, /in for inch, pt is postscript point, and as so is there only to show what is happening.
41
use constant mm => 25.4 / 72;
41
use constant mm => 25.4 / 72;
42
use constant in => 1 / 72;
42
use constant in => 1 / 72;
43
use constant pt => 1;
43
use constant pt => 1;
(-)a/Koha/pdfformat/layout2pagesde.pm (-2 / +2 lines)
Lines 36-43 BEGIN { Link Here
36
    @EXPORT_OK = qw(printpdf);
36
    @EXPORT_OK = qw(printpdf);
37
}
37
}
38
38
39
#be careful, all the sizes (height, width, etc...) are in mm, not PostScript points (the default measurment of PDF::API2).
39
#be careful, all the sizes (height, width, etc...) are in mm, not PostScript points (the default measurement of PDF::API2).
40
#The constants exported transform that into PostScript points (/mm for milimeter, /in for inch, pt is postscript point, and as so is there only to show what is happening.
40
#The constants exported transform that into PostScript points (/mm for millimeter, /in for inch, pt is postscript point, and as so is there only to show what is happening.
41
use constant mm => 25.4 / 72;
41
use constant mm => 25.4 / 72;
42
use constant in => 1 / 72;
42
use constant in => 1 / 72;
43
use constant pt => 1;
43
use constant pt => 1;
(-)a/Koha/pdfformat/layout3pages.pm (-2 / +2 lines)
Lines 38-45 BEGIN { Link Here
38
    @EXPORT = qw(printpdf);
38
    @EXPORT = qw(printpdf);
39
}
39
}
40
40
41
#be careful, all the sizes (height, width, etc...) are in mm, not PostScript points (the default measurment of PDF::API2).
41
#be careful, all the sizes (height, width, etc...) are in mm, not PostScript points (the default measurement of PDF::API2).
42
#The constants exported transform that into PostScript points (/mm for milimeter, /in for inch, pt is postscript point, and as so is there only to show what is happening.
42
#The constants exported transform that into PostScript points (/mm for millimeter, /in for inch, pt is postscript point, and as so is there only to show what is happening.
43
use constant mm => 25.4 / 72;
43
use constant mm => 25.4 / 72;
44
use constant in => 1 / 72;
44
use constant in => 1 / 72;
45
use constant pt => 1;
45
use constant pt => 1;
(-)a/Koha/pdfformat/layout3pagesfr.pm (-2 / +2 lines)
Lines 39-46 BEGIN { Link Here
39
    @EXPORT = qw(printpdf);
39
    @EXPORT = qw(printpdf);
40
}
40
}
41
41
42
#be careful, all the sizes (height, width, etc...) are in mm, not PostScript points (the default measurment of PDF::API2).
42
#be careful, all the sizes (height, width, etc...) are in mm, not PostScript points (the default measurement of PDF::API2).
43
#The constants exported transform that into PostScript points (/mm for milimeter, /in for inch, pt is postscript point, and as so is there only to show what is happening.
43
#The constants exported transform that into PostScript points (/mm for millimeter, /in for inch, pt is postscript point, and as so is there only to show what is happening.
44
use constant mm => 25.4 / 72;
44
use constant mm => 25.4 / 72;
45
use constant in => 1 / 72;
45
use constant in => 1 / 72;
46
use constant pt => 1;
46
use constant pt => 1;
(-)a/Makefile.PL (-1 / +1 lines)
Lines 450-456 Name of DBMS user account for Koha's database. Link Here
450
450
451
=item DB_PASS
451
=item DB_PASS
452
452
453
Pasword of DMBS user account for Koha's database.
453
Password of DMBS user account for Koha's database.
454
454
455
=item ZEBRA_MARC_FORMAT
455
=item ZEBRA_MARC_FORMAT
456
456
(-)a/acqui/basket.pl (-1 / +1 lines)
Lines 50-56 basket.pl Link Here
50
50
51
=head1 DESCRIPTION
51
=head1 DESCRIPTION
52
52
53
 This script display all informations about basket for the supplier given
53
 This script display all information about basket for the supplier given
54
 on input arg.  Moreover, it allows us to add a new order for this supplier from
54
 on input arg.  Moreover, it allows us to add a new order for this supplier from
55
 an existing record, a suggestion or a new record.
55
 an existing record, a suggestion or a new record.
56
56
(-)a/acqui/basketgroup.pl (-1 / +1 lines)
Lines 281-287 if ( $op eq "add_form" ) { Link Here
281
            selectedbaskets => $selecteds
281
            selectedbaskets => $selecteds
282
        );
282
        );
283
283
284
        # Get general informations about the basket group to prefill the form
284
        # Get general information about the basket group to prefill the form
285
        my $basketgroup = GetBasketgroup($basketgroupid);
285
        my $basketgroup = GetBasketgroup($basketgroupid);
286
        $template->param(
286
        $template->param(
287
            name              => $basketgroup->{name},
287
            name              => $basketgroup->{name},
(-)a/acqui/booksellers.pl (-1 / +1 lines)
Lines 28-34 booksellers.pl Link Here
28
=head1 DESCRIPTION
28
=head1 DESCRIPTION
29
29
30
this script displays the list of suppliers & baskets like C<$supplier> given on input arg.
30
this script displays the list of suppliers & baskets like C<$supplier> given on input arg.
31
thus, this page brings differents features like to display supplier's details,
31
thus, this page brings FIXME CODESPELL (differents ==> different, difference) features like to display supplier's details,
32
to add an order for a specific supplier or to just add a new supplier.
32
to add an order for a specific supplier or to just add a new supplier.
33
33
34
=head1 CGI PARAMETERS
34
=head1 CGI PARAMETERS
(-)a/acqui/check_budget_total.pl (-1 / +1 lines)
Lines 26-32 use C4::Budgets qw( GetBudget ); Link Here
26
26
27
=head1 DESCRIPTION
27
=head1 DESCRIPTION
28
28
29
fetches the budget amount fron the DB
29
fetches the budget amount FIXME CODESPELL (fron ==> from, front) the DB
30
30
31
=cut
31
=cut
32
32
(-)a/acqui/invoice.pl (-1 / +1 lines)
Lines 345-351 $template->param( Link Here
345
defined($invoice_files) && $template->param( files => $invoice_files->GetFilesInfo() );
345
defined($invoice_files) && $template->param( files => $invoice_files->GetFilesInfo() );
346
346
347
# FIXME
347
# FIXME
348
# Fonction dupplicated from basket.pl
348
# Function duplicated from basket.pl
349
# Code must to be exported. Where ??
349
# Code must to be exported. Where ??
350
sub get_infos {
350
sub get_infos {
351
    my $order      = shift;
351
    my $order      = shift;
(-)a/acqui/neworderempty.pl (-1 / +1 lines)
Lines 448-454 $template->param( Link Here
448
$template->param(
448
$template->param(
449
    existing => $biblionumber,
449
    existing => $biblionumber,
450
450
451
    # basket informations
451
    # basket information
452
    basketname           => $basket->{'basketname'},
452
    basketname           => $basket->{'basketname'},
453
    basketnote           => $basket->{'note'},
453
    basketnote           => $basket->{'note'},
454
    booksellerid         => $basket->{'booksellerid'},
454
    booksellerid         => $basket->{'booksellerid'},
(-)a/acqui/updatesupplier.pl (-1 / +1 lines)
Lines 32-38 a supplier. This script is called from acqui/supplier.pl. Link Here
32
32
33
=head1 CGI PARAMETERS
33
=head1 CGI PARAMETERS
34
34
35
All informations regarding this supplier are listed on input parameter.
35
All information regarding this supplier are listed on input parameter.
36
Here is the list :
36
Here is the list :
37
37
38
supplier, id, company, company_postal, physical, company_phone,
38
supplier, id, company, company_postal, physical, company_phone,
(-)a/admin/aqbudgetperiods.pl (-2 / +2 lines)
Lines 26-38 script to administer the budget periods table Link Here
26
 ALGO :
26
 ALGO :
27
 this script use an $op to know what to do.
27
 this script use an $op to know what to do.
28
 if $op is empty or none of the above values,
28
 if $op is empty or none of the above values,
29
	- the default screen is build (with all records, or filtered datas).
29
	- the default screen is build (with all records, or filtered data).
30
	- the   user can clic on add, modify or delete record.
30
	- the   user can clic on add, modify or delete record.
31
 if $op=add_form
31
 if $op=add_form
32
	- if primkey exists, this is a modification,so we read the $primkey record
32
	- if primkey exists, this is a modification,so we read the $primkey record
33
	- builds the add/modify form
33
	- builds the add/modify form
34
 if $op=add_validate
34
 if $op=add_validate
35
	- the user has just send datas, so we create/modify the record
35
	- the user has just send data, so we create/modify the record
36
 if $op=delete_confirm
36
 if $op=delete_confirm
37
	- we show the record having primkey=$primkey and ask for deletion validation form
37
	- we show the record having primkey=$primkey and ask for deletion validation form
38
 if $op=delete_confirmed
38
 if $op=delete_confirmed
(-)a/admin/aqbudgets.pl (-1 / +1 lines)
Lines 254-260 if ( $op eq 'list' ) { Link Here
254
    my $period_total = 0;
254
    my $period_total = 0;
255
    my ( $period_alloc_total, $spent_total, $ordered_total, $available_total ) = ( 0, 0, 0, 0 );
255
    my ( $period_alloc_total, $spent_total, $ordered_total, $available_total ) = ( 0, 0, 0, 0 );
256
256
257
    #This Looks WEIRD to me : should budgets be filtered in such a way ppl who donot own it would not see the amount spent on the budget by others ?
257
    #This Looks WEIRD to me : should budgets be filtered in such a way ppl who FIXME CODESPELL (donot ==> do not, donut) own it would not see the amount spent on the budget by others ?
258
258
259
    my @budgets_to_display;
259
    my @budgets_to_display;
260
    foreach my $budget (@budgets) {
260
    foreach my $budget (@budgets) {
(-)a/admin/check_budget_parent.pl (-1 / +1 lines)
Lines 26-32 use C4::Budgets qw( CheckBudgetParent GetBudget ); Link Here
26
26
27
=head1 DESCRIPTION
27
=head1 DESCRIPTION
28
28
29
fetches the budget amount fron the DB,
29
fetches the budget amount FIXME CODESPELL (fron ==> from, front) the DB,
30
called by aqbudgets.pl and neworderempty.pl
30
called by aqbudgets.pl and neworderempty.pl
31
31
32
=cut
32
=cut
(-)a/admin/check_parent_total.pl (-1 / +1 lines)
Lines 54-60 $period = GetBudgetPeriod($period_id) if $period_id; Link Here
54
$parent = GetBudget($parent_id)       if defined $parent_id;
54
$parent = GetBudget($parent_id)       if defined $parent_id;
55
$budget = GetBudget($budget_id)       if defined $budget_id;
55
$budget = GetBudget($budget_id)       if defined $budget_id;
56
56
57
# CHECK THE PARENT BUDGET FOR ENOUGHT AMOUNT UNALLOCATED,  IF NOT THEN RETURN 1
57
# CHECK THE PARENT BUDGET FOR ENOUGH AMOUNT UNALLOCATED,  IF NOT THEN RETURN 1
58
my ( $sub_unalloc, $period_sum, $budget_period_unalloc );
58
my ( $sub_unalloc, $period_sum, $budget_period_unalloc );
59
59
60
if ($parent) {
60
if ($parent) {
(-)a/admin/edi_accounts.pl (-2 / +2 lines)
Lines 110-117 if ( $op eq 'acct_form' ) { Link Here
110
        $schema->resultset('VendorEdiAccount')->search( { id => scalar $input->param('id'), } )->delete_all;
110
        $schema->resultset('VendorEdiAccount')->search( { id => scalar $input->param('id'), } )->delete_all;
111
    }
111
    }
112
112
113
    # we do a default dispaly after deletes and saves
113
    # we do a default display after deletes and saves
114
    # as well as when thats all you want
114
    # as well as when that's all you want
115
    $template->param( display => 1 );
115
    $template->param( display => 1 );
116
    my @ediaccounts = $schema->resultset('VendorEdiAccount')->search(
116
    my @ediaccounts = $schema->resultset('VendorEdiAccount')->search(
117
        {},
117
        {},
(-)a/admin/systempreferences.pl (-3 / +3 lines)
Lines 26-38 Link Here
26
ALSO :
26
ALSO :
27
 this script use an $op to know what to do.
27
 this script use an $op to know what to do.
28
 if $op is empty or none of the above values,
28
 if $op is empty or none of the above values,
29
    - the default screen is build (with all records, or filtered datas).
29
    - the default screen is build (with all records, or filtered data).
30
    - the   user can clic on add, modify or delete record.
30
    - the   user can clic on add, modify or delete record.
31
 if $op=add_form
31
 if $op=add_form
32
    - if primkey exists, this is a modification,so we read the $primkey record
32
    - if primkey exists, this is a modification,so we read the $primkey record
33
    - builds the add/modify form
33
    - builds the add/modify form
34
 if $op=add_validate
34
 if $op=add_validate
35
    - the user has just send datas, so we create/modify the record
35
    - the user has just send data, so we create/modify the record
36
 if $op=delete_form
36
 if $op=delete_form
37
    - we show the record having primkey=$primkey and ask for deletion validation form
37
    - we show the record having primkey=$primkey and ask for deletion validation form
38
 if $op=delete_confirm
38
 if $op=delete_confirm
Lines 422-428 sub get_prefs_from_files { Link Here
422
    return @names;
422
    return @names;
423
}
423
}
424
424
425
# Return an array containg all preferences defined in DB
425
# Return an array containing all preferences defined in DB
426
426
427
sub get_prefs_from_db {
427
sub get_prefs_from_db {
428
    my $dbh = C4::Context->dbh;
428
    my $dbh = C4::Context->dbh;
(-)a/authorities/authorities.pl (-1 / +1 lines)
Lines 437-443 sub build_tabs { Link Here
437
                            fixedfield    => ( $tag < 10 ) ? (1) : (0),
437
                            fixedfield    => ( $tag < 10 ) ? (1) : (0),
438
                            random        => CreateKey,
438
                            random        => CreateKey,
439
                        );
439
                        );
440
                        if ( $tag >= 10 ) {    # no indicator for theses tag
440
                        if ( $tag >= 10 ) {    # no indicator for FIXME CODESPELL (theses ==> these, thesis) tag
441
                            $tag_data{indicator1} = format_indicator( $field->indicator(1) ),
441
                            $tag_data{indicator1} = format_indicator( $field->indicator(1) ),
442
                                $tag_data{indicator2} = format_indicator( $field->indicator(2) ),;
442
                                $tag_data{indicator2} = format_indicator( $field->indicator(2) ),;
443
                        }
443
                        }
(-)a/authorities/blinddetail-biblio-search.pl (-2 / +2 lines)
Lines 79-86 if ($authid) { Link Here
79
    my $auth_type    = Koha::Authority::Types->find($authtypecode);
79
    my $auth_type    = Koha::Authority::Types->find($authtypecode);
80
    my $record       = GetAuthority($authid);
80
    my $record       = GetAuthority($authid);
81
    my @fields       = $record->field( $auth_type->auth_tag_to_report );
81
    my @fields       = $record->field( $auth_type->auth_tag_to_report );
82
    my $repet        = ( $query->param('repet') || 1 ) - 1;
82
    my $repeat        = ( $query->param('repeat') || 1 ) - 1;
83
    my $field        = $fields[$repet];
83
    my $field        = $fields[$repeat];
84
84
85
    # Get all values for each distinct subfield and add to subfield loop
85
    # Get all values for each distinct subfield and add to subfield loop
86
    my %done_subfields;
86
    my %done_subfields;
(-)a/catalogue/MARCdetail.pl (-2 / +2 lines)
Lines 249-257 for ( my $tabloop = 0 ; $tabloop <= 10 ; $tabloop++ ) { Link Here
249
}
249
}
250
250
251
# now, build item tab !
251
# now, build item tab !
252
# the main difference is that datas are in lines and not in columns : thus, we build the <th> first, then the values...
252
# the main difference is that data are in lines and not in columns : thus, we build the <th> first, then the values...
253
# loop through each tag
253
# loop through each tag
254
# warning : we may have differents number of columns in each row. Thus, we first build a hash, complete it if necessary
254
# warning : we may have FIXME CODESPELL (differents ==> different, difference) number of columns in each row. Thus, we first build a hash, complete it if necessary
255
# then construct template.
255
# then construct template.
256
my @fields = $record->fields();
256
my @fields = $record->fields();
257
my %witness;    #---- stores the list of subfields used at least once, with the "meaning" of the code
257
my %witness;    #---- stores the list of subfields used at least once, with the "meaning" of the code
(-)a/catalogue/search.pl (-1 / +1 lines)
Lines 411-417 if ( $params->{'limit-yr'} ) { Link Here
411
    }
411
    }
412
    push @limits, $limit_yr;
412
    push @limits, $limit_yr;
413
413
414
    #FIXME: Should return a error to the user, incorect date format specified
414
    #FIXME: Should return a error to the user, incorrect date format specified
415
}
415
}
416
416
417
# convert indexes and operands to corresponding parameter names for the z3950 search
417
# convert indexes and operands to corresponding parameter names for the z3950 search
(-)a/catalogue/stockrotation.pl (-1 / +1 lines)
Lines 20-26 Link Here
20
=head1 stockrotation.pl
20
=head1 stockrotation.pl
21
21
22
 Script to manage item assignments to stock rotation rotas. Including their
22
 Script to manage item assignments to stock rotation rotas. Including their
23
 assiciated stages
23
 associated stages
24
24
25
=cut
25
=cut
26
26
(-)a/cataloguing/addbiblio.pl (-1 / +1 lines)
Lines 499-505 my $dbh = C4::Context->dbh; Link Here
499
my $hostbiblionumber = $input->param('hostbiblionumber');
499
my $hostbiblionumber = $input->param('hostbiblionumber');
500
my $hostitemnumber   = $input->param('hostitemnumber');
500
my $hostitemnumber   = $input->param('hostitemnumber');
501
501
502
# fast cataloguing datas in transit
502
# fast cataloguing data in transit
503
my $fa_circborrowernumber = $input->param('circborrowernumber');
503
my $fa_circborrowernumber = $input->param('circborrowernumber');
504
my $fa_barcode            = $input->param('barcode');
504
my $fa_barcode            = $input->param('barcode');
505
my $fa_branch             = $input->param('branch');
505
my $fa_branch             = $input->param('branch');
(-)a/cataloguing/addbooks.pl (-1 / +1 lines)
Lines 83-89 if ($query) { Link Here
83
    }
83
    }
84
84
85
    # format output
85
    # format output
86
    # SimpleSearch() give the results per page we want, so 0 offet here
86
    # SimpleSearch() give the results per page we want, so 0 FIXME CODESPELL (offet ==> offset, offer) here
87
    my $total = @{$marcresults};
87
    my $total = @{$marcresults};
88
    my @newresults =
88
    my @newresults =
89
        searchResults( { 'interface' => 'intranet' }, $query, $total, $results_per_page, 0, 0, $marcresults );
89
        searchResults( { 'interface' => 'intranet' }, $query, $total, $results_per_page, 0, 0, $marcresults );
(-)a/cataloguing/additem.pl (-2 / +2 lines)
Lines 131-137 my $hostitemnumber = $input->param('hostitemnumber'); Link Here
131
my $marcflavour    = C4::Context->preference("marcflavour");
131
my $marcflavour    = C4::Context->preference("marcflavour");
132
my $searchid       = $input->param('searchid');
132
my $searchid       = $input->param('searchid');
133
133
134
# fast cataloguing datas
134
# fast cataloguing data
135
my $fa_circborrowernumber  = $input->param('circborrowernumber');
135
my $fa_circborrowernumber  = $input->param('circborrowernumber');
136
my $fa_barcode             = $input->param('barcode');
136
my $fa_barcode             = $input->param('barcode');
137
my $fa_branch              = $input->param('branch');
137
my $fa_branch              = $input->param('branch');
Lines 813-819 $template->{'VARS'}->{'searchid'} = $searchid; Link Here
813
813
814
if ( $frameworkcode eq 'FA' ) {
814
if ( $frameworkcode eq 'FA' ) {
815
815
816
    # fast cataloguing datas
816
    # fast cataloguing data
817
    $template->param(
817
    $template->param(
818
        'circborrowernumber' => $fa_circborrowernumber,
818
        'circborrowernumber' => $fa_circborrowernumber,
819
        'barcode'            => $fa_barcode,
819
        'barcode'            => $fa_barcode,
(-)a/cataloguing/value_builder/callnumber.pl (-2 / +2 lines)
Lines 31-39 use C4::Output qw( output_html_with_http_headers ); Link Here
31
Is used for callnumber computation.
31
Is used for callnumber computation.
32
32
33
If the user send an empty string, we return a simple incremented callnumber.
33
If the user send an empty string, we return a simple incremented callnumber.
34
If a prefix is submited, we look for the highest callnumber with this prefix, and return it incremented.
34
If a prefix is submitted, we look for the highest callnumber with this prefix, and return it incremented.
35
In this case, a callnumber has this form : "PREFIX 0009678570".
35
In this case, a callnumber has this form : "PREFIX 0009678570".
36
 - PREFIX is an upercase word
36
 - PREFIX is an uppercase word
37
 - a space separator
37
 - a space separator
38
 - 10 digits, with leading 0s if needed
38
 - 10 digits, with leading 0s if needed
39
39
(-)a/cataloguing/value_builder/stocknumberAV.pl (-1 / +1 lines)
Lines 86-92 my $launcher = sub { Link Here
86
        }
86
        }
87
    );
87
    );
88
88
89
    # If a prefix is submited, we look for the highest stocknumber with this prefix, and return it incremented
89
    # If a prefix is submitted, we look for the highest stocknumber with this prefix, and return it incremented
90
    $code =~ s/ *$//g;
90
    $code =~ s/ *$//g;
91
    if ( $code =~ m/^[a-zA-Z]+$/ ) {
91
    if ( $code =~ m/^[a-zA-Z]+$/ ) {
92
        my $av = Koha::AuthorisedValues->find(
92
        my $av = Koha::AuthorisedValues->find(
(-)a/cataloguing/value_builder/stocknumberam123.pl (-3 / +3 lines)
Lines 32-40 This plugin is specific to AM123 but could be used as a base for similar operati Link Here
32
It is used for stocknumber computation.
32
It is used for stocknumber computation.
33
33
34
If the user send an empty string, we return a simple incremented stocknumber.
34
If the user send an empty string, we return a simple incremented stocknumber.
35
If a prefix is submited, we look for the highest stocknumber with this prefix, and return it incremented.
35
If a prefix is submitted, we look for the highest stocknumber with this prefix, and return it incremented.
36
In this case, a stocknumber has this form : "PREFIX 0009678570".
36
In this case, a stocknumber has this form : "PREFIX 0009678570".
37
 - PREFIX is an upercase word
37
 - PREFIX is an uppercase word
38
 - a space separator
38
 - a space separator
39
 - 10 digits, with leading 0s if needed
39
 - 10 digits, with leading 0s if needed
40
40
Lines 87-93 my $launcher = sub { Link Here
87
            );
87
            );
88
        }
88
        }
89
89
90
        # If a prefix is submited, we look for the highest stocknumber with this prefix, and return it incremented
90
        # If a prefix is submitted, we look for the highest stocknumber with this prefix, and return it incremented
91
    } elsif ( $code =~ m/^[a-zA-Z]+$/ ) {
91
    } elsif ( $code =~ m/^[a-zA-Z]+$/ ) {
92
        my $sth = $dbh->prepare(
92
        my $sth = $dbh->prepare(
93
            "SELECT MAX(CAST(SUBSTRING_INDEX(stocknumber,' ',-1) AS SIGNED)) FROM items WHERE stocknumber LIKE ?");
93
            "SELECT MAX(CAST(SUBSTRING_INDEX(stocknumber,' ',-1) AS SIGNED)) FROM items WHERE stocknumber LIKE ?");
(-)a/cataloguing/value_builder/unimarc_field_210c_bis.pl (-1 / +1 lines)
Lines 22-28 Link Here
22
This plugin is used to map isbn/editor with collection.
22
This plugin is used to map isbn/editor with collection.
23
It need :
23
It need :
24
  in thesaurus, a category named EDITORS
24
  in thesaurus, a category named EDITORS
25
  in this category, datas must be entered like following :
25
  in this category, data must be entered like following :
26
  isbn separator editor separator collection.
26
  isbn separator editor separator collection.
27
  for example :
27
  for example :
28
  2204 -- Cerf -- Cogitatio fidei
28
  2204 -- Cerf -- Cogitatio fidei
(-)a/cataloguing/value_builder/unimarc_field_225a.pl (-1 / +1 lines)
Lines 22-28 Link Here
22
This plugin is used to map isbn/editor with collection.
22
This plugin is used to map isbn/editor with collection.
23
It need :
23
It need :
24
  in thesaurus, a category named EDITORS
24
  in thesaurus, a category named EDITORS
25
  in this category, datas must be entered like following :
25
  in this category, data must be entered like following :
26
  isbn separator editor separator collection.
26
  isbn separator editor separator collection.
27
  for example :
27
  for example :
28
  2204 -- Cerf -- Cogitatio fidei
28
  2204 -- Cerf -- Cogitatio fidei
(-)a/circ/returns.pl (-2 / +2 lines)
Lines 234-240 my $return_date_override = $query->param('return_date_override') || q{}; Link Here
234
if ($return_date_override) {
234
if ($return_date_override) {
235
    if ( C4::Context->preference('SpecifyReturnDate') ) {
235
    if ( C4::Context->preference('SpecifyReturnDate') ) {
236
236
237
        # note that we've overriden the return date
237
        # note that we've overridden the return date
238
        $template->param( return_date_was_overriden => 1 );
238
        $template->param( return_date_was_overriden => 1 );
239
239
240
        my $return_date_override_remember = $query->param('return_date_override_remember');
240
        my $return_date_override_remember = $query->param('return_date_override_remember');
Lines 578-584 if ( $messages->{'Wrongbranch'} ) { Link Here
578
    );
578
    );
579
}
579
}
580
580
581
# case of wrong transfert, if the document wasn't transferred to the right library (according to branchtransfer (tobranch) BDD)
581
# case of wrong FIXME CODESPELL (transfert ==> transfer, transferred), if the document wasn't transferred to the right library (according to branchtransfer (tobranch) BDD)
582
582
583
if ( $messages->{'WrongTransfer'} and not $messages->{'WasTransfered'} ) {
583
if ( $messages->{'WrongTransfer'} and not $messages->{'WasTransfered'} ) {
584
584
(-)a/circ/set-library.pl (-2 / +2 lines)
Lines 63-70 if ( Link Here
63
{
63
{
64
    if ( !$userenv_branch or $userenv_branch ne $branch ) {
64
    if ( !$userenv_branch or $userenv_branch ne $branch ) {
65
        my $branchname = $library->branchname;
65
        my $branchname = $library->branchname;
66
        $session->param( 'branchname', $branchname );    # update sesssion in DB
66
        $session->param( 'branchname', $branchname );    # update session in DB
67
        $session->param( 'branch',     $branch );        # update sesssion in DB
67
        $session->param( 'branch',     $branch );        # update session in DB
68
        $updated = 1;
68
        $updated = 1;
69
    }
69
    }
70
} else {
70
} else {
(-)a/circ/transferstoreceive.pl (-1 / +1 lines)
Lines 103-109 while ( my $library = $libraries->next ) { Link Here
103
                itemcallnumber => $item->itemcallnumber,
103
                itemcallnumber => $item->itemcallnumber,
104
            );
104
            );
105
105
106
            # we check if we have a reserv for this transfer
106
            # we check if we have a reserve for this transfer
107
            my $holds = $item->current_holds;
107
            my $holds = $item->current_holds;
108
            if ( my $first_hold = $holds->next ) {
108
            if ( my $first_hold = $holds->next ) {
109
                $getransf{patron} = Koha::Patrons->find( $first_hold->borrowernumber );
109
                $getransf{patron} = Koha::Patrons->find( $first_hold->borrowernumber );
(-)a/docs/CAS/CASProxy/examples/proxy_cas_data.pl (-1 / +1 lines)
Lines 26-32 Link Here
26
=head2 PGTIOU
26
=head2 PGTIOU
27
27
28
The Proxy Granting Ticket IOU the CAS Server returned to us when we gave him the Service Ticket
28
The Proxy Granting Ticket IOU the CAS Server returned to us when we gave him the Service Ticket
29
This PGTIOU will allow us to retrive the matching PGTID
29
This PGTIOU will allow us to retrieve the matching PGTID
30
30
31
=cut 
31
=cut 
32
32
(-)a/fix-perl-path.PL (-1 / +1 lines)
Lines 29-35 $bindir =~ s!\\!/!g; # make all directory separators uniform since Win32 does Link Here
29
my $shebang = "#!$bindir\/perl";
29
my $shebang = "#!$bindir\/perl";
30
30
31
warn "Perl binary located in $bindir on this system.\n"        if $DEBUG;
31
warn "Perl binary located in $bindir on this system.\n"        if $DEBUG;
32
warn "The shebang line for this sytems should be $shebang\n\n" if $DEBUG;
32
warn "The shebang line for this systems should be $shebang\n\n" if $DEBUG;
33
33
34
die if $basedir eq 'test';
34
die if $basedir eq 'test';
35
35
(-)a/installer/data/mysql/db_revs/210600018.pl (-1 / +1 lines)
Lines 2-8 use Modern::Perl; Link Here
2
2
3
return {
3
return {
4
    bug_number  => "22690",
4
    bug_number  => "22690",
5
    description => "Add contraints to the linktracker table",
5
    description => "Add constraints to the linktracker table",
6
    up          => sub {
6
    up          => sub {
7
        my ($args) = @_;
7
        my ($args) = @_;
8
        my ( $dbh, $out ) = @$args{qw(dbh out)};
8
        my ( $dbh, $out ) = @$args{qw(dbh out)};
(-)a/installer/data/mysql/db_revs/210600020.pl (-1 / +1 lines)
Lines 9-15 return { Link Here
9
        $dbh->do(
9
        $dbh->do(
10
            q{
10
            q{
11
            INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES
11
            INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES
12
            ('PassItemMarcToXSLT','0',NULL,'If enabled, item fields in the MARC record will be made avaiable to XSLT sheets. Otherwise they will be removed.','YesNo');
12
            ('PassItemMarcToXSLT','0',NULL,'If enabled, item fields in the MARC record will be made available to XSLT sheets. Otherwise they will be removed.','YesNo');
13
        }
13
        }
14
        );
14
        );
15
        foreach my $pref (
15
        foreach my $pref (
(-)a/installer/data/mysql/db_revs/211200000.pl (-1 / +1 lines)
Lines 11-17 return { Link Here
11
11
12
        say $out encode_utf8 '📜 All that is gold does not glitter,';
12
        say $out encode_utf8 '📜 All that is gold does not glitter,';
13
        say $out encode_utf8 '📜 Not all those who wander are lost;';
13
        say $out encode_utf8 '📜 Not all those who wander are lost;';
14
        say $out encode_utf8 '📜 The old that is strong does not wither,';
14
        say $out encode_utf8 '📜 The old that is strong does not FIXME CODESPELL (wither ==> either, whether, weather),';
15
        say $out encode_utf8 '📜 Deep roots are not reached by the frost.';
15
        say $out encode_utf8 '📜 Deep roots are not reached by the frost.';
16
    },
16
    },
17
    }
17
    }
(-)a/installer/data/mysql/db_revs/211200030.pl (-1 / +1 lines)
Lines 9-15 return { Link Here
9
        $dbh->do(
9
        $dbh->do(
10
            q{
10
            q{
11
            INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES
11
            INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES
12
            ('EdifactLSQ', 'location', 'location|ccode', "Map EDI sequence code (GIR+LSQ) to Koha Item field", 'Choice')
12
            ('EdifactLSQ', 'location', 'location|ccode', "Map EDI sequence code (GIT+LSQ) to Koha Item field", 'Choice')
13
        }
13
        }
14
        );
14
        );
15
    },
15
    },
(-)a/installer/data/mysql/db_revs/220600059.pl (-1 / +1 lines)
Lines 11-17 return { Link Here
11
        $dbh->do(
11
        $dbh->do(
12
            q{
12
            q{
13
            INSERT IGNORE INTO letter (module, code, name, title, content, message_transport_type) VALUES ('members', 'PASSWORD_CHANGE', 'Notification of password change', 'Library account password change notification',
13
            INSERT IGNORE INTO letter (module, code, name, title, content, message_transport_type) VALUES ('members', 'PASSWORD_CHANGE', 'Notification of password change', 'Library account password change notification',
14
            "Dear [% borrower.firstname %] [% borrower.surname %],\r\n\r\nWe want to notify you that your password has been changed. If you did not change it yourself (or requested that change), please contact library staff.\r\n\r\nYour library.", 'email');
14
            "Dear [% borrower.firstname %] [% borrower.surname %],\r\n\r\new want to notify you that your password has been changed. If you did not change it yourself (or requested that change), please contact library staff.\r\n\r\nYour library.", 'email');
15
        }
15
        }
16
        );
16
        );
17
17
(-)a/installer/data/mysql/db_revs/221200003.pl (-1 / +1 lines)
Lines 9-15 return { Link Here
9
9
10
        my $permission_added = $dbh->do(
10
        my $permission_added = $dbh->do(
11
            q{
11
            q{
12
            INSERT IGNORE INTO permissions (module_bit, code, description) VALUES ( 9, 'edit_any_item', 'Edit any item reguardless of home library');
12
            INSERT IGNORE INTO permissions (module_bit, code, description) VALUES ( 9, 'edit_any_item', 'Edit any item regardless of home library');
13
        }
13
        }
14
        );
14
        );
15
15
(-)a/installer/data/mysql/db_revs/231200023.pl (-1 / +1 lines)
Lines 41-46 return { Link Here
41
        $dbh->do(
41
        $dbh->do(
42
            q{ALTER TABLE aqbudgets ADD CONSTRAINT `aqbudgetperiods_ibfk_1` FOREIGN KEY (`budget_period_id`) REFERENCES aqbudgetperiods(`budget_period_id`) ON DELETE CASCADE ON UPDATE CASCADE}
42
            q{ALTER TABLE aqbudgets ADD CONSTRAINT `aqbudgetperiods_ibfk_1` FOREIGN KEY (`budget_period_id`) REFERENCES aqbudgetperiods(`budget_period_id`) ON DELETE CASCADE ON UPDATE CASCADE}
43
        );
43
        );
44
        say $out "Readded foreign key aqbudgetperiods_ibfk_1";
44
        say $out "Read foreign key aqbudgetperiods_ibfk_1";
45
    },
45
    },
46
};
46
};
(-)a/installer/data/mysql/fix_unclosed_nonaccruing_fines_bug17135.pl (-1 / +1 lines)
Lines 167-173 sub Bug_17135_fix { Link Here
167
167
168
            ## If we are here: item is due again, but fine is not accruing
168
            ## If we are here: item is due again, but fine is not accruing
169
            ## yet (overdue may be in the grace period, 1st charging period
169
            ## yet (overdue may be in the grace period, 1st charging period
170
            ## is not over yet, all days beetwen due date and today are
170
            ## is not over yet, all days between due date and today are
171
            ## holidays etc.). Old fine record needs to be closed
171
            ## holidays etc.). Old fine record needs to be closed
172
            $is_not_accruing = 1;
172
            $is_not_accruing = 1;
173
        }
173
        }
(-)a/installer/data/mysql/labels_upgrade.pl (-1 / +1 lines)
Lines 189-195 $sth->do("DROP TABLE IF EXISTS labels_profile;") or die "DB ERROR: " . $sth->e Link Here
189
$sth->do("DROP TABLE IF EXISTS labels_templates;") or die "DB ERROR: " . $sth->errstr . "\n";
189
$sth->do("DROP TABLE IF EXISTS labels_templates;") or die "DB ERROR: " . $sth->errstr . "\n";
190
$sth->do("DROP TABLE IF EXISTS printers_profile;") or die "DB ERROR: " . $sth->errstr . "\n";
190
$sth->do("DROP TABLE IF EXISTS printers_profile;") or die "DB ERROR: " . $sth->errstr . "\n";
191
191
192
# Rename temporary tables to permenant names...
192
# Rename temporary tables to permanent names...
193
193
194
$sth->do("ALTER TABLE labels_batches_tmp RENAME TO labels_batches;")     or die "DB ERROR: " . $sth->errstr . "\n";
194
$sth->do("ALTER TABLE labels_batches_tmp RENAME TO labels_batches;")     or die "DB ERROR: " . $sth->errstr . "\n";
195
$sth->do("ALTER TABLE labels_layouts_tmp RENAME TO labels_layouts;")     or die "DB ERROR: " . $sth->errstr . "\n";
195
$sth->do("ALTER TABLE labels_layouts_tmp RENAME TO labels_layouts;")     or die "DB ERROR: " . $sth->errstr . "\n";
(-)a/installer/data/mysql/patroncards_upgrade.pl (-1 / +1 lines)
Lines 149-155 $sth->do("DROP TABLE IF EXISTS labels_batches;") or die "DB ERROR: " . $sth->e Link Here
149
$sth->do("DROP TABLE IF EXISTS labels_layouts;")   or die "DB ERROR: " . $sth->errstr . "\n";
149
$sth->do("DROP TABLE IF EXISTS labels_layouts;")   or die "DB ERROR: " . $sth->errstr . "\n";
150
$sth->do("DROP TABLE IF EXISTS labels_templates;") or die "DB ERROR: " . $sth->errstr . "\n";
150
$sth->do("DROP TABLE IF EXISTS labels_templates;") or die "DB ERROR: " . $sth->errstr . "\n";
151
151
152
# Rename temporary tables to permenant names...
152
# Rename temporary tables to permanent names...
153
153
154
$sth->do("ALTER TABLE creator_batches_tmp RENAME TO creator_batches;")     or die "DB ERROR: " . $sth->errstr . "\n";
154
$sth->do("ALTER TABLE creator_batches_tmp RENAME TO creator_batches;")     or die "DB ERROR: " . $sth->errstr . "\n";
155
$sth->do("ALTER TABLE creator_layouts_tmp RENAME TO creator_layouts;")     or die "DB ERROR: " . $sth->errstr . "\n";
155
$sth->do("ALTER TABLE creator_layouts_tmp RENAME TO creator_layouts;")     or die "DB ERROR: " . $sth->errstr . "\n";
(-)a/installer/data/mysql/update22to30.pl (-14 / +14 lines)
Lines 354-360 my %tabledata = ( Link Here
354
                'explanation' => 1,
354
                'explanation' => 1,
355
                'type'        => 1
355
                'type'        => 1
356
            },
356
            },
357
            explanation => 'Max delay before considering the transfer has potentialy a problem',
357
            explanation => 'Max delay before considering the transfer has potentially a problem',
358
            type        => 'free',
358
            type        => 'free',
359
        },
359
        },
360
        {
360
        {
Lines 398-404 my %tabledata = ( Link Here
398
                'explanation' => 1,
398
                'explanation' => 1,
399
                'type'        => 1
399
                'type'        => 1
400
            },
400
            },
401
            explanation => 'This Variable allow or not to return automaticly to his homebranch',
401
            explanation => 'This Variable allow or not to return automatically to his homebranch',
402
            type        => 'YesNo',
402
            type        => 'YesNo',
403
        },
403
        },
404
        {
404
        {
Lines 849-855 my %fielddefinitions = ( Link Here
849
            null    => 'NOT NULL',
849
            null    => 'NOT NULL',
850
            key     => '',
850
            key     => '',
851
            default => "''",
851
            default => "''",
852
            exra    => '',
852
            extra    => '',
853
        },
853
        },
854
        {
854
        {
855
            field   => 'branchcode',
855
            field   => 'branchcode',
Lines 857-863 my %fielddefinitions = ( Link Here
857
            null    => 'NULL',
857
            null    => 'NULL',
858
            key     => '',
858
            key     => '',
859
            default => '',
859
            default => '',
860
            exra    => '',
860
            extra    => '',
861
        },
861
        },
862
    ],
862
    ],
863
863
Lines 868-874 my %fielddefinitions = ( Link Here
868
            null    => 'NOT NULL',
868
            null    => 'NOT NULL',
869
            key     => '',
869
            key     => '',
870
            default => "''",
870
            default => "''",
871
            exra    => '',
871
            extra    => '',
872
        },
872
        },
873
        {
873
        {
874
            field   => 'branchcode',
874
            field   => 'branchcode',
Lines 876-882 my %fielddefinitions = ( Link Here
876
            null    => 'NULL',
876
            null    => 'NULL',
877
            key     => '',
877
            key     => '',
878
            default => '',
878
            default => '',
879
            exra    => '',
879
            extra    => '',
880
        },
880
        },
881
    ],
881
    ],
882
882
Lines 887-893 my %fielddefinitions = ( Link Here
887
            null    => 'NULL',
887
            null    => 'NULL',
888
            key     => '',
888
            key     => '',
889
            default => 'NULL',
889
            default => 'NULL',
890
            exra    => '',
890
            extra    => '',
891
        },
891
        },
892
        {
892
        {
893
            field   => 'deliverycomments',
893
            field   => 'deliverycomments',
Lines 895-901 my %fielddefinitions = ( Link Here
895
            null    => 'NULL',
895
            null    => 'NULL',
896
            key     => '',
896
            key     => '',
897
            default => '',
897
            default => '',
898
            exra    => '',
898
            extra    => '',
899
        },
899
        },
900
    ],
900
    ],
901
901
Lines 906-912 my %fielddefinitions = ( Link Here
906
            null    => 'NULL',
906
            null    => 'NULL',
907
            key     => '',
907
            key     => '',
908
            default => '',
908
            default => '',
909
            exra    => '',
909
            extra    => '',
910
        },
910
        },
911
        {
911
        {
912
            field   => 'currency',
912
            field   => 'currency',
Lines 914-920 my %fielddefinitions = ( Link Here
914
            null    => 'NULL',
914
            null    => 'NULL',
915
            key     => '',
915
            key     => '',
916
            default => 'NULL',
916
            default => 'NULL',
917
            exra    => '',
917
            extra    => '',
918
        },
918
        },
919
        {
919
        {
920
            field   => 'booksellerinvoicenumber',
920
            field   => 'booksellerinvoicenumber',
Lines 1262-1268 my %fielddefinitions = ( Link Here
1262
            after => 'initials',
1262
            after => 'initials',
1263
        },
1263
        },
1264
        {
1264
        {
1265
            field => 'streettype',      # street table, list builded from a system table
1265
            field => 'streettype',      # street table, list built from a system table
1266
            type  => 'varchar(50)',
1266
            type  => 'varchar(50)',
1267
            null  => 'NULL',
1267
            null  => 'NULL',
1268
            after => 'streetnumber',
1268
            after => 'streetnumber',
Lines 1279-1285 my %fielddefinitions = ( Link Here
1279
            after => 'fax',
1279
            after => 'fax',
1280
        },
1280
        },
1281
        {
1281
        {
1282
            field => 'B_streettype',      # street table, list builded from a system table
1282
            field => 'B_streettype',      # street table, list built from a system table
1283
            type  => 'varchar(50)',
1283
            type  => 'varchar(50)',
1284
            null  => 'NULL',
1284
            null  => 'NULL',
1285
            after => 'B_streetnumber',
1285
            after => 'B_streetnumber',
Lines 1957-1963 my %fielddefinitions = ( Link Here
1957
            after   => 'initials',
1957
            after   => 'initials',
1958
        },
1958
        },
1959
        {
1959
        {
1960
            field   => 'streettype',      # street table, list builded from a system table
1960
            field   => 'streettype',      # street table, list built from a system table
1961
            type    => 'varchar(50)',
1961
            type    => 'varchar(50)',
1962
            null    => 'NULL',
1962
            null    => 'NULL',
1963
            default => 'NULL',
1963
            default => 'NULL',
Lines 1975-1981 my %fielddefinitions = ( Link Here
1975
            after => 'fax',
1975
            after => 'fax',
1976
        },
1976
        },
1977
        {
1977
        {
1978
            field => 'B_streettype',      # street table, list builded from a system table
1978
            field => 'B_streettype',      # street table, list built from a system table
1979
            type  => 'varchar(50)',
1979
            type  => 'varchar(50)',
1980
            null  => 'NULL',
1980
            null  => 'NULL',
1981
            after => 'B_streetnumber',
1981
            after => 'B_streetnumber',
(-)a/installer/data/mysql/updatedatabase.pl (-39 / +39 lines)
Lines 228-234 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
228
    );
228
    );
229
229
230
    # default mapping of call number columns:
230
    # default mapping of call number columns:
231
    #   cn_class = concatentation of classification + dewey,
231
    #   cn_class = concatenation of classification + dewey,
232
    #              trimmed to fit -- assumes that most users do not
232
    #              trimmed to fit -- assumes that most users do not
233
    #              populate both classification and dewey in a single record
233
    #              populate both classification and dewey in a single record
234
    #   cn_item  = subclass
234
    #   cn_item  = subclass
Lines 1703-1709 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
1703
    $dbh->do(
1703
    $dbh->do(
1704
        q#
1704
        q#
1705
	INSERT INTO `systempreferences` VALUES
1705
	INSERT INTO `systempreferences` VALUES
1706
		('BakerTaylorBookstoreURL','','','URL template for \"My Libary Bookstore\" links, to which the \"key\" value is appended, and \"https://\" is prepended.  It should include your hostname and \"Parent Number\".  Make this variable empty to turn MLB links off.  Example: ocls.mylibrarybookstore.com/MLB/actions/searchHandler.do?nextPage=bookDetails&parentNum=10923&key=',''),
1706
		('BakerTaylorBookstoreURL','','','URL template for \"My Library Bookstore\" links, to which the \"key\" value is appended, and \"https://\" is prepended.  It should include your hostname and \"Parent Number\".  Make this variable empty to turn MLB links off.  Example: ocls.mylibrarybookstore.com/MLB/actions/searchHandler.do?nextPage=bookDetails&parentNum=10923&key=',''),
1707
		('BakerTaylorEnabled','0','','Enable or disable all Baker & Taylor features.','YesNo'),
1707
		('BakerTaylorEnabled','0','','Enable or disable all Baker & Taylor features.','YesNo'),
1708
		('BakerTaylorPassword','','','Baker & Taylor Password for Content Cafe (external content)','Textarea'),
1708
		('BakerTaylorPassword','','','Baker & Taylor Password for Content Cafe (external content)','Textarea'),
1709
		('BakerTaylorUsername','','','Baker & Taylor Username for Content Cafe (external content)','Textarea'),
1709
		('BakerTaylorUsername','','','Baker & Taylor Username for Content Cafe (external content)','Textarea'),
Lines 2271-2277 if ( C4::Context->preference('Version') < TransformToNum($DBversion) ) { Link Here
2271
    $dbh->do('ALTER TABLE serialitems DROP KEY serialididx');
2271
    $dbh->do('ALTER TABLE serialitems DROP KEY serialididx');
2272
    $dbh->do('ALTER TABLE serialitems ADD CONSTRAINT UNIQUE KEY serialitemsidx (itemnumber)');
2272
    $dbh->do('ALTER TABLE serialitems ADD CONSTRAINT UNIQUE KEY serialitemsidx (itemnumber)');
2273
2273
2274
    # before setting constraint, delete any unvalid data
2274
    # before setting constraint, delete any invalid data
2275
    $dbh->do('DELETE from serialitems WHERE serialid not in (SELECT serial.serialid FROM serial)');
2275
    $dbh->do('DELETE from serialitems WHERE serialid not in (SELECT serial.serialid FROM serial)');
2276
    $dbh->do(
2276
    $dbh->do(
2277
        'ALTER TABLE serialitems ADD CONSTRAINT serialitems_sfk_1 FOREIGN KEY (serialid) REFERENCES serial (serialid) ON DELETE CASCADE ON UPDATE CASCADE'
2277
        'ALTER TABLE serialitems ADD CONSTRAINT serialitems_sfk_1 FOREIGN KEY (serialid) REFERENCES serial (serialid) ON DELETE CASCADE ON UPDATE CASCADE'
Lines 3631-3637 BUDGETDROPDATES Link Here
3631
                    ORDER BY budget_code, budget_period_startdate|, { Slice => {} }
3631
                    ORDER BY budget_code, budget_period_startdate|, { Slice => {} }
3632
    );
3632
    );
3633
3633
3634
    # We arbitarily order on start date, this means if you have overlapping periods the order will be
3634
    # We arbitrarily order on start date, this means if you have overlapping periods the order will be
3635
    # linked to the latest matching budget YMMV
3635
    # linked to the latest matching budget YMMV
3636
    my $b_sth = $dbh->prepare(
3636
    my $b_sth = $dbh->prepare(
3637
        'UPDATE fundmapping set aqbudgetid = ? where bookfundid =? AND budgetdate >= ? AND budgetdate <= ?');
3637
        'UPDATE fundmapping set aqbudgetid = ? where bookfundid =? AND budgetdate >= ? AND budgetdate <= ?');
Lines 3648-3654 BUDGETDROPDATES Link Here
3648
                    WHERE aqorders.ordernumber = fundmapping.ordernumber AND fundmapping.aqbudgetid IS NOT NULL|
3648
                    WHERE aqorders.ordernumber = fundmapping.ordernumber AND fundmapping.aqbudgetid IS NOT NULL|
3649
    );
3649
    );
3650
3650
3651
    # NB fundmapping is left as an accontants trail also if you have budgetids that werent set
3651
    # NB fundmapping is left as an accontants trail also if you have budgetids that weren't set
3652
    # you can decide what to do with them
3652
    # you can decide what to do with them
3653
3653
3654
    $dbh->do(
3654
    $dbh->do(
Lines 4616-4622 VALUES Link Here
4616
INSERT INTO `letter`
4616
INSERT INTO `letter`
4617
(module, code, name, title, content)
4617
(module, code, name, title, content)
4618
VALUES
4618
VALUES
4619
('suggestions','AVAILABLE','Suggestion available', 'Suggested purchase available','Dear <<borrowers.firstname>> <<borrowers.surname>>,\n\nYou have suggested that the library acquire <<suggestions.title>> by <<suggestions.author>>.\n\nWe are pleased to inform you that the item you requested is now part of the collection.\n\nIf you have any questions, please email us at <<branches.branchemail>>.\n\nThank you,\n\n<<branches.branchname>>')
4619
('suggestions','AVAILABLE','Suggestion available', 'Suggested purchase available','Dear <<borrowers.firstname>> <<borrowers.surname>>,\n\nYou have suggested that the library acquire <<suggestions.title>> by <<suggestions.author>>.\n\new are pleased to inform you that the item you requested is now part of the collection.\n\nIf you have any questions, please email us at <<branches.branchemail>>.\n\nThank you,\n\n<<branches.branchname>>')
4620
/
4620
/
4621
    ) unless $count > 0;
4621
    ) unless $count > 0;
4622
    $count = $dbh->selectrow_array(
4622
    $count = $dbh->selectrow_array(
Lines 4628-4634 VALUES Link Here
4628
INSERT INTO `letter`
4628
INSERT INTO `letter`
4629
(module, code, name, title, content)
4629
(module, code, name, title, content)
4630
VALUES
4630
VALUES
4631
('suggestions','ORDERED','Suggestion ordered', 'Suggested item ordered','Dear <<borrowers.firstname>> <<borrowers.surname>>,\n\nYou have suggested that the library acquire <<suggestions.title>> by <<suggestions.author>>.\n\nWe are pleased to inform you that the item you requested has now been ordered. It should arrive soon, at which time it will be processed for addition into the collection.\n\nYou will be notified again when the book is available.\n\nIf you have any questions, please email us at <<branches.branchemail>>\n\nThank you,\n\n<<branches.branchname>>')
4631
('suggestions','ORDERED','Suggestion ordered', 'Suggested item ordered','Dear <<borrowers.firstname>> <<borrowers.surname>>,\n\nYou have suggested that the library acquire <<suggestions.title>> by <<suggestions.author>>.\n\new are pleased to inform you that the item you requested has now been ordered. It should arrive soon, at which time it will be processed for addition into the collection.\n\nYou will be notified again when the book is available.\n\nIf you have any questions, please email us at <<branches.branchemail>>\n\nThank you,\n\n<<branches.branchname>>')
4632
/
4632
/
4633
    ) unless $count > 0;
4633
    ) unless $count > 0;
4634
    $count = $dbh->selectrow_array(
4634
    $count = $dbh->selectrow_array(
Lines 5089-5095 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
5089
$DBversion = "3.03.00.041";
5089
$DBversion = "3.03.00.041";
5090
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
5090
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
5091
    $dbh->do(
5091
    $dbh->do(
5092
        "INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AlternateHoldingsField','','The MARC field/subfield that contains alternate holdings information for bibs taht do not have items attached (e.g. 852abchi for libraries converting from MARC Magician).',NULL,'free')"
5092
        "INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AlternateHoldingsField','','The MARC field/subfield that contains alternate holdings information for bibs that do not have items attached (e.g. 852abchi for libraries converting from MARC Magician).',NULL,'free')"
5093
    );
5093
    );
5094
    $dbh->do(
5094
    $dbh->do(
5095
        "INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AlternateHoldingsSeparator','','The string to use to separate subfields in alternate holdings displays.',NULL,'free')"
5095
        "INSERT INTO `systempreferences` (variable,value,explanation,options,type) VALUES('AlternateHoldingsSeparator','','The string to use to separate subfields in alternate holdings displays.',NULL,'free')"
Lines 5196-5202 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
5196
$DBversion = "3.03.00.050";
5196
$DBversion = "3.03.00.050";
5197
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
5197
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
5198
    $dbh->do( "
5198
    $dbh->do( "
5199
	INSERT IGNORE INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OpacHiddenItems','','This syspref allows to define custom rules for hiding specific items at opac. See docs/opac/OpacHiddenItems.txt for more informations.','','Textarea');
5199
	INSERT IGNORE INTO `systempreferences` (variable,value,explanation,options,type) VALUES('OpacHiddenItems','','This syspref allows to define custom rules for hiding specific items at opac. See docs/opac/OpacHiddenItems.txt for more information.','','Textarea');
5200
	" );
5200
	" );
5201
    print "Upgrade to $DBversion done (Adding OpacHiddenItems syspref)\n";
5201
    print "Upgrade to $DBversion done (Adding OpacHiddenItems syspref)\n";
5202
    SetVersion($DBversion);
5202
    SetVersion($DBversion);
Lines 5567-5573 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
5567
    if ( C4::Context->preference("marcflavour") eq 'MARC21' ) {
5567
    if ( C4::Context->preference("marcflavour") eq 'MARC21' ) {
5568
        if ( C4::Context->preference("opaclanguages") eq "de" ) {
5568
        if ( C4::Context->preference("opaclanguages") eq "de" ) {
5569
            $dbh->do(
5569
            $dbh->do(
5570
                "INSERT INTO `marc_tag_structure` (`tagfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `authorised_value`, `frameworkcode`) VALUES ('545', 'Fußnote zu biografischen oder historischen Daten', 'Fußnote zu biografischen oder historischen Daten', 1, 0, NULL, '');"
5570
                "INSERT INTO `marc_tag_structure` (`tagfield`, `liblibrarian`, `libopac`, `repeatable`, `mandatory`, `authorised_value`, `frameworkcode`) VALUES ('545', 'Fußnote zu biografischen FIXME CODESPELL (FIXME CODESPELL (oder ==> order, odor) ==> order, odor) historischen Daten', 'Fußnote zu biografischen FIXME CODESPELL (FIXME CODESPELL (oder ==> order, odor) ==> order, odor) historischen Daten', 1, 0, NULL, '');"
5571
            );
5571
            );
5572
        } else {
5572
        } else {
5573
            $dbh->do(
5573
            $dbh->do(
Lines 6870-6876 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
6870
$DBversion = '3.09.00.033';
6870
$DBversion = '3.09.00.033';
6871
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
6871
if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) {
6872
    $dbh->do(
6872
    $dbh->do(
6873
        "INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacSuppressionByIPRange','','Restrict the suppression to IP adresses outside of the IP range','','free');"
6873
        "INSERT INTO systempreferences (variable,value,explanation,options,type) VALUES('OpacSuppressionByIPRange','','Restrict the suppression to IP addresses outside of the IP range','','free');"
6874
    );
6874
    );
6875
    print "Upgrade to $DBversion done (Add OpacSuppressionByIPRange syspref)\n";
6875
    print "Upgrade to $DBversion done (Add OpacSuppressionByIPRange syspref)\n";
6876
    SetVersion($DBversion);
6876
    SetVersion($DBversion);
Lines 6913-6919 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
6913
    );
6913
    );
6914
6914
6915
    print
6915
    print
6916
        "Upgrade to $DBversion done (Add colum agerestriction to biblioitems and deletedbiblioitems, add system preferences AgeRestrictionMarker and AgeRestrictionOverride)\n";
6916
        "Upgrade to $DBversion done (Add column agerestriction to biblioitems and deletedbiblioitems, add system preferences AgeRestrictionMarker and AgeRestrictionOverride)\n";
6917
    SetVersion($DBversion);
6917
    SetVersion($DBversion);
6918
}
6918
}
6919
6919
Lines 7416-7422 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
7416
        qq{CREATE TABLE authorised_values_branches(av_id INTEGER, branchcode VARCHAR(10), FOREIGN KEY (av_id) REFERENCES authorised_values(id) ON DELETE CASCADE, FOREIGN KEY  (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ) ENGINE=INNODB DEFAULT CHARSET=utf8;}
7416
        qq{CREATE TABLE authorised_values_branches(av_id INTEGER, branchcode VARCHAR(10), FOREIGN KEY (av_id) REFERENCES authorised_values(id) ON DELETE CASCADE, FOREIGN KEY  (branchcode) REFERENCES branches(branchcode) ON DELETE CASCADE ) ENGINE=INNODB DEFAULT CHARSET=utf8;}
7417
    );
7417
    );
7418
7418
7419
    print "Upgrade to $DBversion done (Bug 7919: Display of values depending on the connexion library)\n";
7419
    print "Upgrade to $DBversion done (Bug 7919: Display of values depending on the connection library)\n";
7420
    SetVersion($DBversion);
7420
    SetVersion($DBversion);
7421
}
7421
}
7422
7422
Lines 8191-8197 if ( CheckVersion($DBversion) ) { Link Here
8191
        UPDATE issuingrules SET renewalperiod = issuelength
8191
        UPDATE issuingrules SET renewalperiod = issuelength
8192
    }
8192
    }
8193
    );
8193
    );
8194
    print "Upgrade to $DBversion done (Bug 8365: Add colum issuingrules.renewalperiod)\n";
8194
    print "Upgrade to $DBversion done (Bug 8365: Add column issuingrules.renewalperiod)\n";
8195
    SetVersion($DBversion);
8195
    SetVersion($DBversion);
8196
}
8196
}
8197
8197
Lines 8271-8277 if ( CheckVersion($DBversion) ) { Link Here
8271
    $dbh->do(
8271
    $dbh->do(
8272
        "INSERT INTO language_descriptions(subtag, type, lang, description) VALUES( 'ca', 'language', 'de', 'Katalanisch')"
8272
        "INSERT INTO language_descriptions(subtag, type, lang, description) VALUES( 'ca', 'language', 'de', 'Katalanisch')"
8273
    );
8273
    );
8274
    print "Upgrade to $DBversion done (Bug 9381: Add Catalan laguage)\n";
8274
    print "Upgrade to $DBversion done (Bug 9381: Add Catalan language)\n";
8275
    SetVersion($DBversion);
8275
    SetVersion($DBversion);
8276
}
8276
}
8277
8277
Lines 12015-12021 $DBversion = "3.17.00.059"; Link Here
12015
if ( CheckVersion($DBversion) ) {
12015
if ( CheckVersion($DBversion) ) {
12016
    $dbh->do(
12016
    $dbh->do(
12017
        q{
12017
        q{
12018
        UPDATE permissions SET description = "Add and delete budgets (but can't modifiy budgets)" WHERE description = "Add and delete budgets (but cant modify budgets)";
12018
        UPDATE permissions SET description = "Add and delete budgets (but can't modify budgets)" WHERE description = "Add and delete budgets (but can't modify budgets)";
12019
    }
12019
    }
12020
    );
12020
    );
12021
    print "Upgrade to $DBversion done (Bug 10749: Fix typo in budget_add_del permission description)\n";
12021
    print "Upgrade to $DBversion done (Bug 10749: Fix typo in budget_add_del permission description)\n";
Lines 16239-16245 if ( CheckVersion($DBversion) ) { Link Here
16239
    }
16239
    }
16240
    $dbh->do(
16240
    $dbh->do(
16241
        q{
16241
        q{
16242
        INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES ('TrackLastPatronActivity', '0', 'If set, the field borrowers.lastseen will be updated everytime a patron is seen', NULL, 'YesNo');
16242
        INSERT IGNORE INTO systempreferences (variable,value,explanation,options,type) VALUES ('TrackLastPatronActivity', '0', 'If set, the field borrowers.lastseen will be updated every time a patron is seen', NULL, 'YesNo');
16243
    }
16243
    }
16244
    );
16244
    );
16245
16245
Lines 16263-16269 if ( C4::Context->preference("Version") < TransformToNum($DBversion) ) { Link Here
16263
            print
16263
            print
16264
                "WARNING: There is a possibility (= just a possibility, it's configuration dependent etc.) that - due to regression introduced by Bug 15675 - some old fine records for overdued items (items which got renewed 1+ time while being overdue) may have been overwritten in your production 16.05+ database. See Bugzilla reports for Bug 14390 and Bug 17135 for more details.\n";
16264
                "WARNING: There is a possibility (= just a possibility, it's configuration dependent etc.) that - due to regression introduced by Bug 15675 - some old fine records for overdued items (items which got renewed 1+ time while being overdue) may have been overwritten in your production 16.05+ database. See Bugzilla reports for Bug 14390 and Bug 17135 for more details.\n";
16265
            print
16265
            print
16266
                "WARNING: Please note that this upgrade does not try to recover such overwitten old fine records (if any) - it's just an follow-up for Bug 14390, its sole purpose is preventing eventual further-on overwrites from happening in the future. Optional recovery of the overwritten fines (again, if any) is like, totally outside of the scope of this particular upgrade!\n";
16266
                "WARNING: Please note that this upgrade does not try to recover such overwritten old fine records (if any) - it's just an follow-up for Bug 14390, its sole purpose is preventing eventual further-on overwrites from happening in the future. Optional recovery of the overwritten fines (again, if any) is like, totally outside of the scope of this particular upgrade!\n";
16267
        }
16267
        }
16268
        SetVersion($DBversion);
16268
        SetVersion($DBversion);
16269
    }
16269
    }
Lines 16539-16545 if ( CheckVersion($DBversion) ) { Link Here
16539
        CREATE TABLE IF NOT EXISTS `housebound_profile` (
16539
        CREATE TABLE IF NOT EXISTS `housebound_profile` (
16540
          `borrowernumber` int(11) NOT NULL, -- Number of the borrower associated with this profile.
16540
          `borrowernumber` int(11) NOT NULL, -- Number of the borrower associated with this profile.
16541
          `day` text NOT NULL,  -- The preferred day of the week for delivery.
16541
          `day` text NOT NULL,  -- The preferred day of the week for delivery.
16542
          `frequency` text NOT NULL, -- The Authorised_Value definining the pattern for delivery.
16542
          `frequency` text NOT NULL, -- The Authorised_Value defining the pattern for delivery.
16543
          `fav_itemtypes` text default NULL, -- Free text describing preferred itemtypes.
16543
          `fav_itemtypes` text default NULL, -- Free text describing preferred itemtypes.
16544
          `fav_subjects` text default NULL, -- Free text describing preferred subjects.
16544
          `fav_subjects` text default NULL, -- Free text describing preferred subjects.
16545
          `fav_authors` text default NULL, -- Free text describing preferred authors.
16545
          `fav_authors` text default NULL, -- Free text describing preferred authors.
Lines 16669-16678 if ( CheckVersion($DBversion) ) { Link Here
16669
        q{
16669
        q{
16670
        INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`) VALUES
16670
        INSERT INTO `letter` (`module`, `code`, `branchcode`, `name`, `is_html`, `title`, `content`, `message_transport_type`) VALUES
16671
        ('circulation', 'AR_CANCELED', '', 'Article Request - Email - Canceled', 0, 'Article Request Canceled', '<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nYour request for an article from <<biblio.title>> (<<items.barcode>>) has been canceled for the following reason:\r\n\r\n<<article_requests.notes>>\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n', 'email'),
16671
        ('circulation', 'AR_CANCELED', '', 'Article Request - Email - Canceled', 0, 'Article Request Canceled', '<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nYour request for an article from <<biblio.title>> (<<items.barcode>>) has been canceled for the following reason:\r\n\r\n<<article_requests.notes>>\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n', 'email'),
16672
        ('circulation', 'AR_COMPLETED', '', 'Article Request - Email - Completed', 0, 'Article Request Completed', '<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nWe are have completed your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\nYou may pick your article up at <<branches.branchname>>.\r\n\r\nThank you!', 'email'),
16672
        ('circulation', 'AR_COMPLETED', '', 'Article Request - Email - Completed', 0, 'Article Request Completed', '<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\new are have completed your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\nYou may pick your article up at <<branches.branchname>>.\r\n\r\nThank you!', 'email'),
16673
        ('circulation', 'AR_PENDING', '', 'Article Request - Email - Open', 0, 'Article Request Received', '<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nWe have received your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\n\r\nThank you!', 'email'),
16673
        ('circulation', 'AR_PENDING', '', 'Article Request - Email - Open', 0, 'Article Request Received', '<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\new have received your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\n\r\nThank you!', 'email'),
16674
        ('circulation', 'AR_SLIP', '', 'Article Request - Print Slip', 0, 'Test', 'Article Request:\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nTitle: <<biblio.title>>\r\nBarcode: <<items.barcode>>\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n', 'print'),
16674
        ('circulation', 'AR_SLIP', '', 'Article Request - Print Slip', 0, 'Test', 'Article Request:\r\n\r\n<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nTitle: <<biblio.title>>\r\nBarcode: <<items.barcode>>\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n', 'print'),
16675
        ('circulation', 'AR_PROCESSING', '', 'Article Request - Email - Processing', 0, 'Article Request Processing', '<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\nWe are now processing your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\nThank you!', 'email');
16675
        ('circulation', 'AR_PROCESSING', '', 'Article Request - Email - Processing', 0, 'Article Request Processing', '<<borrowers.firstname>> <<borrowers.surname>> (<<borrowers.cardnumber>>)\r\n\r\new are now processing your request for an article from <<biblio.title>> (<<items.barcode>>).\r\n\r\nArticle requested:\r\nTitle: <<article_requests.title>>\r\nAuthor: <<article_requests.author>>\r\nVolume: <<article_requests.volume>>\r\nIssue: <<article_requests.issue>>\r\nDate: <<article_requests.date>>\r\nPages: <<article_requests.pages>>\r\nChapters: <<article_requests.chapters>>\r\nNotes: <<article_requests.patron_notes>>\r\n\r\nThank you!', 'email');
16676
    }
16676
    }
16677
    );
16677
    );
16678
16678
Lines 18021-18027 if ( CheckVersion($DBversion) ) { Link Here
18021
$DBversion = '17.06.00.000';
18021
$DBversion = '17.06.00.000';
18022
if ( CheckVersion($DBversion) ) {
18022
if ( CheckVersion($DBversion) ) {
18023
    SetVersion($DBversion);
18023
    SetVersion($DBversion);
18024
    print "Upgrade to $DBversion done (He pai ake te iti i te kore)\n";
18024
    print "Upgrade to $DBversion done (He pai ache FIXME CODESPELL (FIXME CODESPELL (te ==> the, be, we, to) ==> the, be, we, to) iti i FIXME CODESPELL (FIXME CODESPELL (te ==> the, be, we, to) ==> the, be, we, to) kore)\n";
18025
}
18025
}
18026
18026
18027
$DBversion = '17.06.00.001';
18027
$DBversion = '17.06.00.001';
Lines 18265-18271 if ( CheckVersion($DBversion) ) { Link Here
18265
    }
18265
    }
18266
18266
18267
    SetVersion($DBversion);
18267
    SetVersion($DBversion);
18268
    print "Upgrade to $DBversion done (Bug 16401 - fix potentialy bad set staffClientBaseURL preference)\n";
18268
    print "Upgrade to $DBversion done (Bug 16401 - fix potentially bad set staffClientBaseURL preference)\n";
18269
}
18269
}
18270
18270
18271
$DBversion = '17.06.00.014';
18271
$DBversion = '17.06.00.014';
Lines 18863-18869 if ( CheckVersion($DBversion) ) { Link Here
18863
                id INT(11) NOT NULL auto_increment,    -- unique id for each group
18863
                id INT(11) NOT NULL auto_increment,    -- unique id for each group
18864
                parent_id INT(11) NULL DEFAULT NULL,   -- if this is a child group, the id of the parent group
18864
                parent_id INT(11) NULL DEFAULT NULL,   -- if this is a child group, the id of the parent group
18865
                branchcode VARCHAR(10) NULL DEFAULT NULL, -- The branchcode of a branch belonging to the parent group
18865
                branchcode VARCHAR(10) NULL DEFAULT NULL, -- The branchcode of a branch belonging to the parent group
18866
                title VARCHAR(100) NULL DEFAULT NULL,     -- Short description of the goup
18866
                title VARCHAR(100) NULL DEFAULT NULL,     -- Short description of the group
18867
                description TEXT NULL DEFAULT NULL,    -- Longer explanation of the group, if necessary
18867
                description TEXT NULL DEFAULT NULL,    -- Longer explanation of the group, if necessary
18868
                created_on TIMESTAMP NULL,             -- Date and time of creation
18868
                created_on TIMESTAMP NULL,             -- Date and time of creation
18869
                updated_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- Date and time of last
18869
                updated_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, -- Date and time of last
Lines 19250-19256 if ( CheckVersion($DBversion) ) { Link Here
19250
19250
19251
    $dbh->do(
19251
    $dbh->do(
19252
        q|
19252
        q|
19253
        INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`, `type`) VALUES  ('BrowseResultSelection','0',NULL,'Enable/Disable browsing search results fromt the bibliographic record detail page in staff client','YesNo')
19253
        INSERT IGNORE INTO systempreferences (`variable`, `value`, `options`, `explanation`, `type`) VALUES  ('BrowseResultSelection','0',NULL,'Enable/Disable browsing search results from the bibliographic record detail page in staff client','YesNo')
19254
    |
19254
    |
19255
    );
19255
    );
19256
19256
Lines 19670-19676 if ( CheckVersion($DBversion) ) { Link Here
19670
    );
19670
    );
19671
    $dbh->do(
19671
    $dbh->do(
19672
        q{
19672
        q{
19673
        INSERT IGNORE INTO letter(module, code, branchcode, name, is_html, title, content, message_transport_type, lang) VALUES ('reserves', 'CANCEL_HOLD_ON_LOST', '', 'Hold has been cancelled', 0, "Hold has been cancelled", "Dear [% borrower.firstname %] [% borrower.surname %],\n\nWe regret to inform you, that the following item can not be provided due to it being missing. Your hold was cancelled.\n\nTitle: [% biblio.title %]\nAuthor: [% biblio.author %]\nCopy: [% item.copynumber %]\nLocation: [% branch.branchname %]", 'email', 'default');
19673
        INSERT IGNORE INTO letter(module, code, branchcode, name, is_html, title, content, message_transport_type, lang) VALUES ('reserves', 'CANCEL_HOLD_ON_LOST', '', 'Hold has been cancelled', 0, "Hold has been cancelled", "Dear [% borrower.firstname %] [% borrower.surname %],\n\new regret to inform you, that the following item can not be provided due to it being missing. Your hold was cancelled.\n\nTitle: [% biblio.title %]\nAuthor: [% biblio.author %]\nCopy: [% item.copynumber %]\nLocation: [% branch.branchname %]", 'email', 'default');
19674
    }
19674
    }
19675
    );
19675
    );
19676
    $dbh->do(
19676
    $dbh->do(
Lines 20230-20236 if ( CheckVersion($DBversion) ) { Link Here
20230
        q{
20230
        q{
20231
INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES
20231
INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES
20232
('HoldsSplitQueue','nothing','nothing|branch|itemtype|branch_itemtype','In the staff client, split the holds view by the given criteria','Choice'),
20232
('HoldsSplitQueue','nothing','nothing|branch|itemtype|branch_itemtype','In the staff client, split the holds view by the given criteria','Choice'),
20233
('HoldsSplitQueueNumbering', 'actual', 'actual|virtual', 'If the holds queue is split, decide if the acual priorities should be displayed', 'Choice');
20233
('HoldsSplitQueueNumbering', 'actual', 'actual|virtual', 'If the holds queue is split, decide if the actual priorities should be displayed', 'Choice');
20234
}
20234
}
20235
    );
20235
    );
20236
    SetVersion($DBversion);
20236
    SetVersion($DBversion);
Lines 20474-20480 if ( CheckVersion($DBversion) ) { Link Here
20474
              `position` int(11) NOT NULL,           -- The position of this stage within its rota
20474
              `position` int(11) NOT NULL,           -- The position of this stage within its rota
20475
              `rota_id` int(11) NOT NULL,            -- The rota this stage belongs to
20475
              `rota_id` int(11) NOT NULL,            -- The rota this stage belongs to
20476
              `branchcode_id` varchar(10) NOT NULL,  -- Branch this stage relates to
20476
              `branchcode_id` varchar(10) NOT NULL,  -- Branch this stage relates to
20477
              `duration` int(11) NOT NULL default 4, -- The number of days items shoud occupy this stage
20477
              `duration` int(11) NOT NULL default 4, -- The number of days items should occupy this stage
20478
              PRIMARY KEY (`stage_id`),
20478
              PRIMARY KEY (`stage_id`),
20479
              CONSTRAINT `stockrotationstages_rifk`
20479
              CONSTRAINT `stockrotationstages_rifk`
20480
                FOREIGN KEY (`rota_id`)
20480
                FOREIGN KEY (`rota_id`)
Lines 21289-21295 if ( CheckVersion($DBversion) ) { Link Here
21289
    $dbh->do(
21289
    $dbh->do(
21290
        q{
21290
        q{
21291
        INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES
21291
        INSERT IGNORE INTO systempreferences ( `variable`, `value`, `options`, `explanation`, `type` ) VALUES
21292
        ('AutoShareWithMana','','','defines datas automatically shared with mana','multiple');
21292
        ('AutoShareWithMana','','','defines data automatically shared with mana','multiple');
21293
    }
21293
    }
21294
    );
21294
    );
21295
    $dbh->do(
21295
    $dbh->do(
Lines 21395-21401 if ( CheckVersion($DBversion) ) { Link Here
21395
        );
21395
        );
21396
    }
21396
    }
21397
    SetVersion($DBversion);
21397
    SetVersion($DBversion);
21398
    print "Upgrade to $DBversion done (Bug 13515 - Add a FOREIGN KEY constaint on messages.borrowernumber)\n";
21398
    print "Upgrade to $DBversion done (Bug 13515 - Add a FOREIGN KEY constraint on messages.borrowernumber)\n";
21399
}
21399
}
21400
21400
21401
$DBversion = '18.12.00.015';
21401
$DBversion = '18.12.00.015';
Lines 21629-21635 if ( CheckVersion($DBversion) ) { Link Here
21629
21629
21630
    if ( column_exists( 'issuingrules', 'maxissueqty' ) ) {
21630
    if ( column_exists( 'issuingrules', 'maxissueqty' ) ) {
21631
21631
21632
        # Cleaning invalid rules before, to avoid FK contraints to fail
21632
        # Cleaning invalid rules before, to avoid FK constraints to fail
21633
        $dbh->do(
21633
        $dbh->do(
21634
            q|
21634
            q|
21635
            DELETE FROM issuingrules WHERE categorycode != '*' AND categorycode NOT IN (SELECT categorycode FROM categories);
21635
            DELETE FROM issuingrules WHERE categorycode != '*' AND categorycode NOT IN (SELECT categorycode FROM categories);
Lines 23221-23227 if ( CheckVersion($DBversion) ) { Link Here
23221
    }
23221
    }
23222
    );
23222
    );
23223
23223
23224
    # Find and correct pathalogical cases of L having been converted to W
23224
    # Find and correct pathological cases of L having been converted to W
23225
    $sth = $dbh->prepare(
23225
    $sth = $dbh->prepare(
23226
        "SELECT accountlines_id, issue_id, borrowernumber, itemnumber, amount, manager_id FROM accountlines WHERE accounttype = 'W' AND itemnumber IS NOT NULL"
23226
        "SELECT accountlines_id, issue_id, borrowernumber, itemnumber, amount, manager_id FROM accountlines WHERE accounttype = 'W' AND itemnumber IS NOT NULL"
23227
    );
23227
    );
Lines 23889-23895 if ( CheckVersion($DBversion) ) { Link Here
23889
                id        INT(11) NOT NULL AUTO_INCREMENT,
23889
                id        INT(11) NOT NULL AUTO_INCREMENT,
23890
                club_id   INT(11) NOT NULL, -- id for the club the hold was generated for
23890
                club_id   INT(11) NOT NULL, -- id for the club the hold was generated for
23891
                biblio_id INT(11) NOT NULL, -- id for the bibliographic record the hold has been placed against
23891
                biblio_id INT(11) NOT NULL, -- id for the bibliographic record the hold has been placed against
23892
                item_id   INT(11) NULL DEFAULT NULL, -- If item-level, the id for the item the hold has been placed agains
23892
                item_id   INT(11) NULL DEFAULT NULL, -- If item-level, the id for the item the hold has been placed FIXME CODESPELL (agains ==> against, again)
23893
                date_created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Timestamp for the placed hold
23893
                date_created TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, -- Timestamp for the placed hold
23894
                PRIMARY KEY (id),
23894
                PRIMARY KEY (id),
23895
                -- KEY club_id (club_id),
23895
                -- KEY club_id (club_id),
Lines 23969-23975 if ( CheckVersion($DBversion) ) { Link Here
23969
23969
23970
    SetVersion($DBversion);
23970
    SetVersion($DBversion);
23971
    print
23971
    print
23972
        "Upgrade to $DBversion done (Bug 20589: Add field boosting and use elastic query fields parameter instead of depricated _all)\n";
23972
        "Upgrade to $DBversion done (Bug 20589: Add field boosting and use elastic query fields parameter instead of deprecated _all)\n";
23973
}
23973
}
23974
23974
23975
$DBversion = '19.06.00.033';
23975
$DBversion = '19.06.00.033';
Lines 25385-25391 if ( CheckVersion($DBversion) ) { Link Here
25385
$DBversion = '19.12.00.027';
25385
$DBversion = '19.12.00.027';
25386
if ( CheckVersion($DBversion) ) {
25386
if ( CheckVersion($DBversion) ) {
25387
25387
25388
    # Add any pathalogical incorrect debit_types as credit_types as appropriate
25388
    # Add any pathological incorrect debit_types as credit_types as appropriate
25389
    $dbh->do(
25389
    $dbh->do(
25390
        qq{
25390
        qq{
25391
          INSERT IGNORE INTO account_credit_types (
25391
          INSERT IGNORE INTO account_credit_types (
Lines 25408-25414 if ( CheckVersion($DBversion) ) { Link Here
25408
        }
25408
        }
25409
    );
25409
    );
25410
25410
25411
    # Correct any pathalogical cases
25411
    # Correct any pathological cases
25412
    $dbh->do(
25412
    $dbh->do(
25413
        qq{
25413
        qq{
25414
      UPDATE
25414
      UPDATE
Lines 28332-28338 if ( CheckVersion($DBversion) ) { Link Here
28332
        q| INSERT IGNORE INTO letter(module, code, branchcode, name, is_html, title, content, message_transport_type, lang) VALUES ('ill', 'ILL_REQUEST_MODIFIED', '', 'ILL request modified', 0, "Interlibrary loan request modified", "The patron for interlibrary loans request [% illrequest.illrequest_id %], with the following details, has modified this ILL request:\n\n[% ill_full_metadata %]", 'email', 'default'); |
28332
        q| INSERT IGNORE INTO letter(module, code, branchcode, name, is_html, title, content, message_transport_type, lang) VALUES ('ill', 'ILL_REQUEST_MODIFIED', '', 'ILL request modified', 0, "Interlibrary loan request modified", "The patron for interlibrary loans request [% illrequest.illrequest_id %], with the following details, has modified this ILL request:\n\n[% ill_full_metadata %]", 'email', 'default'); |
28333
    );
28333
    );
28334
    $dbh->do(
28334
    $dbh->do(
28335
        q| INSERT IGNORE INTO letter(module, code, branchcode, name, is_html, title, content, message_transport_type, lang) VALUES ('ill', 'ILL_PARTNER_REQ', '', 'ILL request to partners', 0, "Interlibrary loan request to partners", "Dear Sir/Madam,\n\nWe would like to request an interlibrary loan for a title matching the following description:\n\n[% ill_full_metadata %]\n\nPlease let us know if you are able to supply this to us.\n\nKind Regards\n\n[% branch.branchname %]\n[% branch.branchaddress1 %]\n[% branch.branchaddress2 %]\n[% branch.branchaddress3 %]\n[% branch.branchcity %]\n[% branch.branchstate %]\n[% branch.branchzip %]\n[% branch.branchphone %]\n[% branch.branchillemail %]\n[% branch.branchemail %]", 'email', 'default'); |
28335
        q| INSERT IGNORE INTO letter(module, code, branchcode, name, is_html, title, content, message_transport_type, lang) VALUES ('ill', 'ILL_PARTNER_REQ', '', 'ILL request to partners', 0, "Interlibrary loan request to partners", "Dear Sir/Madam,\n\new would like to request an interlibrary loan for a title matching the following description:\n\n[% ill_full_metadata %]\n\nPlease let us know if you are able to supply this to us.\n\nKind Regards\n\n[% branch.branchname %]\n[% branch.branchaddress1 %]\n[% branch.branchaddress2 %]\n[% branch.branchaddress3 %]\n[% branch.branchcity %]\n[% branch.branchstate %]\n[% branch.branchzip %]\n[% branch.branchphone %]\n[% branch.branchillemail %]\n[% branch.branchemail %]", 'email', 'default'); |
28336
    );
28336
    );
28337
    $dbh->do(
28337
    $dbh->do(
28338
        q| INSERT IGNORE INTO letter(module, code, branchcode, name, is_html, title, content, message_transport_type, lang) VALUES ('ill', 'ILL_PICKUP_READY', '', 'ILL request ready for pickup', 0, "Interlibrary loan request ready for pickup", "Dear [% borrower.firstname %] [% borrower.surname %],\n\nThe Interlibrary loans request number [% illrequest.illrequest_id %] you placed for:\n\n- [% ill_bib_title %] - [% ill_bib_author %]\n\nis ready for pick up from [% branch.branchname %].\n\nKind Regards\n\n[% branch.branchname %]\n[% branch.branchaddress1 %]\n[% branch.branchaddress2 %]\n[% branch.branchaddress3 %]\n[% branch.branchcity %]\n[% branch.branchstate %]\n[% branch.branchzip %]\n[% branch.branchphone %]\n[% branch.branchillemail %]\n[% branch.branchemail %]", 'sms', 'default'); |
28338
        q| INSERT IGNORE INTO letter(module, code, branchcode, name, is_html, title, content, message_transport_type, lang) VALUES ('ill', 'ILL_PICKUP_READY', '', 'ILL request ready for pickup', 0, "Interlibrary loan request ready for pickup", "Dear [% borrower.firstname %] [% borrower.surname %],\n\nThe Interlibrary loans request number [% illrequest.illrequest_id %] you placed for:\n\n- [% ill_bib_title %] - [% ill_bib_author %]\n\nis ready for pick up from [% branch.branchname %].\n\nKind Regards\n\n[% branch.branchname %]\n[% branch.branchaddress1 %]\n[% branch.branchaddress2 %]\n[% branch.branchaddress3 %]\n[% branch.branchcity %]\n[% branch.branchstate %]\n[% branch.branchzip %]\n[% branch.branchphone %]\n[% branch.branchillemail %]\n[% branch.branchemail %]", 'sms', 'default'); |
Lines 28347-28353 if ( CheckVersion($DBversion) ) { Link Here
28347
        q| INSERT IGNORE INTO letter(module, code, branchcode, name, is_html, title, content, message_transport_type, lang) VALUES ('ill', 'ILL_REQUEST_MODIFIED', '', 'ILL request modified', 0, "Interlibrary loan request modified", "The patron for interlibrary loans request [% illrequest.illrequest_id %], with the following details, has modified this ILL request:\n\n[% ill_full_metadata %]", 'sms', 'default'); |
28347
        q| INSERT IGNORE INTO letter(module, code, branchcode, name, is_html, title, content, message_transport_type, lang) VALUES ('ill', 'ILL_REQUEST_MODIFIED', '', 'ILL request modified', 0, "Interlibrary loan request modified", "The patron for interlibrary loans request [% illrequest.illrequest_id %], with the following details, has modified this ILL request:\n\n[% ill_full_metadata %]", 'sms', 'default'); |
28348
    );
28348
    );
28349
    $dbh->do(
28349
    $dbh->do(
28350
        q| INSERT IGNORE INTO letter(module, code, branchcode, name, is_html, title, content, message_transport_type, lang) VALUES ('ill', 'ILL_PARTNER_REQ', '', 'ILL request to partners', 0, "Interlibrary loan request to partners", "Dear Sir/Madam,\n\nWe would like to request an interlibrary loan for a title matching the following description:\n\n[% ill_full_metadata %]\n\nPlease let us know if you are able to supply this to us.\n\nKind Regards\n\n[% branch.branchname %]\n[% branch.branchaddress1 %]\n[% branch.branchaddress2 %]\n[% branch.branchaddress3 %]\n[% branch.branchcity %]\n[% branch.branchstate %]\n[% branch.branchzip %]\n[% branch.branchphone %]\n[% branch.branchillemail %]\n[% branch.branchemail %]", 'sms', 'default'); |
28350
        q| INSERT IGNORE INTO letter(module, code, branchcode, name, is_html, title, content, message_transport_type, lang) VALUES ('ill', 'ILL_PARTNER_REQ', '', 'ILL request to partners', 0, "Interlibrary loan request to partners", "Dear Sir/Madam,\n\new would like to request an interlibrary loan for a title matching the following description:\n\n[% ill_full_metadata %]\n\nPlease let us know if you are able to supply this to us.\n\nKind Regards\n\n[% branch.branchname %]\n[% branch.branchaddress1 %]\n[% branch.branchaddress2 %]\n[% branch.branchaddress3 %]\n[% branch.branchcity %]\n[% branch.branchstate %]\n[% branch.branchzip %]\n[% branch.branchphone %]\n[% branch.branchillemail %]\n[% branch.branchemail %]", 'sms', 'default'); |
28351
    );
28351
    );
28352
28352
28353
    # Add patron messaging preferences
28353
    # Add patron messaging preferences
(-)a/installer/install.pl (-1 / +1 lines)
Lines 289-295 if ( $step && $step == 1 ) { Link Here
289
    } elsif ( $op eq 'cud-selectframeworks' ) {
289
    } elsif ( $op eq 'cud-selectframeworks' ) {
290
        #
290
        #
291
        #
291
        #
292
        # 1ST install, 2nd sub-step : show the user the sql datas they can insert in the database.
292
        # 1ST install, 2nd sub-step : show the user the sql data they can insert in the database.
293
        #
293
        #
294
        #
294
        #
295
        # (note that the term "selectframeworks is not correct. The user can select various files, not only frameworks)
295
        # (note that the term "selectframeworks is not correct. The user can select various files, not only frameworks)
(-)a/koha-tmpl/intranet-tmpl/js/Gettext.js (-15 / +15 lines)
Lines 19-25 USA. Link Here
19
19
20
=head1 NAME
20
=head1 NAME
21
21
22
Javascript Gettext - Javascript implemenation of GNU Gettext API.
22
Javascript Gettext - Javascript implementation of GNU Gettext API.
23
23
24
=head1 SYNOPSIS
24
=head1 SYNOPSIS
25
25
Lines 46-52 Javascript Gettext - Javascript implemenation of GNU Gettext API. Link Here
46
 // //////////////////////////////////////////////////////////
46
 // //////////////////////////////////////////////////////////
47
 // The other way to load the language lookup is a "link" tag
47
 // The other way to load the language lookup is a "link" tag
48
 // Downside is that not all browsers cache XMLHttpRequests the
48
 // Downside is that not all browsers cache XMLHttpRequests the
49
 // same way, so caching of the language data isn't guarenteed
49
 // same way, so caching of the language data isn't guaranteed
50
 // across page loads.
50
 // across page loads.
51
 // Upside is that it's easy to specify multiple files
51
 // Upside is that it's easy to specify multiple files
52
 <link rel="gettext" href="/path/LC_MESSAGES/myDomain.json" />
52
 <link rel="gettext" href="/path/LC_MESSAGES/myDomain.json" />
Lines 57-63 Javascript Gettext - Javascript implemenation of GNU Gettext API. Link Here
57
57
58
58
59
 // //////////////////////////////////////////////////////////
59
 // //////////////////////////////////////////////////////////
60
 // The reson the shortcuts aren't exported by default is because they'd be
60
 // The reason the shortcuts aren't exported by default is because they'd be
61
 // glued to the single domain you created. So, if you're adding i18n support
61
 // glued to the single domain you created. So, if you're adding i18n support
62
 // to some js library, you should use it as so:
62
 // to some js library, you should use it as so:
63
63
Lines 108-114 The locale initialization differs from that of GNU Gettext / POSIX. Rather than Link Here
108
108
109
=head1 INSTALL
109
=head1 INSTALL
110
110
111
To install this module, simply copy the file lib/Gettext.js to a web accessable location, and reference it from your application.
111
To install this module, simply copy the file lib/Gettext.js to a web accessible location, and reference it from your application.
112
112
113
113
114
=head1 CONFIGURATION
114
=head1 CONFIGURATION
Lines 139-145 This method also allows you to use unsupported file formats, so long as you can Link Here
139
139
140
=item 2. Use AJAX to load language file.
140
=item 2. Use AJAX to load language file.
141
141
142
Use XMLHttpRequest (actually, SJAX - syncronous) to load an external resource.
142
Use XMLHttpRequest (actually, SJAX - synchronous) to load an external resource.
143
143
144
Supported external formats are:
144
Supported external formats are:
145
145
Lines 493-499 Gettext.prototype.parse_po = function(data) { Link Here
493
            lastbuffer = 'msgstr_0';
493
            lastbuffer = 'msgstr_0';
494
            buffer[lastbuffer] = this.parse_po_dequote(match[1]);
494
            buffer[lastbuffer] = this.parse_po_dequote(match[1]);
495
495
496
        // msgstr[0] (treak like msgstr)
496
        // msgstr[0] (FIXME CODESPELL (treak ==> treat, tweak) like msgstr)
497
        } else if (match = lines[i].match(/^msgstr\[0\]\s+(.*)/)) {
497
        } else if (match = lines[i].match(/^msgstr\[0\]\s+(.*)/)) {
498
            lastbuffer = 'msgstr_0';
498
            lastbuffer = 'msgstr_0';
499
            buffer[lastbuffer] = this.parse_po_dequote(match[1]);
499
            buffer[lastbuffer] = this.parse_po_dequote(match[1]);
Lines 561-567 Gettext.prototype.parse_po = function(data) { Link Here
561
                } else if (/#-#-#-#-#/.test(keylow)) {
561
                } else if (/#-#-#-#-#/.test(keylow)) {
562
                    errors.push("SKIPPING ERROR MARKER IN HEADER: "+hlines[i]);
562
                    errors.push("SKIPPING ERROR MARKER IN HEADER: "+hlines[i]);
563
                } else {
563
                } else {
564
                    // remove begining spaces if any
564
                    // remove beginning spaces if any
565
                    val = val.replace(/^\s+/, '');
565
                    val = val.replace(/^\s+/, '');
566
                    cur[keylow] = val;
566
                    cur[keylow] = val;
567
                }
567
                }
Lines 703-715 One common mistake is to interpolate a variable into the string like this: Link Here
703
703
704
The interpolation will happen before it's passed to gettext, and it's
704
The interpolation will happen before it's passed to gettext, and it's
705
unlikely you'll have a translation for every "Hello Tom" and "Hello Dick"
705
unlikely you'll have a translation for every "Hello Tom" and "Hello Dick"
706
and "Hellow Harry" that may arise.
706
and "Hello Harry" that may arise.
707
707
708
Use C<strargs()> (see below) to solve this problem:
708
Use C<strargs()> (see below) to solve this problem:
709
709
710
  var translated = Gettext.strargs( gt.gettext("Hello %1"), [full_name] );
710
  var translated = Gettext.strargs( gt.gettext("Hello %1"), [full_name] );
711
711
712
This is espeically useful when multiple replacements are needed, as they
712
This is especially useful when multiple replacements are needed, as they
713
may not appear in the same order within the translation. As an English to
713
may not appear in the same order within the translation. As an English to
714
French example:
714
French example:
715
715
Lines 733-739 Like dgettext() but retrieves the message from the specified B<CATEGORY> Link Here
733
instead of the default category C<LC_MESSAGES>.
733
instead of the default category C<LC_MESSAGES>.
734
734
735
NOTE: the categories are really useless in javascript context. This is
735
NOTE: the categories are really useless in javascript context. This is
736
here for GNU Gettext API compatability. In practice, you'll never need
736
here for GNU Gettext API compatibility. In practice, you'll never need
737
to use this. This applies to all the calls including the B<CATEGORY>.
737
to use this. This applies to all the calls including the B<CATEGORY>.
738
738
739
739
Lines 1027-1033 Example: Link Here
1027
1027
1028
The format numbers are 1 based, so the first itme is %1.
1028
The format numbers are 1 based, so the first itme is %1.
1029
1029
1030
A lone percent sign may be escaped by preceeding it with another percent sign.
1030
A lone percent sign may be escaped by FIXME CODESPELL (preceeding ==> preceding, proceeding) it with another percent sign.
1031
1031
1032
A percent sign followed by anything other than a number or another percent sign will be passed through as is.
1032
A percent sign followed by anything other than a number or another percent sign will be passed through as is.
1033
1033
Lines 1097-1103 Gettext.strargs = function (str, args) { Link Here
1097
        // we found it, append everything up to that
1097
        // we found it, append everything up to that
1098
        newstr += str.substr(0, i);
1098
        newstr += str.substr(0, i);
1099
1099
1100
        // check for escpaed %%
1100
        // check for escaped %%
1101
        if (str.substr(i, 2) == '%%') {
1101
        if (str.substr(i, 2) == '%%') {
1102
            newstr += '%';
1102
            newstr += '%';
1103
            str = str.substr((i+2));
1103
            str = str.substr((i+2));
Lines 1200-1208 Loaded locale data is currently cached class-wide. This means that if two script Link Here
1200
1200
1201
Currently, there are several places that throw errors. In GNU Gettext, there are no fatal errors, which allows text to still be displayed regardless of how broken the environment becomes. We should evaluate and determine where we want to stand on that issue.
1201
Currently, there are several places that throw errors. In GNU Gettext, there are no fatal errors, which allows text to still be displayed regardless of how broken the environment becomes. We should evaluate and determine where we want to stand on that issue.
1202
1202
1203
=item syncronous only support (no ajax support)
1203
=item synchronous only support (no ajax support)
1204
1204
1205
Currently, fetching language data is done purely syncronous, which means the page will halt while those files are fetched/loaded.
1205
Currently, fetching language data is done purely synchronous, which means the page will halt while those files are fetched/loaded.
1206
1206
1207
This is often what you want, as then following translation requests will actually be translated. However, if all your calls are done dynamically (ie. error handling only or something), loading in the background may be more adventagous.
1207
This is often what you want, as then following translation requests will actually be translated. However, if all your calls are done dynamically (ie. error handling only or something), loading in the background may be more adventagous.
1208
1208
Lines 1234-1240 May want to add encoding/reencoding stuff. See GNU iconv, or the perl module Loc Link Here
1234
=back
1234
=back
1235
1235
1236
1236
1237
=head1 COMPATABILITY
1237
=head1 COMPATIBILITY
1238
1238
1239
This has been tested on the following browsers. It may work on others, but these are all those to which I have access.
1239
This has been tested on the following browsers. It may work on others, but these are all those to which I have access.
1240
1240
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/search_indexes.inc (-1 / +1 lines)
Lines 62-68 Link Here
62
        <option value="ti,phr">&nbsp;&nbsp;&nbsp;&nbsp; Title as phrase</option>
62
        <option value="ti,phr">&nbsp;&nbsp;&nbsp;&nbsp; Title as phrase</option>
63
    [% END %]
63
    [% END %]
64
    [% IF ms_se %]
64
    [% IF ms_se %]
65
        <option selected="seleced" value="se">&nbsp;&nbsp;&nbsp;&nbsp; Series title</option>
65
        <option selected="selected" value="se">&nbsp;&nbsp;&nbsp;&nbsp; Series title</option>
66
    [% ELSE %]
66
    [% ELSE %]
67
        <option value="se">&nbsp;&nbsp;&nbsp;&nbsp; Series title</option>
67
        <option value="se">&nbsp;&nbsp;&nbsp;&nbsp; Series title</option>
68
    [% END %]
68
    [% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/includes/subtype_limits.inc (-2 / +2 lines)
Lines 197-205 Link Here
197
            <option value="ctype:l">Legislation</option>
197
            <option value="ctype:l">Legislation</option>
198
        [% END %]
198
        [% END %]
199
        [% IF (limits.ctype.0 == 'm' ) %]
199
        [% IF (limits.ctype.0 == 'm' ) %]
200
            <option value="ctype:m" selected="selected">Theses</option>
200
            <option value="ctype:m" selected="selected">FIXME CODESPELL (Theses ==> These, Thesis)</option>
201
        [% ELSE %]
201
        [% ELSE %]
202
            <option value="ctype:m">Theses</option>
202
            <option value="ctype:m">FIXME CODESPELL (Theses ==> These, Thesis)</option>
203
        [% END %]
203
        [% END %]
204
        [% IF (limits.ctype.0 == 'n' ) %]
204
        [% IF (limits.ctype.0 == 'n' ) %]
205
            <option value="ctype:n" selected="selected">Surveys</option>
205
            <option value="ctype:n" selected="selected">Surveys</option>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/about.tt (-5 / +5 lines)
Lines 270-278 Link Here
270
    [% WRAPPER tab_panel tabname= "perl" bt_active = 1 %]
270
    [% WRAPPER tab_panel tabname= "perl" bt_active = 1 %]
271
        <table style="cursor:pointer">
271
        <table style="cursor:pointer">
272
            <caption>Perl modules</caption>
272
            <caption>Perl modules</caption>
273
            [% FOREACH tabl IN table %]
273
            [% FOREACH table IN tablee %]
274
                <tr>
274
                <tr>
275
                    [% FOREACH ro IN tabl.row %]
275
                    [% FOREACH ro IN table.row %]
276
                        [% IF ( ro.require ) %]
276
                        [% IF ( ro.require ) %]
277
                            [% SET th_font_weight = "bold" %]
277
                            [% SET th_font_weight = "bold" %]
278
                        [% ELSE %]
278
                        [% ELSE %]
Lines 311-317 Link Here
311
                        [% END %]
311
                        [% END %]
312
                    [% END # /FOREACH ro %]
312
                    [% END # /FOREACH ro %]
313
                </tr>
313
                </tr>
314
            [% END # /FOREACH tabl %]
314
            [% END # /FOREACH table %]
315
        </table>
315
        </table>
316
    [% END # tab=perl %]
316
    [% END # tab=perl %]
317
[% END %]
317
[% END %]
Lines 1244-1252 Link Here
1244
                        <td style="font-weight:bold;">Description</td>
1244
                        <td style="font-weight:bold;">Description</td>
1245
                    </tr>
1245
                    </tr>
1246
                </thead>
1246
                </thead>
1247
                [% FOREACH tabl IN table2 %]
1247
                [% FOREACH table IN tablee2 %]
1248
                    <tr class="[% loop.parity | html %]">
1248
                    <tr class="[% loop.parity | html %]">
1249
                        [% FOREACH ro IN tabl.row2 %]
1249
                        [% FOREACH ro IN table.row2 %]
1250
                            <td>[% ro.date | html %]</td>
1250
                            <td>[% ro.date | html %]</td>
1251
                            <td>[% ro.desc | html %]</td>
1251
                            <td>[% ro.desc | html %]</td>
1252
                        [% END %]
1252
                        [% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/addorderiso2709.tt (-1 / +1 lines)
Lines 577-583 Link Here
577
                                    <legend>Accounting details</legend>
577
                                    <legend>Accounting details</legend>
578
                                    <ol>
578
                                    <ol>
579
                                        <li>
579
                                        <li>
580
                                            <!-- origquantityrec only here for javascript compatibility (additem.js needs it, useless here, useful when receiveing an order -->
580
                                            <!-- origquantityrec only here for javascript compatibility (additem.js needs it, useless here, useful when receiving an order -->
581
                                            <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="1" />
581
                                            <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="1" />
582
                                        </li>
582
                                        </li>
583
                                        [% IF ( close ) %]
583
                                        [% IF ( close ) %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/duplicate_orders.tt (-1 / +1 lines)
Lines 266-272 Link Here
266
                [% END %]
266
                [% END %]
267
                <input type="hidden" name="op" value="cud-do_duplicate" />
267
                <input type="hidden" name="op" value="cud-do_duplicate" />
268
                <input type="hidden" name="basketno" value="[% basket.basketno | html %]" />
268
                <input type="hidden" name="basketno" value="[% basket.basketno | html %]" />
269
                <!-- origquantityrec only here for javascript compatibility (additem.js needs it, useless here, useful when receiveing an order -->
269
                <!-- origquantityrec only here for javascript compatibility (additem.js needs it, useless here, useful when receiving an order -->
270
                <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="1" />
270
                <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="1" />
271
                <button type="submit" class="btn btn-primary">Duplicate orders</button>
271
                <button type="submit" class="btn btn-primary">Duplicate orders</button>
272
                <a class="cancel" href="/cgi-bin/koha/acqui/duplicate_orders.pl?basketno=[% basket.basketno | html %]">Cancel</a>
272
                <a class="cancel" href="/cgi-bin/koha/acqui/duplicate_orders.pl?basketno=[% basket.basketno | html %]">Cancel</a>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/neworderempty.tt (-1 / +1 lines)
Lines 570-576 Link Here
570
                        [% END %]
570
                        [% END %]
571
                    [% END %]
571
                    [% END %]
572
                    <span class="required">Required</span>
572
                    <span class="required">Required</span>
573
                    <!-- origquantityrec only here for javascript compatibility (additem.js needs it, useless here, useful when receiveing an order -->
573
                    <!-- origquantityrec only here for javascript compatibility (additem.js needs it, useless here, useful when receiving an order -->
574
                    <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="1" />
574
                    <input id="origquantityrec" readonly="readonly" type="hidden" name="origquantityrec" value="1" />
575
575
576
                    [% IF subscription %]
576
                    [% IF subscription %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/marc_subfields_structure.tt (-2 / +2 lines)
Lines 132-138 Link Here
132
                        [% outputsubfield = PROCESS outputsubfield subfieldanchor = loo.subfieldcode %]
132
                        [% outputsubfield = PROCESS outputsubfield subfieldanchor = loo.subfieldcode %]
133
                        [% WRAPPER tab_panel tabname=outputsubfield %]
133
                        [% WRAPPER tab_panel tabname=outputsubfield %]
134
                            <input type="hidden" name="tab_id" value="[% loo.row | html %]" />
134
                            <input type="hidden" name="tab_id" value="[% loo.row | html %]" />
135
                            <div id="basic[%- outputsubfield | html -%]" class="contraints">
135
                            <div id="basic[%- outputsubfield | html -%]" class="constraints">
136
                                <fieldset class="rows">
136
                                <fieldset class="rows">
137
                                    <legend>Basic constraints</legend>
137
                                    <legend>Basic constraints</legend>
138
                                    <ol>
138
                                    <ol>
Lines 211-217 Link Here
211
                            </div>
211
                            </div>
212
                            <!-- /#basic[%- PROCESS outputsubfield subfieldanchor = subfieldcode -%] -->
212
                            <!-- /#basic[%- PROCESS outputsubfield subfieldanchor = subfieldcode -%] -->
213
213
214
                            <div id="advanced[%- outputsubfield | html -%]" class="contraints">
214
                            <div id="advanced[%- outputsubfield | html -%]" class="constraints">
215
                                <fieldset class="rows">
215
                                <fieldset class="rows">
216
                                    <legend>Advanced constraints</legend>
216
                                    <legend>Advanced constraints</legend>
217
                                    <ol>
217
                                    <ol>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/admin/usage_statistics.tt (-1 / +1 lines)
Lines 199-205 Link Here
199
                            /></a>
199
                            /></a>
200
                        </li>
200
                        </li>
201
                        <li>
201
                        <li>
202
                            <label for="UsageStatsLibrariesInfo">Libraries informations: </label>
202
                            <label for="UsageStatsLibrariesInfo">Libraries information: </label>
203
                            <select name="UsageStatsLibrariesInfo" id="UsageStatsLibrariesInfo">
203
                            <select name="UsageStatsLibrariesInfo" id="UsageStatsLibrariesInfo">
204
                                [% IF Koha.Preference('UsageStatsLibrariesInfo') %]
204
                                [% IF Koha.Preference('UsageStatsLibrariesInfo') %]
205
                                    <option value="1" selected="selected">Yes</option>
205
                                    <option value="1" selected="selected">Yes</option>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/auth.tt (-1 / +1 lines)
Lines 298-304 Link Here
298
                input.val(document.location.hash);
298
                input.val(document.location.hash);
299
                $( '#loginform' ).append( input );
299
                $( '#loginform' ).append( input );
300
            }
300
            }
301
            // Clear last borrowers, rememberd sql reports, carts, etc.
301
            // Clear last borrowers, remembered sql reports, carts, etc.
302
            logOut();
302
            logOut();
303
303
304
            $("#send_otp").on("click", function(e){
304
            $("#send_otp").on("click", function(e){
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/searchresultlist-auth.tt (-18 / +18 lines)
Lines 93-111 Link Here
93
                    <th>Get it!</th>
93
                    <th>Get it!</th>
94
                    <th>Other action</th>
94
                    <th>Other action</th>
95
                </tr>
95
                </tr>
96
                [% FOREACH resul IN result %]
96
                [% FOREACH result IN resultt %]
97
                    <tr>
97
                    <tr>
98
                        <td>
98
                        <td>
99
                            [% IF resul.html %]
99
                            [% IF result.html %]
100
                                [% resul.html | $raw %]
100
                                [% result.html | $raw %]
101
                            [% ELSE %]
101
                            [% ELSE %]
102
                                [% PROCESS authresult summary=resul.summary authid=resul.authid auth_preview=1 %]
102
                                [% PROCESS authresulttt summary=resultt.summary authid=resultt.authid auth_preview=1 %]
103
                            [% END %]
103
                            [% END %]
104
                        </td>
104
                        </td>
105
                        <td>[% resul.summary.label | html %]</td>
105
                        <td>[% result.summary.label | html %]</td>
106
                        <td>
106
                        <td>
107
                            [% IF resul.used > 0 %]
107
                            [% IF result.used > 0 %]
108
                                <a href="/cgi-bin/koha/catalogue/search.pl?type=intranet&amp;op=do_search&amp;idx=an,phr&amp;q=[% resul.authid | uri %]" class="button">[% resul.used | html %] times</a>
108
                                <a href="/cgi-bin/koha/catalogue/search.pl?type=intranet&amp;op=do_search&amp;idx=an,phr&amp;q=[% resultt.authid | uri %]" class="button">[% resultt.used | html %] times</a>
109
                            [% ELSE %]
109
                            [% ELSE %]
110
                                0 times
110
                                0 times
111
                            [% END %]
111
                            [% END %]
Lines 113-135 Link Here
113
                        [% IF Koha.Preference('ShowHeadingUse') %]
113
                        [% IF Koha.Preference('ShowHeadingUse') %]
114
                            <td class="heading_use"
114
                            <td class="heading_use"
115
                                ><ul class="usefor">
115
                                ><ul class="usefor">
116
                                    <li>[% IF resul.main %]<i class="fa fa-check"></i>[% ELSE %]<i class="fa fa-times"></i>[% END %] Main/Added Entry</li>
116
                                    <li>[% IF result.main %]<i class="fa fa-check"></i>[% ELSE %]<i class="fa fa-times"></i>[% END %] Main/Added Entry</li>
117
                                    <li>[% IF resul.subject %]<i class="fa fa-check"></i>[% ELSE %]<i class="fa fa-times"></i>[% END %] Subject</li>
117
                                    <li>[% IF result.subject %]<i class="fa fa-check"></i>[% ELSE %]<i class="fa fa-times"></i>[% END %] Subject</li>
118
                                    <li>[% IF resul.series %]<i class="fa fa-check"></i>[% ELSE %]<i class="fa fa-times"></i>[% END %] Series Title</li>
118
                                    <li>[% IF result.series %]<i class="fa fa-check"></i>[% ELSE %]<i class="fa fa-times"></i>[% END %] Series Title</li>
119
                                </ul></td
119
                                </ul></td
120
                            >
120
                            >
121
                        [% END %]
121
                        [% END %]
122
                        <td>
122
                        <td>
123
                            [% IF resul.summary && resul.summary.authorized && resul.summary.authorized.size > 1 %]
123
                            [% IF resulttt.summary && resulttt.summary.authorized && resulttt.summary.authorized.size > 1 %]
124
                                [% FOREACH authorized IN resul.summary.authorized %]
124
                                [% FOREACH authorized IN result.summary.authorized %]
125
                                    <a href="javascript:doauth('[% resul.authid | uri %]', '[% index | uri %]', '[% loop.count | uri %]')" title="[% authorized.heading | html %]">[% loop.count | html %]</a>
125
                                    <a href="javascript:doauth('[% result.authid | uri %]', '[% index | uri %]', '[% loop.count | uri %]')" title="[% authorized.heading | html %]">[% loop.count | html %]</a>
126
                                [% END %]
126
                                [% END %]
127
                            [% ELSE %]
127
                            [% ELSE %]
128
                                <a class="btn btn-xs btn-default" href="javascript:doauth('[% resul.authid | html %]', '[% index | html %]', '')"><i class="fa fa-plus"></i> Choose</a>
128
                                <a class="btn btn-xs btn-default" href="javascript:doauth('[% result.authid | html %]', '[% index | html %]', '')"><i class="fa fa-plus"></i> Choose</a>
129
                            [% END %]
129
                            [% END %]
130
                        </td>
130
                        </td>
131
                        <td
131
                        <td
132
                            ><a class="btn btn-xs btn-default" href="authorities.pl?authid=[% resul.authid | html %]"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit authority</a></td
132
                            ><a class="btn btn-xs btn-default" href="authorities.pl?authid=[% result.authid | html %]"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit authority</a></td
133
                        >
133
                        >
134
                    </tr>
134
                    </tr>
135
                [% END %]
135
                [% END %]
Lines 153-166 Link Here
153
            window.open(page,'','width=100,height=100,resizable=yes,toolbar=false,scrollbars=yes,top');
153
            window.open(page,'','width=100,height=100,resizable=yes,toolbar=false,scrollbars=yes,top');
154
        }
154
        }
155
155
156
        function doauth(authid, index, repet){
156
        function doauth(authid, index, repeat){
157
            [% IF source == 'auth' %]
157
            [% IF source == 'auth' %]
158
                var elem = document.getElementById("special_relationship");
158
                var elem = document.getElementById("special_relationship");
159
                var relationship = elem.options[elem.selectedIndex].value;
159
                var relationship = elem.options[elem.selectedIndex].value;
160
160
161
                jumpfull('blinddetail-biblio-search.pl?authid=' + authid + '&index=' + index + '&repet=' + repet + '&relationship=' + relationship);
161
                jumpfull('blinddetail-biblio-search.pl?authid=' + authid + '&index=' + index + '&repeat=' + repeat + '&relationship=' + relationship);
162
            [% ELSE %]
162
            [% ELSE %]
163
                jumpfull('blinddetail-biblio-search.pl?authid=' + authid + '&index=' + index + '&repet=' + repet);
163
                jumpfull('blinddetail-biblio-search.pl?authid=' + authid + '&index=' + index + '&repeat=' + repeat);
164
            [% END %]
164
            [% END %]
165
        }
165
        }
166
    </script>
166
    </script>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/authorities/searchresultlist.tt (-18 / +18 lines)
Lines 73-92 Link Here
73
                            <th>&nbsp;</th>
73
                            <th>&nbsp;</th>
74
                        [% END %]
74
                        [% END %]
75
                    </tr>
75
                    </tr>
76
                    [% FOREACH resul IN result %]
76
                    [% FOREACH result IN resultt %]
77
                        <tr data-authid="[% resul.authid | html %]">
77
                        <tr data-authid="[% result.authid | html %]">
78
                            <td>
78
                            <td>
79
                                [% IF resul.html %]
79
                                [% IF result.html %]
80
                                    [% resul.html | $raw %]
80
                                    [% result.html | $raw %]
81
                                [% ELSE %]
81
                                [% ELSE %]
82
                                    [% PROCESS authresult summary=resul.summary authid=resul.authid %]
82
                                    [% PROCESS authresulttt summary=resultt.summary authid=resultt.authid %]
83
                                [% END %]
83
                                [% END %]
84
                            </td>
84
                            </td>
85
                            <td>[% resul.authtype | html %]</td>
85
                            <td>[% result.authtype | html %]</td>
86
                            [% UNLESS ( resul.isEDITORS ) %]
86
                            [% UNLESS ( result.isEDITORS ) %]
87
                                <td>
87
                                <td>
88
                                    [% IF resul.used > 0 %]
88
                                    [% IF result.used > 0 %]
89
                                        <a href="/cgi-bin/koha/catalogue/search.pl?type=intranet&amp;op=do_search&amp;idx=an,phr&amp;q=[% resul.authid | uri %]" class="button">[% resul.used | html %] record(s)</a>
89
                                        <a href="/cgi-bin/koha/catalogue/search.pl?type=intranet&amp;op=do_search&amp;idx=an,phr&amp;q=[% resultt.authid | uri %]" class="button">[% resultt.used | html %] record(s)</a>
90
                                    [% ELSE %]
90
                                    [% ELSE %]
91
                                        0 records
91
                                        0 records
92
                                    [% END %]
92
                                    [% END %]
Lines 95-123 Link Here
95
                            [% IF Koha.Preference('ShowHeadingUse') %]
95
                            [% IF Koha.Preference('ShowHeadingUse') %]
96
                                <td class="heading_use"
96
                                <td class="heading_use"
97
                                    ><ul class="usefor">
97
                                    ><ul class="usefor">
98
                                        <li>[% IF resul.main %]<i class="fa fa-check"></i>[% ELSE %]<i class="fa fa-times"></i>[% END %] Main/Added Entry</li>
98
                                        <li>[% IF result.main %]<i class="fa fa-check"></i>[% ELSE %]<i class="fa fa-times"></i>[% END %] Main/Added Entry</li>
99
                                        <li>[% IF resul.subject %]<i class="fa fa-check"></i>[% ELSE %]<i class="fa fa-times"></i>[% END %] Subject</li>
99
                                        <li>[% IF result.subject %]<i class="fa fa-check"></i>[% ELSE %]<i class="fa fa-times"></i>[% END %] Subject</li>
100
                                        <li>[% IF resul.series %]<i class="fa fa-check"></i>[% ELSE %]<i class="fa fa-times"></i>[% END %] Series Title</li>
100
                                        <li>[% IF result.series %]<i class="fa fa-check"></i>[% ELSE %]<i class="fa fa-times"></i>[% END %] Series Title</li>
101
                                    </ul></td
101
                                    </ul></td
102
                                >
102
                                >
103
                            [% END %]
103
                            [% END %]
104
                            [% IF ( CAN_user_editauthorities ) %]
104
                            [% IF ( CAN_user_editauthorities ) %]
105
                                <td>
105
                                <td>
106
                                    <div class="btn-group dropup">
106
                                    <div class="btn-group dropup">
107
                                        <a class="btn btn-default btn-xs dropdown-toggle" id="authactions[% resul.authid | html %]" role="button" data-bs-toggle="dropdown" href="#"> Actions</a>
107
                                        <a class="btn btn-default btn-xs dropdown-toggle" id="authactions[% result.authid | html %]" role="button" data-bs-toggle="dropdown" href="#"> Actions</a>
108
                                        <ul class="dropdown-menu dropdown-menu-end" role="menu" aria-labelledby="authactions[% resul.authid | html %]">
108
                                        <ul class="dropdown-menu dropdown-menu-end" role="menu" aria-labelledby="authactions[% result.authid | html %]">
109
                                            <li
109
                                            <li
110
                                                ><a class="dropdown-item" href="/cgi-bin/koha/authorities/authorities.pl?authid=[% resul.authid | uri %]"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit</a></li
110
                                                ><a class="dropdown-item" href="/cgi-bin/koha/authorities/authorities.pl?authid=[% result.authid | uri %]"><i class="fa-solid fa-pencil" aria-hidden="true"></i> Edit</a></li
111
                                            >
111
                                            >
112
                                            <li
112
                                            <li
113
                                                ><a class="merge_auth dropdown-item" href="#merge"><i class="fa fa-compress"></i> Merge</a></li
113
                                                ><a class="merge_auth dropdown-item" href="#merge"><i class="fa fa-compress"></i> Merge</a></li
114
                                            >
114
                                            >
115
                                            [% UNLESS ( resul.used ) %]
115
                                            [% UNLESS ( result.used ) %]
116
                                                <li
116
                                                <li
117
                                                    ><form class="form_delete" method="post" action="/cgi-bin/koha/authorities/authorities-home.pl">
117
                                                    ><form class="form_delete" method="post" action="/cgi-bin/koha/authorities/authorities-home.pl">
118
                                                        [% INCLUDE 'csrf-token.inc' %]
118
                                                        [% INCLUDE 'csrf-token.inc' %]
119
                                                        <input type="hidden" name="op" value="cud-delete" />
119
                                                        <input type="hidden" name="op" value="cud-delete" />
120
                                                        <input type="hidden" name="authid" value="[% resul.authid | html %]" />
120
                                                        <input type="hidden" name="authid" value="[% result.authid | html %]" />
121
                                                        <input type="hidden" name="type" value="intranet" />
121
                                                        <input type="hidden" name="type" value="intranet" />
122
                                                        <input type="hidden" name="authtypecode" value="[% authtypecode | html %]" />
122
                                                        <input type="hidden" name="authtypecode" value="[% authtypecode | html %]" />
123
                                                        <input type="hidden" name="marclist" value="[% marclist | html %]" />
123
                                                        <input type="hidden" name="marclist" value="[% marclist | html %]" />
Lines 133-139 Link Here
133
                                                >
133
                                                >
134
                                            [% END %]
134
                                            [% END %]
135
                                            <li class="authority_preview">
135
                                            <li class="authority_preview">
136
                                                <a class="dropdown-item" data-authid="[% resul.authid | html %]" href="/cgi-bin/koha/authorities/detail.pl?authid=[% resul.authid | uri %]"><i class="fa-solid fa-eye"></i> MARC preview</a>
136
                                                <a class="dropdown-item" data-authid="[% resultt.authid | html %]" href="/cgi-bin/koha/authorities/detail.pl?authid=[% resultt.authid | uri %]"><i class="fa-solid fa-eye"></i> MARC preview</a>
137
                                            </li>
137
                                            </li>
138
                                        </ul>
138
                                        </ul>
139
                                    </div>
139
                                    </div>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/additem.tt (-1 / +1 lines)
Lines 141-147 Link Here
141
                                                        <a
141
                                                        <a
142
                                                            class="delete"
142
                                                            class="delete"
143
                                                            href="/cgi-bin/koha/cataloguing/additem.pl?op=delinkitem&amp;biblionumber=[% biblio.biblionumber | html %]&amp;hostitemnumber=[% item.itemnumber | html %]&amp;searchid=[% searchid | html %]"
143
                                                            href="/cgi-bin/koha/cataloguing/additem.pl?op=delinkitem&amp;biblionumber=[% biblio.biblionumber | html %]&amp;hostitemnumber=[% item.itemnumber | html %]&amp;searchid=[% searchid | html %]"
144
                                                            >Delink</a
144
                                                            >Unlink</a
145
                                                        ></li
145
                                                        ></li
146
                                                    >
146
                                                    >
147
                                                [% ELSE %]
147
                                                [% ELSE %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/marc21_linking_section.tt (-14 / +14 lines)
Lines 84-116 Link Here
84
                        <th>Concise description</th>
84
                        <th>Concise description</th>
85
                        <th>&nbsp;</th>
85
                        <th>&nbsp;</th>
86
                    </tr>
86
                    </tr>
87
                    [% FOREACH resul IN result %]
87
                    [% FOREACH result IN resultt %]
88
                        [% IF ( resul.title ) %]
88
                        [% IF ( result.title ) %]
89
                            <tr>
89
                            <tr>
90
                                [% SET td_class = '' %]
90
                                [% SET td_class = '' %]
91
                                [% IF ( resul.even ) %]
91
                                [% IF ( result.even ) %]
92
                                    [% td_class = 'hilighted' %]
92
                                    [% td_class = 'hilighted' %]
93
                                [% END %]
93
                                [% END %]
94
                                <td class="[% td_class | html %]">
94
                                <td class="[% td_class | html %]">
95
                                    [% IF ( resul.MARC_ON ) %]
95
                                    [% IF ( result.MARC_ON ) %]
96
                                        <a class="transparent resultlist" href="/cgi-bin/koha/MARCdetail.pl?biblionumber=[% resul.biblionumber |url %]">[% resul.title | html %]</a>
96
                                        <a class="transparent resultttlist" href="/cgi-bin/koha/MARCdetail.pl?biblionumber=[% resultt.biblionumber |url %]">[% resultt.title | html %]</a>
97
                                    [% ELSE %]
97
                                    [% ELSE %]
98
                                        <a class="transparent resultlist" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% resul.biblionumber |url %]">[% resul.title | html %]</a>
98
                                        <a class="transparent resultttlist" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% resultt.biblionumber |url %]">[% resultt.title | html %]</a>
99
                                    [% END %]
99
                                    [% END %]
100
                                    <p
100
                                    <p
101
                                        >[% resul.author | html %]
101
                                        >[% result.author | html %]
102
                                        [% IF ( resul.publishercode ) %]- [% resul.publishercode | html %][% END %]
102
                                        [% IF ( resultt.publishercode ) %]- [% resultt.publishercode | html %][% END %]
103
                                        [% IF ( resul.place ) %]; [% resul.place | html %][% END %]
103
                                        [% IF ( resultt.place ) %]; [% resultt.place | html %][% END %]
104
                                        [% IF ( resul.pages ) %]- [% resul.pages | html %][% END %]
104
                                        [% IF ( resultt.pages ) %]- [% resultt.pages | html %][% END %]
105
                                        [% IF ( resul.notes ) %]: [% resul.notes | html %][% END %]
105
                                        [% IF ( resultt.notes ) %]: [% resultt.notes | html %][% END %]
106
                                        [% IF ( resul.size ) %]; [% resul.size | html %][% END %]
106
                                        [% IF ( resultt.size ) %]; [% resultt.size | html %][% END %]
107
                                    </p>
107
                                    </p>
108
                                </td>
108
                                </td>
109
109
110
                                <td>
110
                                <td>
111
                                    [% IF ( resul.biblionumber ) %]
111
                                    [% IF ( result.biblionumber ) %]
112
                                        <a
112
                                        <a
113
                                            href="javascript:jumpfull('/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=marc21_linking_section.pl&amp;index=[% index | uri %]&amp;biblionumber=[% resul.biblionumber | uri %]&amp;type=intranet&amp;op=fillinput')"
113
                                            href="javascript:jumpfull('/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=marc21_linking_section.pl&amp;index=[% index | uri %]&amp;biblionumber=[% result.biblionumber | uri %]&amp;type=intranet&amp;op=fillinput')"
114
                                            >Choose</a
114
                                            >Choose</a
115
                                        >
115
                                        >
116
                                    [% ELSE %]
116
                                    [% ELSE %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_120.tt (-6 / +6 lines)
Lines 587-595 Link Here
587
                        [% END %]
587
                        [% END %]
588
588
589
                        [% IF ( f8bu ) %]
589
                        [% IF ( f8bu ) %]
590
                            <option value="bu" selected="selected">cylindrical, specific type unknown</option>
590
                            <option value="FIXME CODESPELL (bu ==> by, be, but, bug, bun, bud, buy, bum)" selected="selected">cylindrical, specific type unknown</option>
591
                        [% ELSE %]
591
                        [% ELSE %]
592
                            <option value="bu">cylindrical, specific type unknown</option>
592
                            <option value="FIXME CODESPELL (bu ==> by, be, but, bug, bun, bud, buy, bum)">cylindrical, specific type unknown</option>
593
                        [% END %]
593
                        [% END %]
594
594
595
                        [% IF ( f8bz ) %]
595
                        [% IF ( f8bz ) %]
Lines 715-723 Link Here
715
                            <option value="ai">Cadiz, Spain</option>
715
                            <option value="ai">Cadiz, Spain</option>
716
                        [% END %]
716
                        [% END %]
717
                        [% IF ( f9aj ) %]
717
                        [% IF ( f9aj ) %]
718
                            <option value="aj" selected="selected">Capetown, South Africa</option>
718
                            <option value="aj" selected="selected">Cape town, South Africa</option>
719
                        [% ELSE %]
719
                        [% ELSE %]
720
                            <option value="aj">Capetown, South Africa</option>
720
                            <option value="aj">Cape town, South Africa</option>
721
                        [% END %]
721
                        [% END %]
722
                        [% IF ( f9ak ) %]
722
                        [% IF ( f9ak ) %]
723
                            <option value="ak" selected="selected">Caracas, Venezuela</option>
723
                            <option value="ak" selected="selected">Caracas, Venezuela</option>
Lines 950-958 Link Here
950
                            <option value="ai">Cadiz, Spain</option>
950
                            <option value="ai">Cadiz, Spain</option>
951
                        [% END %]
951
                        [% END %]
952
                        [% IF ( f10aj ) %]
952
                        [% IF ( f10aj ) %]
953
                            <option value="aj" selected="selected">Capetown, South Africa</option>
953
                            <option value="aj" selected="selected">Cape town, South Africa</option>
954
                        [% ELSE %]
954
                        [% ELSE %]
955
                            <option value="aj">Capetown, South Africa</option>
955
                            <option value="aj">Cape town, South Africa</option>
956
                        [% END %]
956
                        [% END %]
957
                        [% IF ( f10ak ) %]
957
                        [% IF ( f10ak ) %]
958
                            <option value="ak" selected="selected">Caracas, Venezuela</option>
958
                            <option value="ak" selected="selected">Caracas, Venezuela</option>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_128b.tt (-4 / +4 lines)
Lines 62-70 Link Here
62
                            <option value="bt">Ethnic brass</option>
62
                            <option value="bt">Ethnic brass</option>
63
                        [% END %]
63
                        [% END %]
64
                        [% IF ( f1bu ) %]
64
                        [% IF ( f1bu ) %]
65
                            <option value="bu" selected="selected">Unspecified brass</option>
65
                            <option value="FIXME CODESPELL (bu ==> by, be, but, bug, bun, bud, buy, bum)" selected="selected">Unspecified brass</option>
66
                        [% ELSE %]
66
                        [% ELSE %]
67
                            <option value="bu">Unspecified brass</option>
67
                            <option value="FIXME CODESPELL (bu ==> by, be, but, bug, bun, bud, buy, bum)">Unspecified brass</option>
68
                        [% END %]
68
                        [% END %]
69
                        [% IF ( f1bz ) %]
69
                        [% IF ( f1bz ) %]
70
                            <option value="bz" selected="selected">Other brass</option>
70
                            <option value="bz" selected="selected">Other brass</option>
Lines 132-140 Link Here
132
                            <option value="of">Larger ensemble brass band</option>
132
                            <option value="of">Larger ensemble brass band</option>
133
                        [% END %]
133
                        [% END %]
134
                        [% IF ( f1ot ) %]
134
                        [% IF ( f1ot ) %]
135
                            <option value="ot" selected="selected">Ethnic orchestra</option>
135
                            <option value="FIXME CODESPELL (ot ==> to, of, or, not)" selected="selected">Ethnic orchestra</option>
136
                        [% ELSE %]
136
                        [% ELSE %]
137
                            <option value="ot">Ethnic orchestra</option>
137
                            <option value="FIXME CODESPELL (ot ==> to, of, or, not)">Ethnic orchestra</option>
138
                        [% END %]
138
                        [% END %]
139
                        [% IF ( f1ou ) %]
139
                        [% IF ( f1ou ) %]
140
                            <option value="ou" selected="selected">Unspecified orchestra</option>
140
                            <option value="ou" selected="selected">Unspecified orchestra</option>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_128c.tt (-4 / +4 lines)
Lines 56-64 Link Here
56
                            <option value="bt">Ethnic brass</option>
56
                            <option value="bt">Ethnic brass</option>
57
                        [% END %]
57
                        [% END %]
58
                        [% IF ( f1bu ) %]
58
                        [% IF ( f1bu ) %]
59
                            <option value="bu" selected="selected">Unspecified brass</option>
59
                            <option value="FIXME CODESPELL (bu ==> by, be, but, bug, bun, bud, buy, bum)" selected="selected">Unspecified brass</option>
60
                        [% ELSE %]
60
                        [% ELSE %]
61
                            <option value="bu">Unspecified brass</option>
61
                            <option value="FIXME CODESPELL (bu ==> by, be, but, bug, bun, bud, buy, bum)">Unspecified brass</option>
62
                        [% END %]
62
                        [% END %]
63
                        [% IF ( f1bz ) %]
63
                        [% IF ( f1bz ) %]
64
                            <option value="bz" selected="selected">Other brass</option>
64
                            <option value="bz" selected="selected">Other brass</option>
Lines 126-134 Link Here
126
                            <option value="of">Larger ensemble brass band</option>
126
                            <option value="of">Larger ensemble brass band</option>
127
                        [% END %]
127
                        [% END %]
128
                        [% IF ( f1ot ) %]
128
                        [% IF ( f1ot ) %]
129
                            <option value="ot" selected="selected">Ethnic orchestra</option>
129
                            <option value="FIXME CODESPELL (ot ==> to, of, or, not)" selected="selected">Ethnic orchestra</option>
130
                        [% ELSE %]
130
                        [% ELSE %]
131
                            <option value="ot">Ethnic orchestra</option>
131
                            <option value="FIXME CODESPELL (ot ==> to, of, or, not)">Ethnic orchestra</option>
132
                        [% END %]
132
                        [% END %]
133
                        [% IF ( f1ou ) %]
133
                        [% IF ( f1ou ) %]
134
                            <option value="ou" selected="selected">Unspecified orchestra</option>
134
                            <option value="ou" selected="selected">Unspecified orchestra</option>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_210c.tt (-6 / +6 lines)
Lines 68-82 Link Here
68
                <th>Used</th>
68
                <th>Used</th>
69
                <th>Get it!</th>
69
                <th>Get it!</th>
70
            </tr>
70
            </tr>
71
            [% FOREACH resul IN result %]
71
            [% FOREACH result IN resultt %]
72
                <tr>
72
                <tr>
73
                    <td>[% PROCESS authresult summary=resul.summary authid=resul.authid %]</td>
73
                    <td>[% PROCESS authresulttt summary=resultt.summary authid=resultt.authid %]</td>
74
                    <td>[% resul.summary.label | html %]</td>
74
                    <td>[% result.summary.label | html %]</td>
75
                    <td>[% resul.used | html %] times</td>
75
                    <td>[% result.used | html %] times</td>
76
                    <td>
76
                    <td>
77
                        [% IF ( resul.to_report ) %]
77
                        [% IF ( result.to_report ) %]
78
                            <button class="choosebt">Choose</button>
78
                            <button class="choosebt">Choose</button>
79
                            <p class="toreport" style="display:none">[% resul.to_report |replace('\n', '\\n') |replace('\r', '\\r') |html %]</p>
79
                            <p class="toreport" style="display:none">[% result.to_report |replace('\n', '\\n') |replace('\r', '\\r') |html %]</p>
80
                        [% END %]
80
                        [% END %]
81
                    </td>
81
                    </td>
82
                </tr>
82
                </tr>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/cataloguing/value_builder/unimarc_field_4XX.tt (-16 / +16 lines)
Lines 89-124 Link Here
89
                    <th>Location</th>
89
                    <th>Location</th>
90
                    <th>&nbsp;</th>
90
                    <th>&nbsp;</th>
91
                </tr>
91
                </tr>
92
                [% FOREACH resul IN result %]
92
                [% FOREACH result IN resultt %]
93
                    [% IF ( resul.title ) %]
93
                    [% IF ( result.title ) %]
94
                        <tr>
94
                        <tr>
95
                            [% SET td_class = '' %]
95
                            [% SET td_class = '' %]
96
                            [% IF ( resul.even ) %]
96
                            [% IF ( result.even ) %]
97
                                [% td_class = 'hilighted' %]
97
                                [% td_class = 'hilighted' %]
98
                            [% END %]
98
                            [% END %]
99
                            <td class="[% td_class | html %]">
99
                            <td class="[% td_class | html %]">
100
                                [% IF ( resul.MARC_ON ) %]
100
                                [% IF ( result.MARC_ON ) %]
101
                                    <a class="transparent resultlist" href="/cgi-bin/koha/MARCdetail.pl?biblionumber=[% resul.biblionumber |url %]">[% resul.title | html %]</a>
101
                                    <a class="transparent resultttlist" href="/cgi-bin/koha/MARCdetail.pl?biblionumber=[% resultt.biblionumber |url %]">[% resultt.title | html %]</a>
102
                                [% ELSE %]
102
                                [% ELSE %]
103
                                    <a class="transparent resultlist" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% resul.biblionumber |url %]">[% resul.fulltitle | html %]</a>
103
                                    <a class="transparent resultttlist" href="/cgi-bin/koha/catalogue/detail.pl?biblionumber=[% resultt.biblionumber |url %]">[% resultt.fulltitle | html %]</a>
104
                                [% END %]
104
                                [% END %]
105
                                <p
105
                                <p
106
                                    >[% resul.author | html %]
106
                                    >[% result.author | html %]
107
                                    [% IF ( resul.publishercode ) %]- [% resul.publishercode | html %][% END %]
107
                                    [% IF ( resultt.publishercode ) %]- [% resultt.publishercode | html %][% END %]
108
                                    [% IF ( resul.place ) %]; [% resul.place | html %][% END %]
108
                                    [% IF ( resultt.place ) %]; [% resultt.place | html %][% END %]
109
                                    [% IF ( resul.pages ) %]- [% resul.pages | html %][% END %]
109
                                    [% IF ( resultt.pages ) %]- [% resultt.pages | html %][% END %]
110
                                    [% IF ( resul.notes ) %]: [% resul.notes | html %][% END %]
110
                                    [% IF ( resultt.notes ) %]: [% resultt.notes | html %][% END %]
111
                                    [% IF ( resul.item('size') ) %]; [% resul.item('size') | html %][% END %]
111
                                    [% IF ( resultt.item('size') ) %]; [% resultt.item('size') | html %][% END %]
112
                                </p>
112
                                </p>
113
                            </td>
113
                            </td>
114
                            <td align="center" class="[% td_class | html %]"> [% resul.totitem | html %] </td>
114
                            <td align="center" class="[% td_class | html %]"> [% result.totitem | html %] </td>
115
                            <td class="[% td_class | html %]"> [% resul.CN | html %] </td>
115
                            <td class="[% td_class | html %]"> [% result.CN | html %] </td>
116
                            <td>
116
                            <td>
117
                                [% IF ( resul.biblionumber ) %]
117
                                [% IF ( result.biblionumber ) %]
118
                                    <a
118
                                    <a
119
                                        href="#"
119
                                        href="#"
120
                                        class="btn btn-default btn-xs redirect_link"
120
                                        class="btn btn-default btn-xs redirect_link"
121
                                        data-url="/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_4XX.pl&amp;index=[% index | html %]&amp;biblionumber=[% resul.biblionumber | html %]&amp;type=intranet&amp;op=fillinput"
121
                                        data-url="/cgi-bin/koha/cataloguing/plugin_launcher.pl?plugin_name=unimarc_field_4XX.pl&amp;index=[% index | html %]&amp;biblionumber=[% result.biblionumber | html %]&amp;type=intranet&amp;op=fillinput"
122
                                        >Choose</a
122
                                        >Choose</a
123
                                    >
123
                                    >
124
                                [% ELSE %]
124
                                [% ELSE %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/circulation.tt (-1 / +1 lines)
Lines 64-70 Link Here
64
64
65
    <h1>Checkouts</h1>
65
    <h1>Checkouts</h1>
66
66
67
    <!--  INITIAL BLOC : PARAMETERS & BORROWER INFO -->
67
    <!--  INITIAL BLOCK : PARAMETERS & BORROWER INFO -->
68
    [% IF ( was_renewed ) %]
68
    [% IF ( was_renewed ) %]
69
        <div class="alert alert-info">Patron's account has been renewed until [% expiry | $KohaDates %]</div>
69
        <div class="alert alert-info">Patron's account has been renewed until [% expiry | $KohaDates %]</div>
70
    [% END %]
70
    [% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/circ/transferstoreceive.tt (-1 / +1 lines)
Lines 54-60 Link Here
54
                                </tr></thead
54
                                </tr></thead
55
                            >
55
                            >
56
                            <tbody
56
                            <tbody
57
                                >[% FOREACH reser IN branchesloo.reserv %]
57
                                >[% FOREACH reser IN branchesloo.reserve %]
58
                                    [% SET tr_class = '' %]
58
                                    [% SET tr_class = '' %]
59
                                    [% IF ( reser.messcompa ) %]
59
                                    [% IF ( reser.messcompa ) %]
60
                                        [% tr_class = 'problem' %]
60
                                        [% tr_class = 'problem' %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/memberentrygen.tt (-1 / +1 lines)
Lines 284-290 Link Here
284
                        [% ELSE %]
284
                        [% ELSE %]
285
                            <input type="hidden" name="op" value="cud-save" />
285
                            <input type="hidden" name="op" value="cud-save" />
286
                            [% IF step == 4 || step == 5 || step == 6 || step == 2 || step == 1 || step == 7 %]
286
                            [% IF step == 4 || step == 5 || step == 6 || step == 2 || step == 1 || step == 7 %]
287
                                [%# Only put the card number if we arent showing it in the form later %]
287
                                [%# Only put the card number if we aren't showing it in the form later %]
288
                                [% IF borrower_data.cardnumber %]
288
                                [% IF borrower_data.cardnumber %]
289
                                    <input type="hidden" name="cardnumber" value="[% borrower_data.cardnumber | html %]" />
289
                                    <input type="hidden" name="cardnumber" value="[% borrower_data.cardnumber | html %]" />
290
                                [% END %]
290
                                [% END %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/paycollect.tt (-1 / +1 lines)
Lines 515-521 Link Here
515
                let amount_outstanding = parseFloat( $('#amountoutstanding').attr('value') );
515
                let amount_outstanding = parseFloat( $('#amountoutstanding').attr('value') );
516
                let amount_writeoff = parseFloat( $('#amountwrittenoff').attr('value') );
516
                let amount_writeoff = parseFloat( $('#amountwrittenoff').attr('value') );
517
                if ( amount_writeoff > amount_outstanding ) {
517
                if ( amount_writeoff > amount_outstanding ) {
518
                    alert(_("You are attemping to writeoff more than the value of the fee."));
518
                    alert(_("You are attempting to writeoff more than the value of the fee."));
519
                    $('#woindivfine').beenSubmitted = false;
519
                    $('#woindivfine').beenSubmitted = false;
520
                } else {
520
                } else {
521
                    prevent_default = 0;
521
                    prevent_default = 0;
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/members/statistics.tt (-2 / +2 lines)
Lines 42-48 Link Here
42
    [% INCLUDE 'members-toolbar.inc' %]
42
    [% INCLUDE 'members-toolbar.inc' %]
43
43
44
    <h1>Statistics for [% INCLUDE 'patron-title.inc' %]</h1>
44
    <h1>Statistics for [% INCLUDE 'patron-title.inc' %]</h1>
45
    [% IF ( datas.size ) %]
45
    [% IF ( data.size ) %]
46
        <div class="page-section">
46
        <div class="page-section">
47
            <table id="statistics">
47
            <table id="statistics">
48
                <thead>
48
                <thead>
Lines 73-79 Link Here
73
                </thead>
73
                </thead>
74
74
75
                <tbody>
75
                <tbody>
76
                    [% FOREACH r IN datas %]
76
                    [% FOREACH r IN data %]
77
                        <tr>
77
                        <tr>
78
                            [% FOREACH c IN r %]
78
                            [% FOREACH c IN r %]
79
                                <td>[% c | html %]</td>
79
                                <td>[% c | html %]</td>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/patroncards/image-manage.tt (-4 / +4 lines)
Lines 82-92 Link Here
82
                    <fieldset class="brief">
82
                    <fieldset class="brief">
83
                        <div class="hint"> Select one or more images to delete. </div>
83
                        <div class="hint"> Select one or more images to delete. </div>
84
                        <table>
84
                        <table>
85
                            [% FOREACH TABL IN TABLE %]
85
                            [% FOREACH TABLE IN TABLEE %]
86
86
87
                                [% IF ( TABL.header_fields ) %]
87
                                [% IF ( TABLE.header_fields ) %]
88
                                    <tr>
88
                                    <tr>
89
                                        [% FOREACH header_field IN TABL.header_fields %]
89
                                        [% FOREACH header_field IN TABLE.header_fields %]
90
                                            [% SWITCH header_field.field_label -%]
90
                                            [% SWITCH header_field.field_label -%]
91
                                            [% CASE "ID" %]
91
                                            [% CASE "ID" %]
92
                                                <th>Image ID</th>
92
                                                <th>Image ID</th>
Lines 101-107 Link Here
101
                                    </tr>
101
                                    </tr>
102
                                [% ELSE %]
102
                                [% ELSE %]
103
                                    <tr>
103
                                    <tr>
104
                                        [% FOREACH text_field IN TABL.text_fields %]
104
                                        [% FOREACH text_field IN TABLE.text_fields %]
105
                                            [% IF ( text_field.select_field ) %]
105
                                            [% IF ( text_field.select_field ) %]
106
                                                <td>
106
                                                <td>
107
                                                    <a
107
                                                    <a
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/acquisitions_stats.tt (-6 / +6 lines)
Lines 90-96 Link Here
90
                    </tr>
90
                    </tr>
91
                    [% FOREACH loopro IN mainloo.looprow %]
91
                    [% FOREACH loopro IN mainloo.looprow %]
92
                        <tr>
92
                        <tr>
93
                            <td [% IF loopro.hilighted %]class="hilighted"[% END %]> [% loopro.rowtitle | html %]</td>
93
                            <td [% IF loopro.highlighted %]class="highlighted"[% END %]> [% loopro.rowtitle | html %]</td>
94
                            [% FOREACH loopcel IN loopro.loopcell %]
94
                            [% FOREACH loopcel IN loopro.loopcell %]
95
                                <td>
95
                                <td>
96
                                    [% IF ( loopcel.value ) %]
96
                                    [% IF ( loopcel.value ) %]
Lines 128-134 Link Here
128
                        </tr>
128
                        </tr>
129
                    </thead>
129
                    </thead>
130
                    <tbody>
130
                    <tbody>
131
                        <tr class="hilighted">
131
                        <tr class="highlighted">
132
                            <td>Placed on</td>
132
                            <td>Placed on</td>
133
                            <td><input type="radio" name="Line" value="aqbasket.closedate" /></td>
133
                            <td><input type="radio" name="Line" value="aqbasket.closedate" /></td>
134
                            <td><input type="radio" checked="checked" name="Column" value="aqbasket.closedate" /> </td>
134
                            <td><input type="radio" checked="checked" name="Column" value="aqbasket.closedate" /> </td>
Lines 139-145 Link Here
139
                                <span class="hint">[% INCLUDE 'date-format.inc' %]</span>
139
                                <span class="hint">[% INCLUDE 'date-format.inc' %]</span>
140
                            </td>
140
                            </td>
141
                        </tr>
141
                        </tr>
142
                        <tr class="hilighted">
142
                        <tr class="highlighted">
143
                            <td>&nbsp;</td>
143
                            <td>&nbsp;</td>
144
                            <td colspan="2"
144
                            <td colspan="2"
145
                                >group by
145
                                >group by
Lines 176-182 Link Here
176
                            </td>
176
                            </td>
177
                            <td>&nbsp;</td>
177
                            <td>&nbsp;</td>
178
                        </tr>
178
                        </tr>
179
                        <tr class="hilighted">
179
                        <tr class="highlighted">
180
                            <td>Vendor</td>
180
                            <td>Vendor</td>
181
                            <td><input type="radio" checked="checked" name="Line" value="aqbooksellers.name" /></td>
181
                            <td><input type="radio" checked="checked" name="Line" value="aqbooksellers.name" /></td>
182
                            <td><input type="radio" name="Column" value="aqbooksellers.name" /></td>
182
                            <td><input type="radio" name="Column" value="aqbooksellers.name" /></td>
Lines 254-260 Link Here
254
                        </tr>
254
                        </tr>
255
255
256
                        [% IF ( hassort1 ) %]
256
                        [% IF ( hassort1 ) %]
257
                            <tr class="hilighted">
257
                            <tr class="highlighted">
258
                                <td>Sort1</td>
258
                                <td>Sort1</td>
259
                                <td><input type="radio" name="Line" value="aqorders.sort1" /></td>
259
                                <td><input type="radio" name="Line" value="aqorders.sort1" /></td>
260
                                <td><input type="radio" name="Column" value="aqorders.sort1" /></td>
260
                                <td><input type="radio" name="Column" value="aqorders.sort1" /></td>
Lines 269-275 Link Here
269
                            </tr>
269
                            </tr>
270
                        [% END %]
270
                        [% END %]
271
                        [% IF ( hassort2 ) %]
271
                        [% IF ( hassort2 ) %]
272
                            <tr [% IF HglghtSort2 %]class="hilighted"[% END %]>
272
                            <tr [% IF HglghtSort2 %]class="highlighted"[% END %]>
273
                                <td>Sort2</td>
273
                                <td>Sort2</td>
274
                                <td><input type="radio" name="Line" value="aqorders.sort2" /></td>
274
                                <td><input type="radio" name="Line" value="aqorders.sort2" /></td>
275
                                <td><input type="radio" name="Column" value="aqorders.sort2" /></td>
275
                                <td><input type="radio" name="Column" value="aqorders.sort2" /></td>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/guided_reports_start.tt (-1 / +1 lines)
Lines 2076-2082 Link Here
2076
                        }
2076
                        }
2077
                    });
2077
                    });
2078
2078
2079
                    // Remove coresponding cells.
2079
                    // Remove corresponding cells.
2080
                    var kept_results = [];
2080
                    var kept_results = [];
2081
                    $.each(results, function(index, value) {
2081
                    $.each(results, function(index, value) {
2082
                        var line = {};
2082
                        var line = {};
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/issues_avg_stats.tt (-8 / +8 lines)
Lines 60-68 Link Here
60
                    </tr>
60
                    </tr>
61
                    [% FOREACH loopro IN mainloo.looprow %]
61
                    [% FOREACH loopro IN mainloo.looprow %]
62
                        <tr>
62
                        <tr>
63
                            <td [% IF loopro.hilighted %]class="hilighted"[% END %]> [% loopro.rowtitle | html %]</td>
63
                            <td [% IF loopro.highlighted %]class="highlighted"[% END %]> [% loopro.rowtitle | html %]</td>
64
                            [% FOREACH loopcel IN loopro.loopcell %]
64
                            [% FOREACH loopcel IN loopro.loopcell %]
65
                                <td [% IF loopcel.hilighted %]class="hilighted"[% END %]> [% IF ( loopcel.value ) %][% loopcel.value | html %][% END %] </td>
65
                                <td [% IF loopcel.highlighted %]class="highlighted"[% END %]> [% IF ( loopcel.value ) %][% loopcel.value | html %][% END %] </td>
66
                            [% END %]
66
                            [% END %]
67
                            <td> [% loopro.totalrow | html %] </td>
67
                            <td> [% loopro.totalrow | html %] </td>
68
                        </tr>
68
                        </tr>
Lines 92-98 Link Here
92
                        </tr>
92
                        </tr>
93
                    </thead>
93
                    </thead>
94
                    <tbody>
94
                    <tbody>
95
                        <tr class="hilighted">
95
                        <tr class="highlighted">
96
                            <td>Checkout date</td>
96
                            <td>Checkout date</td>
97
                            <td><input type="radio" name="Line" value="timestamp" /></td>
97
                            <td><input type="radio" name="Line" value="timestamp" /></td>
98
                            <td><input type="radio" checked="checked" name="Column" value="timestamp" /></td>
98
                            <td><input type="radio" checked="checked" name="Column" value="timestamp" /></td>
Lines 105-111 Link Here
105
                                <span class="hint">[% INCLUDE 'date-format.inc' %]</span>
105
                                <span class="hint">[% INCLUDE 'date-format.inc' %]</span>
106
                            </td>
106
                            </td>
107
                        </tr>
107
                        </tr>
108
                        <tr class="hilighted">
108
                        <tr class="highlighted">
109
                            <td>&nbsp;</td>
109
                            <td>&nbsp;</td>
110
                            <td colspan="2"
110
                            <td colspan="2"
111
                                >by
111
                                >by
Lines 144-150 Link Here
144
                            </td>
144
                            </td>
145
                            <td><input type="hidden" name="Filter" value="" /><input type="hidden" name="Filter" value="" /></td>
145
                            <td><input type="hidden" name="Filter" value="" /><input type="hidden" name="Filter" value="" /></td>
146
                        </tr>
146
                        </tr>
147
                        <tr class="hilighted">
147
                        <tr class="highlighted">
148
                            <td>Patron category</td>
148
                            <td>Patron category</td>
149
                            <td><input type="radio" checked="checked" name="Line" value="borrowers.categorycode" /></td>
149
                            <td><input type="radio" checked="checked" name="Line" value="borrowers.categorycode" /></td>
150
                            <td><input type="radio" name="Column" value="borrowers.categorycode" /></td>
150
                            <td><input type="radio" name="Column" value="borrowers.categorycode" /></td>
Lines 170-176 Link Here
170
                                </select>
170
                                </select>
171
                            </td>
171
                            </td>
172
                        </tr>
172
                        </tr>
173
                        <tr class="hilighted">
173
                        <tr class="highlighted">
174
                            <td>Library</td>
174
                            <td>Library</td>
175
                            <td><input type="radio" name="Line" value="branchcode" /></td>
175
                            <td><input type="radio" name="Line" value="branchcode" /></td>
176
                            <td><input type="radio" name="Column" value="branchcode" /></td>
176
                            <td><input type="radio" name="Column" value="branchcode" /></td>
Lines 182-188 Link Here
182
                            </td>
182
                            </td>
183
                        </tr>
183
                        </tr>
184
                        [% IF ( hassort1 ) %]
184
                        [% IF ( hassort1 ) %]
185
                            <tr class="hilighted">
185
                            <tr class="highlighted">
186
                                <td>Sort1</td>
186
                                <td>Sort1</td>
187
                                <td><input type="radio" name="Line" value="borrowers.sort1" /></td>
187
                                <td><input type="radio" name="Line" value="borrowers.sort1" /></td>
188
                                <td><input type="radio" name="Column" value="borrowers.sort1" /></td>
188
                                <td><input type="radio" name="Column" value="borrowers.sort1" /></td>
Lines 197-203 Link Here
197
                            </tr>
197
                            </tr>
198
                        [% END %]
198
                        [% END %]
199
                        [% IF ( hassort2 ) %]
199
                        [% IF ( hassort2 ) %]
200
                            <tr [% IF HglghtSort2 %]class="hilighted"[% END %]>
200
                            <tr [% IF HglghtSort2 %]class="highlighted"[% END %]>
201
                                <td>Sort2</td>
201
                                <td>Sort2</td>
202
                                <td><input type="radio" name="Line" value="borrowers.sort2" /></td>
202
                                <td><input type="radio" name="Line" value="borrowers.sort2" /></td>
203
                                <td><input type="radio" name="Column" value="borrowers.sort2" /></td>
203
                                <td><input type="radio" name="Column" value="borrowers.sort2" /></td>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/reports/serials_stats.tt (-1 / +1 lines)
Lines 62-68 Link Here
62
                </tr>
62
                </tr>
63
            </thead>
63
            </thead>
64
            <tbody>
64
            <tbody>
65
                [% FOREACH data IN datas %]
65
                [% FOREACH data IN data %]
66
                    <tr>
66
                    <tr>
67
                        <td><a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% data.aqbooksellerid | uri %]">[% data.name | html %]</a></td>
67
                        <td><a href="/cgi-bin/koha/acqui/supplier.pl?booksellerid=[% data.aqbooksellerid | uri %]">[% data.name | html %]</a></td>
68
                        <td><a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% data.subscriptionid | uri %]">[% data.title | html %]</a></td>
68
                        <td><a href="/cgi-bin/koha/serials/subscription-detail.pl?subscriptionid=[% data.subscriptionid | uri %]">[% data.title | html %]</a></td>
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/suggestion/suggestion.tt (-1 / +1 lines)
Lines 668-674 Link Here
668
                        <!-- /.rows -->
668
                        <!-- /.rows -->
669
669
670
                        <fieldset class="action">
670
                        <fieldset class="action">
671
                            <input type="hidden" id="returnsuggested" name="returnsuggested" value="[% IF ( returnsuggestedby ) %][% returnsuggestedby | html %][% ELSE %]noone[% END %]" />
671
                            <input type="hidden" id="returnsuggested" name="returnsuggested" value="[% IF ( returnsuggestedby ) %][% returnsuggestedby | html %][% ELSE %]no one[% END %]" />
672
                            [% IF ( suggestionid ) %]
672
                            [% IF ( suggestionid ) %]
673
                                <input type="hidden" name="op" value="cud-save" />
673
                                <input type="hidden" name="op" value="cud-save" />
674
                                [% IF ( need_confirm ) %]
674
                                [% IF ( need_confirm ) %]
(-)a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/quotes-upload.tt (-1 / +1 lines)
Lines 151-157 Link Here
151
            function fnCSVToArray(strData, strDelimiter) {
151
            function fnCSVToArray(strData, strDelimiter) {
152
                // This will parse a delimited string into an array of
152
                // This will parse a delimited string into an array of
153
                // arrays. The default delimiter is the comma, but this
153
                // arrays. The default delimiter is the comma, but this
154
                // can be overriden in the second argument.
154
                // can be overridden in the second argument.
155
155
156
                // Check to see if the delimiter is defined. If not,
156
                // Check to see if the delimiter is defined. If not,
157
                // then default to comma.
157
                // then default to comma.
(-)a/koha-tmpl/intranet-tmpl/prog/js/acq.js (-1 / +1 lines)
Lines 366-372 function checkBudgetParent(budgetId, newBudgetParent) { Link Here
366
    if (result == "1") {
366
    if (result == "1") {
367
        return "- " + __("New budget-parent is beneath budget") + "\n";
367
        return "- " + __("New budget-parent is beneath budget") + "\n";
368
        //     } else if (result == '2') {
368
        //     } else if (result == '2') {
369
        //            return "- New budget-parent has insufficent funds\n";
369
        //            return "- New budget-parent has insufficient funds\n";
370
        //     } else  {
370
        //     } else  {
371
        //              return false;
371
        //              return false;
372
    }
372
    }
(-)a/koha-tmpl/intranet-tmpl/prog/js/cataloging.js (-2 / +2 lines)
Lines 579-585 function UnCloneField(index) { Link Here
579
    if ($(original).hasClass("tag")) {
579
    if ($(original).hasClass("tag")) {
580
        // unclone a field, check if there will remain one field
580
        // unclone a field, check if there will remain one field
581
        var fieldCode = getFieldCode(index);
581
        var fieldCode = getFieldCode(index);
582
        // tag divs with id begining with original field code
582
        // tag divs with id beginning with original field code
583
        var cloneFields = $('.tag[id^="tag_' + fieldCode + '"]');
583
        var cloneFields = $('.tag[id^="tag_' + fieldCode + '"]');
584
        if (cloneFields.length > 1) {
584
        if (cloneFields.length > 1) {
585
            canUnclone = true;
585
            canUnclone = true;
Lines 587-593 function UnCloneField(index) { Link Here
587
    } else {
587
    } else {
588
        // unclone a subfield, check if there will remain one subfield
588
        // unclone a subfield, check if there will remain one subfield
589
        var subfieldCode = getFieldAndSubfieldCode(index);
589
        var subfieldCode = getFieldAndSubfieldCode(index);
590
        // subfield divs of same field with id begining with original field and subfield field code
590
        // subfield divs of same field with id beginning with original field and subfield field code
591
        var cloneSubfields = $(original)
591
        var cloneSubfields = $(original)
592
            .parent()
592
            .parent()
593
            .children('.subfield_line[id^="subfield' + subfieldCode + '"]');
593
            .children('.subfield_line[id^="subfield' + subfieldCode + '"]');
(-)a/koha-tmpl/intranet-tmpl/prog/js/datatables.js (-4 / +4 lines)
Lines 156-162 $.fn.dataTableExt.oSort["num-html-desc"] = function (a, b) { Link Here
156
            dre =
156
            dre =
157
                /(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,
157
                /(^([\w ]+,?[\w ]+)?[\w ]+,?[\w ]+\d+:\d+(:\d+)?[\w ]?|^\d{1,4}[\/\-]\d{1,4}[\/\-]\d{1,4}|^\w+, \w+ \d+, \d{4})/,
158
            hre = /^0x[0-9a-f]+$/i,
158
            hre = /^0x[0-9a-f]+$/i,
159
            ore = /^0/,
159
            or = /^0/,
160
            // convert all to strings and trim()
160
            // convert all to strings and trim()
161
            x = a.toString().replace(sre, "") || "",
161
            x = a.toString().replace(sre, "") || "",
162
            y = b.toString().replace(sre, "") || "",
162
            y = b.toString().replace(sre, "") || "",
Lines 191-201 $.fn.dataTableExt.oSort["num-html-desc"] = function (a, b) { Link Here
191
        ) {
191
        ) {
192
            // find floats not starting with '0', string or 0 if not defined (Clint Priest)
192
            // find floats not starting with '0', string or 0 if not defined (Clint Priest)
193
            var oFxNcL =
193
            var oFxNcL =
194
                (!(xN[cLoc] || "").match(ore) && parseFloat(xN[cLoc])) ||
194
                (!(xN[cLoc] || "").match(or) && parseFloat(xN[cLoc])) ||
195
                xN[cLoc] ||
195
                xN[cLoc] ||
196
                0;
196
                0;
197
            var oFyNcL =
197
            var oFyNcL =
198
                (!(yN[cLoc] || "").match(ore) && parseFloat(yN[cLoc])) ||
198
                (!(yN[cLoc] || "").match(or) && parseFloat(yN[cLoc])) ||
199
                yN[cLoc] ||
199
                yN[cLoc] ||
200
                0;
200
                0;
201
            // handle numeric vs string comparison - number < string - (Kyle Adams)
201
            // handle numeric vs string comparison - number < string - (Kyle Adams)
Lines 1286-1292 function update_search_description( Link Here
1286
     *                                                allows setting the 'comparison operator' used in searches
1286
     *                                                allows setting the 'comparison operator' used in searches
1287
     *                                                Supports `contains`, `starts_with`, `ends_with` and `exact` match
1287
     *                                                Supports `contains`, `starts_with`, `ends_with` and `exact` match
1288
     * @param  {string}  [options.columns.*.type      Data type the field is stored in so we may impose some additional
1288
     * @param  {string}  [options.columns.*.type      Data type the field is stored in so we may impose some additional
1289
     *                                                manipulation to search strings. Supported types are currenlty 'date'
1289
     *                                                manipulation to search strings. Supported types are currently 'date'
1290
     * @param  {Object}  table_settings               The arrayref as returned by TableSettings.GetTableSettings function
1290
     * @param  {Object}  table_settings               The arrayref as returned by TableSettings.GetTableSettings function
1291
     *                                                available from the columns_settings template toolkit include
1291
     *                                                available from the columns_settings template toolkit include
1292
     * @param  {Boolean} add_filters                  Add a filters row as the top row of the table
1292
     * @param  {Boolean} add_filters                  Add a filters row as the top row of the table
(-)a/koha-tmpl/intranet-tmpl/prog/js/ill-batch-modal.js (-8 / +8 lines)
Lines 140-146 Link Here
140
140
141
    // The element that potentially holds the ID of the batch
141
    // The element that potentially holds the ID of the batch
142
    // we're working with
142
    // we're working with
143
    var idEl = document.getElementById("ill-batch-details");
143
    var idle = document.getElementById("ill-batch-details");
144
    var batchId = null;
144
    var batchId = null;
145
    var backend = null;
145
    var backend = null;
146
146
Lines 157-164 Link Here
157
        $("#ill-batch-modal").on("hidden.bs.modal", function () {
157
        $("#ill-batch-modal").on("hidden.bs.modal", function () {
158
            // Reset our state when we close the modal
158
            // Reset our state when we close the modal
159
            // TODO: need to also reset progress bar and already processed identifiers
159
            // TODO: need to also reset progress bar and already processed identifiers
160
            delete idEl.dataset.batchId;
160
            delete idle.dataset.batchId;
161
            delete idEl.dataset.backend;
161
            delete idle.dataset.backend;
162
            batchId = null;
162
            batchId = null;
163
            tableEl.style.display = "none";
163
            tableEl.style.display = "none";
164
            tableContent.data = [];
164
            tableContent.data = [];
Lines 176-183 Link Here
176
    }
176
    }
177
177
178
    function init() {
178
    function init() {
179
        batchId = idEl.dataset.batchId;
179
        batchId = idle.dataset.batchId;
180
        backend = idEl.dataset.backend;
180
        backend = idle.dataset.backend;
181
        emptyBatch.backend = backend;
181
        emptyBatch.backend = backend;
182
        progressTotals.data = {
182
        progressTotals.data = {
183
            total: 0,
183
            total: 0,
Lines 714-722 Link Here
714
        var tabIdentifiers = tableContent.data.map(function (tabId) {
714
        var tabIdentifiers = tableContent.data.map(function (tabId) {
715
            return tabId.value;
715
            return tabId.value;
716
        });
716
        });
717
        var notInTable = deduped.filter(function (ded) {
717
        var notInTable = deaduped.filter(function (dead) {
718
            if (!tabIdentifiers.includes(ded.value)) {
718
            if (!tabIdentifiers.includes(dead.value)) {
719
                return ded;
719
                return dead;
720
            }
720
            }
721
        });
721
        });
722
        if (notInTable.length > 0) {
722
        if (notInTable.length > 0) {
(-)a/koha-tmpl/intranet-tmpl/prog/js/ill-batch.js (-3 / +3 lines)
Lines 3-12 Link Here
3
    // If we're working with an existing batch, set the ID so the
3
    // If we're working with an existing batch, set the ID so the
4
    // modal can access it
4
    // modal can access it
5
    window.openBatchModal = function (id, backend) {
5
    window.openBatchModal = function (id, backend) {
6
        var idEl = document.getElementById("ill-batch-details");
6
        var idle = document.getElementById("ill-batch-details");
7
        idEl.dataset.backend = backend;
7
        idle.dataset.backend = backend;
8
        if (id) {
8
        if (id) {
9
            idEl.dataset.batchId = id;
9
            idle.dataset.batchId = id;
10
        }
10
        }
11
        $("#ill-batch-modal").modal("show");
11
        $("#ill-batch-modal").modal("show");
12
    };
12
    };
(-)a/koha-tmpl/intranet-tmpl/prog/js/localcovers.js (-1 / +1 lines)
Lines 14-20 KOHA.LocalCover = { Link Here
14
     * or
14
     * or
15
     *    <div title="biblionumber" id="isbn" class="openlibrary-thumbnail-preview"></div>
15
     *    <div title="biblionumber" id="isbn" class="openlibrary-thumbnail-preview"></div>
16
     * and run a search with all collected isbns to Open Library Book Search.
16
     * and run a search with all collected isbns to Open Library Book Search.
17
     * The result is asynchronously returned by OpenLibrary and catched by
17
     * The result is asynchronously returned by OpenLibrary and caught by
18
     * olCallBack().
18
     * olCallBack().
19
     */
19
     */
20
    GetCoverFromBibnumber: function (uselink) {
20
    GetCoverFromBibnumber: function (uselink) {
(-)a/koha-tmpl/intranet-tmpl/prog/js/marc_subfields_structure.js (-1 / +1 lines)
Lines 187-193 function populateHiddenCheckboxes(tab) { Link Here
187
    // read the serialized value
187
    // read the serialized value
188
    var hidden_value = $("#hidden-" + tab).val();
188
    var hidden_value = $("#hidden-" + tab).val();
189
    var hidden_protected = $("#hidden-" + tab).attr("data-koha-protected");
189
    var hidden_protected = $("#hidden-" + tab).attr("data-koha-protected");
190
    // deafult to false
190
    // default to false
191
    var opac_checked = false;
191
    var opac_checked = false;
192
    var intranet_checked = false;
192
    var intranet_checked = false;
193
    var editor_checked = false;
193
    var editor_checked = false;
(-)a/koha-tmpl/intranet-tmpl/prog/js/modals/place_booking.js (-1 / +1 lines)
Lines 139-145 $("#placeBookingModal").on("show.bs.modal", function (e) { Link Here
139
    // Note: For now, we apply the pickup library rules for issuelength, renewalsallowed and renewalperiod.
139
    // Note: For now, we apply the pickup library rules for issuelength, renewalsallowed and renewalperiod.
140
    // This effectively makes these circulation rules hard coded to CircControl: ItemHomeLibrary + HomeOrHolding: holdingbranch
140
    // This effectively makes these circulation rules hard coded to CircControl: ItemHomeLibrary + HomeOrHolding: holdingbranch
141
    // Whilst it would be beneficial to make this follow those rules more closely, this would require some significant thinking
141
    // Whilst it would be beneficial to make this follow those rules more closely, this would require some significant thinking
142
    // around how to best display this in the calender component for the 'Any item' case.
142
    // around how to best display this in the calendar component for the 'Any item' case.
143
    function getCirculationRules() {
143
    function getCirculationRules() {
144
        let rules_url = "/api/v1/circulation_rules";
144
        let rules_url = "/api/v1/circulation_rules";
145
        if (booking_patron && pickup_library_id && booking_itemtype_id) {
145
        if (booking_patron && pickup_library_id && booking_itemtype_id) {
(-)a/koha-tmpl/intranet-tmpl/prog/js/vue/components/ERM/EHoldingsLocalTitlesFormAdd.vue (-1 / +1 lines)
Lines 515-521 export default { Link Here
515
            delete title.title_id;
515
            delete title.title_id;
516
            delete title.biblio_id;
516
            delete title.biblio_id;
517
517
518
            // Cannot use the map/keepAttrs because of the reserved keywork 'package'
518
            // Cannot use the map/keepAttrs because of the reserved keyword 'package'
519
            title.resources.forEach(function (e) {
519
            title.resources.forEach(function (e) {
520
                delete e.package;
520
                delete e.package;
521
                delete e.resource_id;
521
                delete e.resource_id;
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/includes/js-date-format.inc (-1 / +1 lines)
Lines 31-37 Link Here
31
        };
31
        };
32
32
33
        /*
33
        /*
34
         * A JS equivilent of the KohaDates TT Plugin. Passed an rfc3339 formatted date string,
34
         * A JS equivalent of the KohaDates TT Plugin. Passed an rfc3339 formatted date string,
35
         * or JS Date, the function will return a date string formatted as per the koha instance config.
35
         * or JS Date, the function will return a date string formatted as per the koha instance config.
36
         * Optionally accepts a dateformat parameter to allow override of the configured output format
36
         * Optionally accepts a dateformat parameter to allow override of the configured output format
37
         * as well as a 'withtime' boolean denoting whether to include time or not in the output string.
37
         * as well as a 'withtime' boolean denoting whether to include time or not in the output string.
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/includes/subtypes_unimarc.inc (-1 / +1 lines)
Lines 26-32 Link Here
26
            <option value="Material-type:h">hand-written</option>
26
            <option value="Material-type:h">hand-written</option>
27
            <option value="Material-type:i">multimedia</option>
27
            <option value="Material-type:i">multimedia</option>
28
            <option value="Material-type:j">mini-print</option>
28
            <option value="Material-type:j">mini-print</option>
29
            <option value="Material-type:s">electronic ressource</option>
29
            <option value="Material-type:s">electronic resource</option>
30
            <option value="Material-type:t">microform</option>
30
            <option value="Material-type:t">microform</option>
31
            <option value="Material-type:z">other form of textual material</option>
31
            <option value="Material-type:z">other form of textual material</option>
32
        </select>
32
        </select>
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-advsearch.tt (-1 / +1 lines)
Lines 454-460 Link Here
454
                                        <option value="ctype:j">Patent document</option>
454
                                        <option value="ctype:j">Patent document</option>
455
                                        <option value="ctype:k">Discographies</option>
455
                                        <option value="ctype:k">Discographies</option>
456
                                        <option value="ctype:l">Legislation</option>
456
                                        <option value="ctype:l">Legislation</option>
457
                                        <option value="ctype:m">Theses</option>
457
                                        <option value="ctype:m">FIXME CODESPELL (Theses ==> These, Thesis)</option>
458
                                        <option value="ctype:n">Surveys</option>
458
                                        <option value="ctype:n">Surveys</option>
459
                                        <option value="ctype:o">Reviews</option>
459
                                        <option value="ctype:o">Reviews</option>
460
                                        <option value="ctype:p">Programmed texts</option>
460
                                        <option value="ctype:p">Programmed texts</option>
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-authoritiessearchresultlist.tt (-8 / +8 lines)
Lines 76-95 Link Here
76
                                    </tr>
76
                                    </tr>
77
                                </thead>
77
                                </thead>
78
                                <tbody>
78
                                <tbody>
79
                                    [% FOREACH resul IN result %]
79
                                    [% FOREACH result IN resultt %]
80
                                        <tr>
80
                                        <tr>
81
                                            <td>
81
                                            <td>
82
                                                [% IF resul.html %]
82
                                                [% IF result.html %]
83
                                                    [% resul.html | $raw %]
83
                                                    [% result.html | $raw %]
84
                                                [% ELSE %]
84
                                                [% ELSE %]
85
                                                    [% PROCESS authresult summary=resul.summary authid=resul.authid %]
85
                                                    [% PROCESS authresulttt summary=resultt.summary authid=resultt.authid %]
86
                                                [% END %]
86
                                                [% END %]
87
                                            </td>
87
                                            </td>
88
                                            <td><a href="/cgi-bin/koha/opac-authoritiesdetail.pl?authid=[% resul.authid | uri %]">Details</a> </td><td>[% resul.authtype | html %]</td>
88
                                            <td><a href="/cgi-bin/koha/opac-authoritiesdetail.pl?authid=[% resultt.authid | uri %]">Details</a> </td><td>[% resultt.authtype | html %]</td>
89
                                            [% UNLESS ( resul.isEDITORS ) %]
89
                                            [% UNLESS ( result.isEDITORS ) %]
90
                                                <td>
90
                                                <td>
91
                                                    [% IF resul.used > 0 %]
91
                                                    [% IF result.used > 0 %]
92
                                                        <a href="/cgi-bin/koha/opac-search.pl?type=opac&amp;op=do_search&amp;q=an,phr:[% resul.authid | uri %]">[% resul.used | html %] [% tn('record', 'records', resul.used ) | html %]</a>
92
                                                        <a href="/cgi-bin/koha/opac-search.pl?type=opac&amp;op=do_search&amp;q=an,phr:[% resulttt.authid | uri %]">[% resulttt.used | html %] [% tn('record', 'records', resulttt.used ) | html %]</a>
93
                                                    [% ELSE %]
93
                                                    [% ELSE %]
94
                                                        0 records
94
                                                        0 records
95
                                                    [% END %]
95
                                                    [% END %]
(-)a/koha-tmpl/opac-tmpl/bootstrap/en/modules/opac-reserve.tt (-1 / +1 lines)
Lines 662-668 Link Here
662
                    $("#reqspecific_" + id).attr("disabled", "disabled");
662
                    $("#reqspecific_" + id).attr("disabled", "disabled");
663
                    $("#reqany_" + id).attr("disabled", "disabled");
663
                    $("#reqany_" + id).attr("disabled", "disabled");
664
                }
664
                }
665
                // expand or collaspe the items block
665
                // expand or collapse the items block
666
                toggle_copiesrow(id);
666
                toggle_copiesrow(id);
667
            });
667
            });
668
668
(-)a/koha-tmpl/opac-tmpl/bootstrap/js/Gettext.js (-15 / +15 lines)
Lines 19-25 USA. Link Here
19
19
20
=head1 NAME
20
=head1 NAME
21
21
22
Javascript Gettext - Javascript implemenation of GNU Gettext API.
22
Javascript Gettext - Javascript implementation of GNU Gettext API.
23
23
24
=head1 SYNOPSIS
24
=head1 SYNOPSIS
25
25
Lines 46-52 Javascript Gettext - Javascript implemenation of GNU Gettext API. Link Here
46
 // //////////////////////////////////////////////////////////
46
 // //////////////////////////////////////////////////////////
47
 // The other way to load the language lookup is a "link" tag
47
 // The other way to load the language lookup is a "link" tag
48
 // Downside is that not all browsers cache XMLHttpRequests the
48
 // Downside is that not all browsers cache XMLHttpRequests the
49
 // same way, so caching of the language data isn't guarenteed
49
 // same way, so caching of the language data isn't guaranteed
50
 // across page loads.
50
 // across page loads.
51
 // Upside is that it's easy to specify multiple files
51
 // Upside is that it's easy to specify multiple files
52
 <link rel="gettext" href="/path/LC_MESSAGES/myDomain.json" />
52
 <link rel="gettext" href="/path/LC_MESSAGES/myDomain.json" />
Lines 57-63 Javascript Gettext - Javascript implemenation of GNU Gettext API. Link Here
57
57
58
58
59
 // //////////////////////////////////////////////////////////
59
 // //////////////////////////////////////////////////////////
60
 // The reson the shortcuts aren't exported by default is because they'd be
60
 // The reason the shortcuts aren't exported by default is because they'd be
61
 // glued to the single domain you created. So, if you're adding i18n support
61
 // glued to the single domain you created. So, if you're adding i18n support
62
 // to some js library, you should use it as so:
62
 // to some js library, you should use it as so:
63
63
Lines 108-114 The locale initialization differs from that of GNU Gettext / POSIX. Rather than Link Here
108
108
109
=head1 INSTALL
109
=head1 INSTALL
110
110
111
To install this module, simply copy the file lib/Gettext.js to a web accessable location, and reference it from your application.
111
To install this module, simply copy the file lib/Gettext.js to a web accessible location, and reference it from your application.
112
112
113
113
114
=head1 CONFIGURATION
114
=head1 CONFIGURATION
Lines 139-145 This method also allows you to use unsupported file formats, so long as you can Link Here
139
139
140
=item 2. Use AJAX to load language file.
140
=item 2. Use AJAX to load language file.
141
141
142
Use XMLHttpRequest (actually, SJAX - syncronous) to load an external resource.
142
Use XMLHttpRequest (actually, SJAX - synchronous) to load an external resource.
143
143
144
Supported external formats are:
144
Supported external formats are:
145
145
Lines 530-536 Gettext.prototype.parse_po = function (data) { Link Here
530
            lastbuffer = "msgstr_0";
530
            lastbuffer = "msgstr_0";
531
            buffer[lastbuffer] = this.parse_po_dequote(match[1]);
531
            buffer[lastbuffer] = this.parse_po_dequote(match[1]);
532
532
533
            // msgstr[0] (treak like msgstr)
533
            // msgstr[0] (FIXME CODESPELL (treak ==> treat, tweak) like msgstr)
534
        } else if ((match = lines[i].match(/^msgstr\[0\]\s+(.*)/))) {
534
        } else if ((match = lines[i].match(/^msgstr\[0\]\s+(.*)/))) {
535
            lastbuffer = "msgstr_0";
535
            lastbuffer = "msgstr_0";
536
            buffer[lastbuffer] = this.parse_po_dequote(match[1]);
536
            buffer[lastbuffer] = this.parse_po_dequote(match[1]);
Lines 599-605 Gettext.prototype.parse_po = function (data) { Link Here
599
                        "SKIPPING ERROR MARKER IN HEADER: " + hlines[i]
599
                        "SKIPPING ERROR MARKER IN HEADER: " + hlines[i]
600
                    );
600
                    );
601
                } else {
601
                } else {
602
                    // remove begining spaces if any
602
                    // remove beginning spaces if any
603
                    val = val.replace(/^\s+/, "");
603
                    val = val.replace(/^\s+/, "");
604
                    cur[keylow] = val;
604
                    cur[keylow] = val;
605
                }
605
                }
Lines 742-754 One common mistake is to interpolate a variable into the string like this: Link Here
742
742
743
The interpolation will happen before it's passed to gettext, and it's
743
The interpolation will happen before it's passed to gettext, and it's
744
unlikely you'll have a translation for every "Hello Tom" and "Hello Dick"
744
unlikely you'll have a translation for every "Hello Tom" and "Hello Dick"
745
and "Hellow Harry" that may arise.
745
and "Hello Harry" that may arise.
746
746
747
Use C<strargs()> (see below) to solve this problem:
747
Use C<strargs()> (see below) to solve this problem:
748
748
749
  var translated = Gettext.strargs( gt.gettext("Hello %1"), [full_name] );
749
  var translated = Gettext.strargs( gt.gettext("Hello %1"), [full_name] );
750
750
751
This is espeically useful when multiple replacements are needed, as they
751
This is especially useful when multiple replacements are needed, as they
752
may not appear in the same order within the translation. As an English to
752
may not appear in the same order within the translation. As an English to
753
French example:
753
French example:
754
754
Lines 772-778 Like dgettext() but retrieves the message from the specified B<CATEGORY> Link Here
772
instead of the default category C<LC_MESSAGES>.
772
instead of the default category C<LC_MESSAGES>.
773
773
774
NOTE: the categories are really useless in javascript context. This is
774
NOTE: the categories are really useless in javascript context. This is
775
here for GNU Gettext API compatability. In practice, you'll never need
775
here for GNU Gettext API compatibility. In practice, you'll never need
776
to use this. This applies to all the calls including the B<CATEGORY>.
776
to use this. This applies to all the calls including the B<CATEGORY>.
777
777
778
778
Lines 1095-1101 Example: Link Here
1095
1095
1096
The format numbers are 1 based, so the first itme is %1.
1096
The format numbers are 1 based, so the first itme is %1.
1097
1097
1098
A lone percent sign may be escaped by preceeding it with another percent sign.
1098
A lone percent sign may be escaped by FIXME CODESPELL (preceeding ==> preceding, proceeding) it with another percent sign.
1099
1099
1100
A percent sign followed by anything other than a number or another percent sign will be passed through as is.
1100
A percent sign followed by anything other than a number or another percent sign will be passed through as is.
1101
1101
Lines 1164-1170 Gettext.strargs = function (str, args) { Link Here
1164
        // we found it, append everything up to that
1164
        // we found it, append everything up to that
1165
        newstr += str.substr(0, i);
1165
        newstr += str.substr(0, i);
1166
1166
1167
        // check for escpaed %%
1167
        // check for escaped %%
1168
        if (str.substr(i, 2) == "%%") {
1168
        if (str.substr(i, 2) == "%%") {
1169
            newstr += "%";
1169
            newstr += "%";
1170
            str = str.substr(i + 2);
1170
            str = str.substr(i + 2);
Lines 1275-1283 Loaded locale data is currently cached class-wide. This means that if two script Link Here
1275
1275
1276
Currently, there are several places that throw errors. In GNU Gettext, there are no fatal errors, which allows text to still be displayed regardless of how broken the environment becomes. We should evaluate and determine where we want to stand on that issue.
1276
Currently, there are several places that throw errors. In GNU Gettext, there are no fatal errors, which allows text to still be displayed regardless of how broken the environment becomes. We should evaluate and determine where we want to stand on that issue.
1277
1277
1278
=item syncronous only support (no ajax support)
1278
=item synchronous only support (no ajax support)
1279
1279
1280
Currently, fetching language data is done purely syncronous, which means the page will halt while those files are fetched/loaded.
1280
Currently, fetching language data is done purely synchronous, which means the page will halt while those files are fetched/loaded.
1281
1281
1282
This is often what you want, as then following translation requests will actually be translated. However, if all your calls are done dynamically (ie. error handling only or something), loading in the background may be more adventagous.
1282
This is often what you want, as then following translation requests will actually be translated. However, if all your calls are done dynamically (ie. error handling only or something), loading in the background may be more adventagous.
1283
1283
Lines 1309-1315 May want to add encoding/reencoding stuff. See GNU iconv, or the perl module Loc Link Here
1309
=back
1309
=back
1310
1310
1311
1311
1312
=head1 COMPATABILITY
1312
=head1 COMPATIBILITY
1313
1313
1314
This has been tested on the following browsers. It may work on others, but these are all those to which I have access.
1314
This has been tested on the following browsers. It may work on others, but these are all those to which I have access.
1315
1315
(-)a/koha-tmpl/opac-tmpl/bootstrap/js/autofill.js (-2 / +2 lines)
Lines 199-205 Link Here
199
    };
199
    };
200
200
201
    /*
201
    /*
202
     * @fields object: Google Books API item propreties map for
202
     * @fields object: Google Books API item properties map for
203
     *                 mapping against a target element. Expected
203
     *                 mapping against a target element. Expected
204
     *                 type:
204
     *                 type:
205
     *                 {
205
     *                 {
Lines 210-216 Link Here
210
     *                 }
210
     *                 }
211
     *
211
     *
212
     *                 "target" is optional and if specified alone (i.e no
212
     *                 "target" is optional and if specified alone (i.e no
213
     *                 handle proprety) autofill will automaticly fill this
213
     *                 handle property) autofill will automatically fill this
214
     *                 target element with returned data.
214
     *                 target element with returned data.
215
     *
215
     *
216
     *                 "handle" is optional and will be called when ajax request
216
     *                 "handle" is optional and will be called when ajax request
(-)a/koha-tmpl/opac-tmpl/bootstrap/js/datatables.js (-1 / +1 lines)
Lines 279-285 function _dt_visibility(table_settings, table_dt) { Link Here
279
     *                                                allows setting the 'comparison operator' used in searches
279
     *                                                allows setting the 'comparison operator' used in searches
280
     *                                                Supports `contains`, `starts_with`, `ends_with` and `exact` match
280
     *                                                Supports `contains`, `starts_with`, `ends_with` and `exact` match
281
     * @param  {string}  [options.columns.*.type      Data type the field is stored in so we may impose some additional
281
     * @param  {string}  [options.columns.*.type      Data type the field is stored in so we may impose some additional
282
     *                                                manipulation to search strings. Supported types are currenlty 'date'
282
     *                                                manipulation to search strings. Supported types are currently 'date'
283
     * @param  {Object}  table_settings               The arrayref as returned by TableSettings.GetTableSettings function
283
     * @param  {Object}  table_settings               The arrayref as returned by TableSettings.GetTableSettings function
284
     *                                                available from the columns_settings template toolkit include
284
     *                                                available from the columns_settings template toolkit include
285
     * @return {Object}                               The dataTables instance
285
     * @return {Object}                               The dataTables instance
(-)a/koha-tmpl/opac-tmpl/bootstrap/js/google-jackets.js (-1 / +1 lines)
Lines 13-19 KOHA.Google = { Link Here
13
     * or
13
     * or
14
     *    <div title="biblionumber" id="isbn" class="gbs-thumbnail-preview"></div>
14
     *    <div title="biblionumber" id="isbn" class="gbs-thumbnail-preview"></div>
15
     * and run a search with all collected isbns to Google Book Search.
15
     * and run a search with all collected isbns to Google Book Search.
16
     * The result is asynchronously returned by Google and catched by
16
     * The result is asynchronously returned by Google and caught by
17
     * gbsCallBack().
17
     * gbsCallBack().
18
     */
18
     */
19
    GetCoverFromIsbn: function (newWindow) {
19
    GetCoverFromIsbn: function (newWindow) {
(-)a/koha-tmpl/opac-tmpl/bootstrap/js/localcovers.js (-1 / +1 lines)
Lines 13-19 KOHA.LocalCover = { Link Here
13
     * or
13
     * or
14
     *    <div title="biblionumber" id="isbn" class="openlibrary-thumbnail-preview"></div>
14
     *    <div title="biblionumber" id="isbn" class="openlibrary-thumbnail-preview"></div>
15
     * and run a search with all collected isbns to Open Library Book Search.
15
     * and run a search with all collected isbns to Open Library Book Search.
16
     * The result is asynchronously returned by OpenLibrary and catched by
16
     * The result is asynchronously returned by OpenLibrary and caught by
17
     * olCallBack().
17
     * olCallBack().
18
     */
18
     */
19
    GetCoverFromBibnumber: function () {
19
    GetCoverFromBibnumber: function () {
(-)a/koha-tmpl/opac-tmpl/bootstrap/js/openlibrary.js (-1 / +1 lines)
Lines 13-19 KOHA.OpenLibrary = new (function () { Link Here
13
     * or
13
     * or
14
     *    <div title="biblionumber" id="isbn" class="openlibrary-thumbnail-preview"></div>
14
     *    <div title="biblionumber" id="isbn" class="openlibrary-thumbnail-preview"></div>
15
     * and run a search with all collected isbns to Open Library Book Search.
15
     * and run a search with all collected isbns to Open Library Book Search.
16
     * The result is asynchronously returned by OpenLibrary and catched by
16
     * The result is asynchronously returned by OpenLibrary and caught by
17
     * olCallBack().
17
     * olCallBack().
18
     */
18
     */
19
    this.GetCoverFromIsbn = function () {
19
    this.GetCoverFromIsbn = function () {
(-)a/members/housebound.pl (-1 / +1 lines)
Lines 122-128 if ( $op eq 'cud-updateconfirm' and $houseboundprofile ) { Link Here
122
    $houseboundvisit = $visit;
122
    $houseboundvisit = $visit;
123
} elsif ( $op eq 'cud-visit_delete' and $visit ) {
123
} elsif ( $op eq 'cud-visit_delete' and $visit ) {
124
124
125
    # We want ot delete a specific visit.
125
    # We want FIXME CODESPELL (ot ==> to, of, or, not) delete a specific visit.
126
    my $success = eval { return $visit->delete };
126
    my $success = eval { return $visit->delete };
127
    push @messages, { type => 'error', code => 'error_on_visit_delete' }
127
    push @messages, { type => 'error', code => 'error_on_visit_delete' }
128
        if ( $@ or !$success );
128
        if ( $@ or !$success );
(-)a/members/statistics.pl (-3 / +3 lines)
Lines 72-78 my $total_issues_returned_today = GetTotalIssuesReturnedTodayByBorrower($borrowe Link Here
72
my $r                           = merge( @$precedent_state, @$total_issues_today, @$total_issues_returned_today );
72
my $r                           = merge( @$precedent_state, @$total_issues_today, @$total_issues_returned_today );
73
73
74
add_actual_state($r);
74
add_actual_state($r);
75
my ( $total, $datas ) = build_array($r);
75
my ( $total, $data ) = build_array($r);
76
76
77
# Gettings sums
77
# Gettings sums
78
my $count_total_precedent_state = $total->{count_precedent_state}             || 0;
78
my $count_total_precedent_state = $total->{count_precedent_state}             || 0;
Lines 83-89 my $count_total_actual_state = ( $count_total_precedent_state - $count_total_ Link Here
83
$template->param(
83
$template->param(
84
    patron                      => $patron,
84
    patron                      => $patron,
85
    statisticsview              => 1,
85
    statisticsview              => 1,
86
    datas                       => $datas,
86
    data                       => $data,
87
    column_names                => \@statistic_column_names,
87
    column_names                => \@statistic_column_names,
88
    count_total_issues          => $count_total_issues,
88
    count_total_issues          => $count_total_issues,
89
    count_total_issues_returned => $count_total_issues_returned,
89
    count_total_issues_returned => $count_total_issues_returned,
Lines 115-121 sub add_actual_state { Link Here
115
=head2 build_array
115
=head2 build_array
116
116
117
  Build a new array containing values of hashes.
117
  Build a new array containing values of hashes.
118
  It used by template whitch display silly values.
118
  It used by template which display silly values.
119
  ex:
119
  ex:
120
    $array = [
120
    $array = [
121
      {
121
      {
(-)a/misc/batchDeleteUnusedSubfields.pl (-1 / +1 lines)
Lines 50-56 foreach my $tag ( sort keys( %{$tags} ) ) { Link Here
50
        next if $subfield eq "tab";
50
        next if $subfield eq "tab";
51
51
52
        # DO NOT drop biblionumber, biblioitemnumber and itemnumber.
52
        # DO NOT drop biblionumber, biblioitemnumber and itemnumber.
53
        # they are stored internally, and are mapped to tab -1. This script must keep them or it will completly break Koha DB !!!
53
        # they are stored internally, and are mapped to tab -1. This script must keep them or it will completely break Koha DB !!!
54
        next if ( $tags->{$tag}->{$subfield}->{kohafield} eq "biblio.biblionumber" );
54
        next if ( $tags->{$tag}->{$subfield}->{kohafield} eq "biblio.biblionumber" );
55
        next if ( $tags->{$tag}->{$subfield}->{kohafield} eq "biblioitems.biblioitemnumber" );
55
        next if ( $tags->{$tag}->{$subfield}->{kohafield} eq "biblioitems.biblioitemnumber" );
56
        next if ( $tags->{$tag}->{$subfield}->{kohafield} eq "items.itemnumber" );
56
        next if ( $tags->{$tag}->{$subfield}->{kohafield} eq "items.itemnumber" );
(-)a/misc/bin/connexion_import_daemon.pl (-4 / +4 lines)
Lines 62-72 Config file format: Link Here
62
                      add_only_for_matches, add_only_for_new or ignore
62
                      add_only_for_matches, add_only_for_new or ignore
63
  import_mode    - stage or direct
63
  import_mode    - stage or direct
64
  framework      - to be used if import_mode is direct, if blank, will use default
64
  framework      - to be used if import_mode is direct, if blank, will use default
65
  connexion_user      - User sent from connexion client
65
  connection_user      - User sent from connection client
66
  connexion_password  - Password sent from connexion client
66
  connection_password  - Password sent from connection client
67
67
68
  Note: If connexion parameters are not defined request authentication will not be checked
68
  Note: If connection parameters are not defined request authentication will not be checked
69
  You should specify a different user for connexion to protect the Koha credentials
69
  You should specify a different user for connection to protect the Koha credentials
70
70
71
  All process related parameters (all but ip and port) have default values as
71
  All process related parameters (all but ip and port) have default values as
72
  per Koha import process.
72
  per Koha import process.
(-)a/misc/cronjobs/advance_notices.pl (-1 / +1 lines)
Lines 141-147 program. They may be redirected to a file if desired. Link Here
141
=head2 Templates
141
=head2 Templates
142
142
143
Templates can contain variables enclosed in double angle brackets like
143
Templates can contain variables enclosed in double angle brackets like
144
E<lt>E<lt>thisE<gt>E<gt>. Those variables will be replaced with values
144
E<lt>E<lt>FIXME CODESPELL (thisE ==> these, this)<gt>E<gt>. Those variables will be replaced with values
145
specific to the overdue items or relevant patron. Available variables
145
specific to the overdue items or relevant patron. Available variables
146
are:
146
are:
147
147
(-)a/misc/cronjobs/build_browser_and_cloud.pl (-77 / +77 lines)
Lines 100-107 while ( ( my ($biblionumber) = $sth->fetchrow ) ) { Link Here
100
    if ( $browser_tag && $Koharecord ) {
100
    if ( $browser_tag && $Koharecord ) {
101
        foreach my $browsed_field ( $Koharecord->subfield( $browser_tag, $browser_subfield ) ) {
101
        foreach my $browsed_field ( $Koharecord->subfield( $browser_tag, $browser_subfield ) ) {
102
            $browsed_field =~ s/\.//g;
102
            $browsed_field =~ s/\.//g;
103
            my $upto = length($browsed_field) <= $max_digits ? length($browsed_field) : $max_digits;
103
            my $up to = length($browsed_field) <= $max_digits ? length($browsed_field) : $max_digits;
104
            for ( my $i = 1 ; $i <= $upto ; $i++ ) {
104
            for ( my $i = 1 ; $i <= $up to ; $i++ ) {
105
                $browser_result{ substr( $browsed_field, 0, $i ) }->{value}++;
105
                $browser_result{ substr( $browsed_field, 0, $i ) }->{value}++;
106
                $browser_result{ substr( $browsed_field, 0, $i ) }->{endnode} = 1;
106
                $browser_result{ substr( $browsed_field, 0, $i ) }->{endnode} = 1;
107
            }
107
            }
Lines 131-137 while ( ( my ($biblionumber) = $sth->fetchrow ) ) { Link Here
131
131
132
# fills the browser table
132
# fills the browser table
133
if ($browser_tag) {
133
if ($browser_tag) {
134
    print "inserting datas in browser table\n" unless $batch;
134
    print "inserting data in browser table\n" unless $batch;
135
135
136
    # read existing classification table is possible
136
    # read existing classification table is possible
137
    my $classification;
137
    my $classification;
Lines 209-215 sub dewey_french { Link Here
209
        "004.165"   => "Micro-ordinateurs",
209
        "004.165"   => "Micro-ordinateurs",
210
        "004.19"    => "Calculatrices électroniques",
210
        "004.19"    => "Calculatrices électroniques",
211
        "004.2"     => "Analyse et conception des systèmes. Architecture des ordinateurs. Évaluation des performances",
211
        "004.2"     => "Analyse et conception des systèmes. Architecture des ordinateurs. Évaluation des performances",
212
        "004.21"    => "Analyse et conception des systèmes. Conduite de projets",
212
        "004.21"    => "Analyse et conception des systèmes. Conduite de projects",
213
        "004.22"    => "Architecture des ordinateurs",
213
        "004.22"    => "Architecture des ordinateurs",
214
        "004.24"    => "Évaluation des performances",
214
        "004.24"    => "Évaluation des performances",
215
        "004.25"    =>
215
        "004.25"    =>
Lines 249-260 sub dewey_french { Link Here
249
        "005.113"     => "Structurée",
249
        "005.113"     => "Structurée",
250
        "005.114"     => "Fonctionnelle",
250
        "005.114"     => "Fonctionnelle",
251
        "005.115"     => "Logique",
251
        "005.115"     => "Logique",
252
        "005.117"     => "Orientée objet",
252
        "005.117"     => "Orientée object",
253
        "005.12"      => "Analyse et conception de logiciels",
253
        "005.12"      => "Analyse et conception de logiciels",
254
        "005.13"      => "Langages de programmation",
254
        "005.13"      => "Langages de programmation",
255
        "005.133"     => "Langages de programmation particuliers",
255
        "005.133"     => "Langages de programmation particuliers",
256
        "005.136"     => "Langages machine, assembleur",
256
        "005.136"     => "Langages machine, assembleur",
257
        "005.14"      => "Vérification, test, mesures, mise au point (débogage)",
257
        "005.14"      => "Vérification, test, measures, mise au point (débogage)",
258
        "005.16"      => "Maintenance des programmes et des logiciels",
258
        "005.16"      => "Maintenance des programmes et des logiciels",
259
        "005.2"       => "Programmation par types d'ordinateurs",
259
        "005.2"       => "Programmation par types d'ordinateurs",
260
        "005.3"       => "Logiciels. Génie logiciel",
260
        "005.3"       => "Logiciels. Génie logiciel",
Lines 288-306 sub dewey_french { Link Here
288
        "005.8"       => "Sécurité des données",
288
        "005.8"       => "Sécurité des données",
289
        "005.82"      => "Cryptage des données",
289
        "005.82"      => "Cryptage des données",
290
        "005.84"      => "Virus",
290
        "005.84"      => "Virus",
291
        "005.86"      => "Restauration des données",
291
        "005.86"      => "Restoration des données",
292
        "006"         => "Méthodes particulières et application de l'informatique, IA, multimédia",
292
        "006"         => "Méthodes particulières et application de l'informatique, IA, multimédia",
293
        "006.3"       => "Intelligence Artificielle",
293
        "006.3"       => "Intelligence Artificielle",
294
        "006.31"      => "Apprentissage par ordinateur (EAO)",
294
        "006.31"      => "Apprentissage par ordinateur (EAO)",
295
        "006.32"      => "Réseaux neuronaux",
295
        "006.32"      => "Réseaux neuronaux",
296
        "006.33"      => "Systèmes experts",
296
        "006.33"      => "Systèmes experts",
297
        "006.35"      => "Traitement du langage naturel",
297
        "006.35"      => "Traitement du language naturel",
298
        "006.37"      => "Vision artificielle",
298
        "006.37"      => "Vision artificielle",
299
        "006.4"       => "Reconnaissance de formes",
299
        "006.4"       => "Reconnaissance de FIXME CODESPELL (formes ==> forms, formed)",
300
        "006.42"      => "Reconnaissance optique de formes",
300
        "006.42"      => "Reconnaissance optique de FIXME CODESPELL (formes ==> forms, formed)",
301
        "006.424"     => "Reconnaissance optique de caractères",
301
        "006.424"     => "Reconnaissance optique de caractères",
302
        "006.425"     => "Reconnaissance optique de l'écriture",
302
        "006.425"     => "Reconnaissance optique de l'écriture",
303
        "006.45"      => "Reconnaissance acoustique de formes",
303
        "006.45"      => "Reconnaissance acoustique de FIXME CODESPELL (formes ==> forms, formed)",
304
        "006.454"     => "Reconnaissance de la parole",
304
        "006.454"     => "Reconnaissance de la parole",
305
        "006.5"       => "Synthèse de sons par ordinateur",
305
        "006.5"       => "Synthèse de sons par ordinateur",
306
        "006.54"      => "Synthèse de la parole",
306
        "006.54"      => "Synthèse de la parole",
Lines 331-339 sub dewey_french { Link Here
331
        "11"          => "Métaphysique",
331
        "11"          => "Métaphysique",
332
        "111"         => "Métaphysique générale, ontologie",
332
        "111"         => "Métaphysique générale, ontologie",
333
        "113"         => "Création, cosmologie",
333
        "113"         => "Création, cosmologie",
334
        "114"         => "Espace",
334
        "114"         => "Escape",
335
        "115"         => "Temps",
335
        "115"         => "Temps",
336
        "116"         => "Mouvement",
336
        "116"         => "Movement",
337
        "117"         => "Matière",
337
        "117"         => "Matière",
338
        "118"         => "Force",
338
        "118"         => "Force",
339
        "119"         => "Quantité, nombre",
339
        "119"         => "Quantité, nombre",
Lines 344-350 sub dewey_french { Link Here
344
        "125"         => "Finitude",
344
        "125"         => "Finitude",
345
        "128"         => "Âme",
345
        "128"         => "Âme",
346
        "129"         => "Destinée de l'âme. Immortalité",
346
        "129"         => "Destinée de l'âme. Immortalité",
347
        "13"          => "Phénomènes paranormaux, parapsychologie, vie de l'esprit, philosophie de la culture",
347
        "13"          => "Phénomènes paranormaux, parapsychologie, via de l'esprit, philosophie de la culture",
348
        "133"         => "Sciences occultes",
348
        "133"         => "Sciences occultes",
349
        "14"          => "Écoles et courants philosophiques, (typologie) systèmes philosophiques",
349
        "14"          => "Écoles et courants philosophiques, (typologie) systèmes philosophiques",
350
        "141"         => "Systèmes philosophiques",
350
        "141"         => "Systèmes philosophiques",
Lines 379-389 sub dewey_french { Link Here
379
        "212"         => "Panthéisme",
379
        "212"         => "Panthéisme",
380
        "213"         => "Création",
380
        "213"         => "Création",
381
        "214"         => "Providence. Prédétermination",
381
        "214"         => "Providence. Prédétermination",
382
        "215"         => "Religion et science, raison et révélation. L'Église et la science",
382
        "215"         => "Religion et science, FIXME CODESPELL (raison ==> reason, raisin) et révélation. L'Église et la science",
383
        "216"         => "Bien et mal",
383
        "216"         => "Bien et mal",
384
        "217"         => "Devoirs de l'homme envers Dieu",
384
        "217"         => "Devoirs de l'homme envers Dieu",
385
        "218"         => "Immortalité. Au-delà",
385
        "218"         => "Immortalité. Au-delà",
386
        "219"         => "Anthropomorphisme. Analogies et correspondances",
386
        "219"         => "Anthropomorphisme. Analogies et correspondences",
387
        "22"          => "Bible",
387
        "22"          => "Bible",
388
        "221"         => "Ancien testament (canon juif)",
388
        "221"         => "Ancien testament (canon juif)",
389
        "222"         => "Ancien testament (canon chrétien) : livres historiques",
389
        "222"         => "Ancien testament (canon chrétien) : livres historiques",
Lines 401-408 sub dewey_french { Link Here
401
        "234"         => "Sotériologie. Doctrine du salut, grâce, foi",
401
        "234"         => "Sotériologie. Doctrine du salut, grâce, foi",
402
        "235"         => "Anges. Pneumatologie. Saints",
402
        "235"         => "Anges. Pneumatologie. Saints",
403
        "236"         => "Eschatologie",
403
        "236"         => "Eschatologie",
404
        "237"         => "Vie future",
404
        "237"         => "Via future",
405
        "238"         => "Symboles de la Foi : catéchismes, credos, confessions de foi",
405
        "238"         => "Symbols de la Foi : catéchismes, credos, confessions de foi",
406
        "239"         => "Théologie polémique. Défense de la Foi",
406
        "239"         => "Théologie polémique. Défense de la Foi",
407
        "24"          => "Théologie morale et dévotion chrétiennes",
407
        "24"          => "Théologie morale et dévotion chrétiennes",
408
        "241"         => "Théologie morale. Morale chrétienne",
408
        "241"         => "Théologie morale. Morale chrétienne",
Lines 435-441 sub dewey_french { Link Here
435
        "268"         => "Catéchisation",
435
        "268"         => "Catéchisation",
436
        "269"         => "Retraites, conversions, réveils, prosélytisme",
436
        "269"         => "Retraites, conversions, réveils, prosélytisme",
437
        "27"          => "Histoire et géographie de l'église chrétienne",
437
        "27"          => "Histoire et géographie de l'église chrétienne",
438
        "271"         => "Ordres religieux. Vie monastique",
438
        "271"         => "Ordres religieux. Via monastique",
439
        "272"         => "Persécutions des chrétiens",
439
        "272"         => "Persécutions des chrétiens",
440
        "273"         => "Hérésies et schismes",
440
        "273"         => "Hérésies et schismes",
441
        "276"         => "Patrologie",
441
        "276"         => "Patrologie",
Lines 457-463 sub dewey_french { Link Here
457
        "295"         => "Religions perses",
457
        "295"         => "Religions perses",
458
        "296"         => "Judaïsme",
458
        "296"         => "Judaïsme",
459
        "297"         => "Islam",
459
        "297"         => "Islam",
460
        "298"         => "Mouvements religieux récents et contemporains",
460
        "298"         => "Movements religieux récents et contemporains",
461
        "299"         => "Autres religions",
461
        "299"         => "Autres religions",
462
        "3"           => "Sciences humaines et sociales",
462
        "3"           => "Sciences humaines et sociales",
463
        "30"          => "Sociologie et anthropologie (301 à 307)",
463
        "30"          => "Sociologie et anthropologie (301 à 307)",
Lines 471-477 sub dewey_french { Link Here
471
        "314"         => "Démographie",
471
        "314"         => "Démographie",
472
        "316"         => "Sociologie",
472
        "316"         => "Sociologie",
473
        "32"          => "Science politique",
473
        "32"          => "Science politique",
474
        "321"         => "Formes de l'organisation politique",
474
        "321"         => "FIXME CODESPELL (Formes ==> Forms, Formed) de l'organisation politique",
475
        "322"         => "Clergés et États",
475
        "322"         => "Clergés et États",
476
        "323"         => "Politique intérieure",
476
        "323"         => "Politique intérieure",
477
        "324"         => "Élections",
477
        "324"         => "Élections",
Lines 516-531 sub dewey_french { Link Here
516
        "372"         => "Éducation pré-scolaire et enseignement du premier degré",
516
        "372"         => "Éducation pré-scolaire et enseignement du premier degré",
517
        "373"         => "Enseignement général",
517
        "373"         => "Enseignement général",
518
        "374"         => "Formation permanente",
518
        "374"         => "Formation permanente",
519
        "376"         => "Écoles spéciales (handicapés, groupes sociaux particuliers, etc.)",
519
        "376"         => "Écoles spéciales (handicapés, FIXME CODESPELL (groupes ==> groups, grouped) sociaux particuliers, etc.)",
520
        "377"         => "Enseignement technique",
520
        "377"         => "Enseignement technique",
521
        "378"         => "Enseignement supérieur",
521
        "378"         => "Enseignement supérieur",
522
        "379"         => "Loisirs éducatifs",
522
        "379"         => "Loisirs éducatifs",
523
        "38"          => "Commerce, communications, transports",
523
        "38"          => "Commerce, communications, transports",
524
        "39"          => "Coutumes et folklore et étiquette",
524
        "39"          => "Coutumes et folklore et étiquette",
525
        "391"         => "Costume, parures, ornements",
525
        "391"         => "Costume, parures, ornements",
526
        "392"         => "Coutumes relatives à la vie privée (naissance, mariage, cuisine, etc.)",
526
        "392"         => "Coutumes relatives à la via privée (naissance, marriage, cuisine, etc.)",
527
        "393"         => "Rites funéraires",
527
        "393"         => "Rites funéraires",
528
        "394"         => "Vie publique",
528
        "394"         => "Via publique",
529
        "395"         => "Cérémonial, étiquette, savoir-vivre",
529
        "395"         => "Cérémonial, étiquette, savoir-vivre",
530
        "396"         => "Condition féminine",
530
        "396"         => "Condition féminine",
531
        "398"         => "Folklore",
531
        "398"         => "Folklore",
Lines 550-567 sub dewey_french { Link Here
550
        "511.32"      => "Ensembles. Algèbre de Boole",
550
        "511.32"      => "Ensembles. Algèbre de Boole",
551
        "511.322"     => "Nombres transfinis",
551
        "511.322"     => "Nombres transfinis",
552
        "511.33"      => "Relations, treillis, systèmes et structures ordonnés",
552
        "511.33"      => "Relations, treillis, systèmes et structures ordonnés",
553
        "511.35"      => "Théorie de la récursivité. Fonctions récursives",
553
        "511.35"      => "Théorie de la récursivité. Functions récursives",
554
        "511.4"       => "Approximation et développements",
554
        "511.4"       => "Approximation et développements",
555
        "511.5"       => "Théorie des graphes. Construction des graphes",
555
        "511.5"       => "Théorie des graphes. Construction des graphes",
556
        "511.6"       => "Analyse combinatoire",
556
        "511.6"       => "Analyse combinatoire",
557
        "511.8"       => "Modèles mathématiques et simulation. Algorithmes",
557
        "511.8"       => "Modèles mathématiques et simulation. Algorithms",
558
        "512"         => "Algèbre, théorie des nombres",
558
        "512"         => "Algèbre, théorie des nombres",
559
        "512.2"       => "Groupes et théorie des groupes",
559
        "512.2"       => "FIXME CODESPELL (Groupes ==> Groups, Grouped) et théorie des FIXME CODESPELL (groupes ==> groups, grouped)",
560
        "512.3"       => "Corps : théorie des corps, théorie de Galois",
560
        "512.3"       => "Corps : théorie des corps, théorie de Galois",
561
        "512.4"       => "Anneaux, domaines d'intégrité, idéaux. Dilatation. Modules. Radicaux",
561
        "512.4"       => "Anneaux, domaines d'intégrité, idéaux. Dilatation. Modules. Radicaux",
562
        "512.5"       => "Algèbres linéaire, multilinéaire, multidimensionnelle",
562
        "512.5"       => "Algèbres linéaire, multilinéaire, multidimensionnelle",
563
        "512.52"      => "Espaces vectoriels",
563
        "512.52"      => "Escapes vectoriels",
564
        "512.55"      => "Algèbres et groupes topologiques, algèbres et groupes connexes",
564
        "512.55"      => "Algèbres et FIXME CODESPELL (FIXME CODESPELL (groupes ==> groups, grouped) ==> groups, grouped) topologiques, algèbres et FIXME CODESPELL (FIXME CODESPELL (groupes ==> groups, grouped) ==> groups, grouped) connexes",
565
        "512.56"      => "Algèbres différentielles et des différences",
565
        "512.56"      => "Algèbres différentielles et des différences",
566
        "512.57"      => "Algèbres-quotients (Clifford, extérieure, spineurs, tensorielle, ...)",
566
        "512.57"      => "Algèbres-quotients (Clifford, extérieure, spineurs, tensorielle, ...)",
567
        "512.7"       => "Théorie des nombres. Treillis",
567
        "512.7"       => "Théorie des nombres. Treillis",
Lines 569-580 sub dewey_french { Link Here
569
        "512.9"       => "Fondements de l'algèbre",
569
        "512.9"       => "Fondements de l'algèbre",
570
        "512.94"      => "Théorie des équations",
570
        "512.94"      => "Théorie des équations",
571
        "512.943"     => "Déterminants et matrices ",
571
        "512.943"     => "Déterminants et matrices ",
572
        "512.944"     => "Théorie des formes. Théorie des invariants algébriques",
572
        "512.944"     => "Théorie des FIXME CODESPELL (formes ==> forms, formed). Théorie des invariants algébriques",
573
        "512.96"      => "Algèbre des fonctions sans équation. Fonctions rationnelles",
573
        "512.96"      => "Algèbre des functions sans équation. Functions rationnelles",
574
        "512.97"      => "Inégalités",
574
        "512.97"      => "Inégalités",
575
        "514"         => "Topologie",
575
        "514"         => "Topology",
576
        "514.2"       => "algébrique",
576
        "514.2"       => "algébrique",
577
        "514.3"       => "des espaces. Topologie métrique",
577
        "514.3"       => "des escapes. Topology métrique",
578
        "514.7"       => "analytique",
578
        "514.7"       => "analytique",
579
        "514.72"      => "différentielle. Foliations",
579
        "514.72"      => "différentielle. Foliations",
580
        "514.74"      => "Analyse globale",
580
        "514.74"      => "Analyse globale",
Lines 585-591 sub dewey_french { Link Here
585
        "515.243"     => "Séries. Séries infinies. Sommabilité",
585
        "515.243"     => "Séries. Séries infinies. Sommabilité",
586
        "515.243 2"   => "Séries de puissances",
586
        "515.243 2"   => "Séries de puissances",
587
        "515.243 3"   => "Analyse de Fourier, analyse harmonique. Analyse par ondelettes",
587
        "515.243 3"   => "Analyse de Fourier, analyse harmonique. Analyse par ondelettes",
588
        "515.25"      => "Équations et fonctions",
588
        "515.25"      => "Équations et functions",
589
        "515.3"       => "Calcul différentiel. Équations différentielles",
589
        "515.3"       => "Calcul différentiel. Équations différentielles",
590
        "515.33"      => "Calcul différentiel",
590
        "515.33"      => "Calcul différentiel",
591
        "515.35"      => "Équations différentielles",
591
        "515.35"      => "Équations différentielles",
Lines 594-609 sub dewey_french { Link Here
594
        "515.354"     => "Linéaires",
594
        "515.354"     => "Linéaires",
595
        "515.355"     => "Non linéaires",
595
        "515.355"     => "Non linéaires",
596
        "515.4"       => "Calcul intégral. Équations intégrales",
596
        "515.4"       => "Calcul intégral. Équations intégrales",
597
        "515.42"      => "Théorie de la mesure et de l'intégration. Théorie ergodique",
597
        "515.42"      => "Théorie de la measure et de l'intégration. Théorie ergodique",
598
        "515.43"      => "Calcul intégral. Intégration. Sommabilité",
598
        "515.43"      => "Calcul intégral. Intégration. Sommabilité",
599
        "515.45"      => "Équations intégrales",
599
        "515.45"      => "Équations intégrales",
600
        "515.46"      => "Inégalités intégrales",
600
        "515.46"      => "Inégalités intégrales",
601
        "515.5"       => "Fonctions spéciales",
601
        "515.5"       => "Functions spéciales",
602
        "515.52"      => "Intégrales eulériennes (p. ex. fonctions gamma, fonctions bêta)",
602
        "515.52"      => "Intégrales eulériennes (p. ex. functions gamma, functions bêta)",
603
        "515.53"      => "Fonctions harmoniques",
603
        "515.53"      => "Functions harmoniques",
604
        "515.54"      => "Fonctions de Mathieu",
604
        "515.54"      => "Functions de Mathieu",
605
        "515.55"      => "Polynômes orthogonaux",
605
        "515.55"      => "Polynômes orthogonaux",
606
        "515.56"      => "Fonction zêta",
606
        "515.56"      => "Function zêta",
607
        "515.6"       => "Autres méthodes analytiques",
607
        "515.6"       => "Autres méthodes analytiques",
608
        "515.62"      => "Calcul des différences finies. Problèmes aux limites",
608
        "515.62"      => "Calcul des différences finies. Problèmes aux limites",
609
        "515.623"     => "Différentiation numérique",
609
        "515.623"     => "Différentiation numérique",
Lines 616-634 sub dewey_french { Link Here
616
        "515.723"     => "Transformées (opérateurs intégraux)",
616
        "515.723"     => "Transformées (opérateurs intégraux)",
617
        "515.724"     => "Théorie de l'opérateur",
617
        "515.724"     => "Théorie de l'opérateur",
618
        "515.724 2"   => "Opérateurs différentiels",
618
        "515.724 2"   => "Opérateurs différentiels",
619
        "515.73"      => "Espaces vectoriels topologiques. Espaces linéaires topologiques",
619
        "515.73"      => "Escapes vectoriels topologiques. Escapes linéaires topologiques",
620
        "515.74"      => "Fonctionnelles",
620
        "515.74"      => "Fonctionnelles",
621
        "515.782"     => "Théorie de la distribution. Dualité. Espaces",
621
        "515.782"     => "Théorie de la distribution. Dualité. Escapes",
622
        "515.784"     => "Théorie de la valorisation",
622
        "515.784"     => "Théorie de la valorisation",
623
        "515.785"     => "Analyse harmonique abstraite. Analyse des groupes de Fourier",
623
        "515.785"     => "Analyse harmonique abstraite. Analyse des FIXME CODESPELL (groupes ==> groups, grouped) de Fourier",
624
        "515.8"       => "Fonctions de variables réelles",
624
        "515.8"       => "Functions de variables réelles",
625
        "515.83"      => "Fonctions d'une variable réelle",
625
        "515.83"      => "Functions d'une variable réelle",
626
        "515.84"      => "Fonctions de plusieurs variables réelles",
626
        "515.84"      => "Functions de plusieurs variables réelles",
627
        "515.9"       => "Fonctions de variables complexes",
627
        "515.9"       => "Functions de variables complexes",
628
        "515.93"      => "Surfaces de Riemann",
628
        "515.93"      => "Surfaces de Riemann",
629
        "515.94"      => "Espaces analytiques, à n-dimensions, de Teichmüller",
629
        "515.94"      => "Escapes analytiques, à n-dimensions, de Teichmüller",
630
        "515.983"     => "Fonctions elliptiques",
630
        "515.983"     => "Functions elliptiques",
631
        "515.984"     => "Fonction thêta",
631
        "515.984"     => "Function thêta",
632
        "516"         => "Géométrie",
632
        "516"         => "Géométrie",
633
        "516.1"       => "Généralités. Géométrie métrique. Transformations. Automorphismes",
633
        "516.1"       => "Généralités. Géométrie métrique. Transformations. Automorphismes",
634
        "516.2"       => "Euclidienne",
634
        "516.2"       => "Euclidienne",
Lines 658-665 sub dewey_french { Link Here
658
        "519.52"      => "Théorie de l'échantillonnage",
658
        "519.52"      => "Théorie de l'échantillonnage",
659
        "519.53"      => "Statistique descriptive. Analyse de population",
659
        "519.53"      => "Statistique descriptive. Analyse de population",
660
        "519.532"     => "Distribution par fréquence",
660
        "519.532"     => "Distribution par fréquence",
661
        "519.533"     => "Mesure de tendance centrale. Médiane, moyenne, mode",
661
        "519.533"     => "Measure de tendance centrale. Médiane, moyenne, mode",
662
        "519.534"     => "Mesure de déviation",
662
        "519.534"     => "Measure de déviation",
663
        "519.535"     => "Analyse multivariée. Analyse de la structure latente",
663
        "519.535"     => "Analyse multivariée. Analyse de la structure latente",
664
        "519.535 4"   => "Analyse factorielle",
664
        "519.535 4"   => "Analyse factorielle",
665
        "519.536"     => "Analyse de régression",
665
        "519.536"     => "Analyse de régression",
Lines 702-708 sub dewey_french { Link Here
702
        "523.9"       => "Éclipses, conjonctions, occultations (en général)",
702
        "523.9"       => "Éclipses, conjonctions, occultations (en général)",
703
        "525"         => "La Terre",
703
        "525"         => "La Terre",
704
        "525.1"       => "Constantes et dimensions",
704
        "525.1"       => "Constantes et dimensions",
705
        "525.3"       => "Orbite et mouvements",
705
        "525.3"       => "Orbite et movements",
706
        "526"         => "Géodésie. Topographie. Arpentage. Photogrammétrie. Cartographie",
706
        "526"         => "Géodésie. Topographie. Arpentage. Photogrammétrie. Cartographie",
707
        "526.1"       => "Géodésie. (généralités)",
707
        "526.1"       => "Géodésie. (généralités)",
708
        "526.8"       => "Cartographie",
708
        "526.8"       => "Cartographie",
Lines 711-717 sub dewey_french { Link Here
711
        "528"         => "Éphémérides",
711
        "528"         => "Éphémérides",
712
        "529"         => "Chronologie. Calendriers. Horloge",
712
        "529"         => "Chronologie. Calendriers. Horloge",
713
        "529.3"       => "Calendriers",
713
        "529.3"       => "Calendriers",
714
        "529.7"       => "Mesure du temps",
714
        "529.7"       => "Measure du temps",
715
        "53"          => "Physique",
715
        "53"          => "Physique",
716
        "530.1"       => "Physique théorique. Physique mathématique",
716
        "530.1"       => "Physique théorique. Physique mathématique",
717
        "530.11"      => "Théorie de la relativité",
717
        "530.11"      => "Théorie de la relativité",
Lines 726-732 sub dewey_french { Link Here
726
        "530.43"      => "Physique de l'état gazeux",
726
        "530.43"      => "Physique de l'état gazeux",
727
        "530.44"      => "Physique des plasmas",
727
        "530.44"      => "Physique des plasmas",
728
        "530.47"      => "États de la matière",
728
        "530.47"      => "États de la matière",
729
        "530.8"       => "Mesures",
729
        "530.8"       => "Measures",
730
        "531"         => "Mécanique générale, Mécanique des corps solides et rigides",
730
        "531"         => "Mécanique générale, Mécanique des corps solides et rigides",
731
        "531.1"       => "Dynamique, statique, physique des particules",
731
        "531.1"       => "Dynamique, statique, physique des particules",
732
        "531.11"      => "Dynamique (p. ex. écoulement, rhéologie)",
732
        "531.11"      => "Dynamique (p. ex. écoulement, rhéologie)",
Lines 739-745 sub dewey_french { Link Here
739
        "531.163"     => "Dynamique des particules",
739
        "531.163"     => "Dynamique des particules",
740
        "531.2"       => "Statique des solides. Inertie",
740
        "531.2"       => "Statique des solides. Inertie",
741
        "531.3"       => "Dynamique des solides",
741
        "531.3"       => "Dynamique des solides",
742
        "531.32"      => "Vibrations. Oscillations. Mouvement pendulaire",
742
        "531.32"      => "Vibrations. Oscillations. Movement pendulaire",
743
        "531.33"      => "Ondes",
743
        "531.33"      => "Ondes",
744
        "531.35"      => "Forces centrifuges et centripètes",
744
        "531.35"      => "Forces centrifuges et centripètes",
745
        "531.38"      => "Déformation et contraintes",
745
        "531.38"      => "Déformation et contraintes",
Lines 750-770 sub dewey_french { Link Here
750
        "532.02"      => "Statique, inertie",
750
        "532.02"      => "Statique, inertie",
751
        "532.05"      => "Dynamique",
751
        "532.05"      => "Dynamique",
752
        "532.051"     => "Écoulement. Vitesse, viscosité",
752
        "532.051"     => "Écoulement. Vitesse, viscosité",
753
        "532.059"     => "Ondes. Mouvement tourbillonnaire. Cavitation",
753
        "532.059"     => "Ondes. Movement tourbillonnaire. Cavitation",
754
        "532.2"       => "Hydrostatique",
754
        "532.2"       => "Hydrostatique",
755
        "532.4"       => "Masse, densité, poids spécifique",
755
        "532.4"       => "Masse, densité, poids spécifique",
756
        "532.5"       => "Hydrodynamique",
756
        "532.5"       => "Hydrodynamique",
757
        "532.51"      => "Écoulement",
757
        "532.51"      => "Écoulement",
758
        "532.57"      => "Vitesse",
758
        "532.57"      => "Vitesse",
759
        "532.58"      => "Viscosité et friction. Élasticité et compressibilité",
759
        "532.58"      => "Viscosité et friction. Élasticité et compressibilité",
760
        "532.59"      => "Ondes. Mouvement tourbillonnaire. Cavitation",
760
        "532.59"      => "Ondes. Movement tourbillonnaire. Cavitation",
761
        "533"         => "Mécanique des gaz",
761
        "533"         => "Mécanique des gaz",
762
        "533.1"       => "Statique. Masse, densité, poids spécifique",
762
        "533.1"       => "Statique. Masse, densité, poids spécifique",
763
        "533.2"       => "Dynamique",
763
        "533.2"       => "Dynamique",
764
        "533.21"      => "Écoulement",
764
        "533.21"      => "Écoulement",
765
        "533.27"      => "Vitesse",
765
        "533.27"      => "Vitesse",
766
        "533.28"      => "Viscosité. Friction. Élasticité et compressibilité",
766
        "533.28"      => "Viscosité. Friction. Élasticité et compressibilité",
767
        "533.29"      => "Ondes. Mouvement tourbillonnaire. Cavitation",
767
        "533.29"      => "Ondes. Movement tourbillonnaire. Cavitation",
768
        "533.5"       => "Vide",
768
        "533.5"       => "Vide",
769
        "533.6"       => "Aéromécanique",
769
        "533.6"       => "Aéromécanique",
770
        "533.7"       => "Théorie cinétique des gaz",
770
        "533.7"       => "Théorie cinétique des gaz",
Lines 793-799 sub dewey_french { Link Here
793
        "535.84"      => "Spectroscopie infrarouge, chromatique, ultraviolette,. Raman",
793
        "535.84"      => "Spectroscopie infrarouge, chromatique, ultraviolette,. Raman",
794
        "536"         => "Thermodynamique, Chaleur",
794
        "536"         => "Thermodynamique, Chaleur",
795
        "536.1"       => "Théories",
795
        "536.1"       => "Théories",
796
        "536.2"       => "Transfert de chaleur",
796
        "536.2"       => "FIXME CODESPELL (Transfert ==> Transfer, Transferred) de chaleur",
797
        "536.3"       => "Rayonnement",
797
        "536.3"       => "Rayonnement",
798
        "536.4"       => "Effets de la chaleur sur la matière",
798
        "536.4"       => "Effets de la chaleur sur la matière",
799
        "536.41"      => "Dilatation. Contraction. Coefficients de dilatation. Relations pression-volume-température",
799
        "536.41"      => "Dilatation. Contraction. Coefficients de dilatation. Relations pression-volume-température",
Lines 811-817 sub dewey_french { Link Here
811
        "537.125"     => "Théories des guides d'ondes",
811
        "537.125"     => "Théories des guides d'ondes",
812
        "537.14"      => "Théorie corpusculaire",
812
        "537.14"      => "Théorie corpusculaire",
813
        "537.2"       => "Électrostatique",
813
        "537.2"       => "Électrostatique",
814
        "537.21"      => "Charge et potentiel électriques. Triboélectricité",
814
        "537.21"      => "Charge et potential électriques. Triboélectricité",
815
        "537.24"      => "Diélectricité, électrets",
815
        "537.24"      => "Diélectricité, électrets",
816
        "537.5"       => "Électronique, électronique quantique",
816
        "537.5"       => "Électronique, électronique quantique",
817
        "537.52"      => "Décharges disruptives",
817
        "537.52"      => "Décharges disruptives",
Lines 851-857 sub dewey_french { Link Here
851
        "539.723 2"   => "Noyaux. Deutérons. Particules a",
851
        "539.723 2"   => "Noyaux. Deutérons. Particules a",
852
        "539.723 4"   => "Ions lourds",
852
        "539.723 4"   => "Ions lourds",
853
        "539.725"     => "Caractéristiques des particules",
853
        "539.725"     => "Caractéristiques des particules",
854
        "539.73"      => "Accélération des particules. Bombardement, faisceaux de particules",
854
        "539.73"      => "Accélération des particules. Bombardment, faisceaux de particules",
855
        "539.737"     => "Accélération de particules particulières",
855
        "539.737"     => "Accélération de particules particulières",
856
        "539.74"      => "Structure nucléaire, des isotopes et des nucléides, modèles",
856
        "539.74"      => "Structure nucléaire, des isotopes et des nucléides, modèles",
857
        "539.744"     => "Interprétation spectroscopique",
857
        "539.744"     => "Interprétation spectroscopique",
Lines 865-871 sub dewey_french { Link Here
865
        "539.76"      => "Physique des hautes énergies. Réaction en chaîne",
865
        "539.76"      => "Physique des hautes énergies. Réaction en chaîne",
866
        "539.762"     => "Fission nucléaire",
866
        "539.762"     => "Fission nucléaire",
867
        "539.764"     => "Fusion nucléaire",
867
        "539.764"     => "Fusion nucléaire",
868
        "539.77"      => "Détection et mesure de particules et de la radioactivité",
868
        "539.77"      => "Détection et measure de particules et de la radioactivité",
869
        "54"          => "Chimie, Cristallographie, Mineralogie",
869
        "54"          => "Chimie, Cristallographie, Mineralogie",
870
        "540.11"      => "Théories antiques et médiévales. Alchimie. Théorie du phlogistique",
870
        "540.11"      => "Théories antiques et médiévales. Alchimie. Théorie du phlogistique",
871
        "541"         => "Chimie physique et théorique",
871
        "541"         => "Chimie physique et théorique",
Lines 907-916 sub dewey_french { Link Here
907
        "546.34"    => "Les sels",
907
        "546.34"    => "Les sels",
908
        "546.38"    => "Métaux alcalins",
908
        "546.38"    => "Métaux alcalins",
909
        "546.39"    => "Métaux alcalino-terreux",
909
        "546.39"    => "Métaux alcalino-terreux",
910
        "546.4"     => "Groupe 3B",
910
        "546.4"     => "FIXME CODESPELL (Groupe ==> Grouped, Group) 3B",
911
        "546.5"     => "Groupe 4B",
911
        "546.5"     => "FIXME CODESPELL (Groupe ==> Grouped, Group) 4B",
912
        "546.6"     => "Groupe 8",
912
        "546.6"     => "FIXME CODESPELL (Groupe ==> Grouped, Group) 8",
913
        "546.7"     => "Groupe 5A",
913
        "546.7"     => "FIXME CODESPELL (Groupe ==> Grouped, Group) 5A",
914
        "546.8"     => "Table périodique",
914
        "546.8"     => "Table périodique",
915
        "547"       => "Chimie organique",
915
        "547"       => "Chimie organique",
916
        "547.01"    => "Hydrocarbures",
916
        "547.01"    => "Hydrocarbures",
Lines 934-940 sub dewey_french { Link Here
934
        "547.225"   => "Hydrolyse et saponification",
934
        "547.225"   => "Hydrolyse et saponification",
935
        "547.23"    => "Oxydation et réduction",
935
        "547.23"    => "Oxydation et réduction",
936
        "547.24"    => "Estérification",
936
        "547.24"    => "Estérification",
937
        "547.25"    => "Amination et diazotisation",
937
        "547.25"    => "FIXME CODESPELL (Amination ==> Animation, Lamination) et diazotisation",
938
        "547.26"    => "Nitration et nitrosation",
938
        "547.26"    => "Nitration et nitrosation",
939
        "547.27"    => "Sulfonation",
939
        "547.27"    => "Sulfonation",
940
        "547.28"    => "Polymérisation et condensation",
940
        "547.28"    => "Polymérisation et condensation",
Lines 1008-1014 sub dewey_french { Link Here
1008
        "551.303"   => "Transport et dépôts de matière. Sédimentation",
1008
        "551.303"   => "Transport et dépôts de matière. Sédimentation",
1009
        "551.304"   => "Les sédiments",
1009
        "551.304"   => "Les sédiments",
1010
        "551.305"   => "Formation du sol",
1010
        "551.305"   => "Formation du sol",
1011
        "551.307"   => "Mouvements de masses",
1011
        "551.307"   => "Movements de masses",
1012
        "551.31"    => "Action de la glace, glaciologie",
1012
        "551.31"    => "Action de la glace, glaciologie",
1013
        "551.35"    => "Action des eaux",
1013
        "551.35"    => "Action des eaux",
1014
        "551.36"    => "Action des eaux marines",
1014
        "551.36"    => "Action des eaux marines",
Lines 1103-1109 sub dewey_french { Link Here
1103
        "568"         => "Paléozoologie systématique : oiseaux fossiles",
1103
        "568"         => "Paléozoologie systématique : oiseaux fossiles",
1104
        "569"         => "Mammifères fossiles",
1104
        "569"         => "Mammifères fossiles",
1105
        "569.9"       => "Hominiens",
1105
        "569.9"       => "Hominiens",
1106
        "57"          => "Sciences de la vie, Biologie",
1106
        "57"          => "Sciences de la via, Biologie",
1107
        "570"         => "Généralités. Manuels en plusieurs volumes",
1107
        "570"         => "Généralités. Manuels en plusieurs volumes",
1108
        "571"         => "Physiologie générale",
1108
        "571"         => "Physiologie générale",
1109
        "572"         => "Biochimie",
1109
        "572"         => "Biochimie",
Lines 1152-1161 sub dewey_french { Link Here
1152
        "612.3"       => "Alimentation. Digestion. Nutrition",
1152
        "612.3"       => "Alimentation. Digestion. Nutrition",
1153
        "612.4"       => "Sécrétion. Excrétion",
1153
        "612.4"       => "Sécrétion. Excrétion",
1154
        "612.6"       => "Reproduction. Croissance. Développement",
1154
        "612.6"       => "Reproduction. Croissance. Développement",
1155
        "612.7"       => "Fonctions motrices. Organes locomoteurs. Voix. Peau",
1155
        "612.7"       => "Functions motrices. Organes locomoteurs. Voix. Peau",
1156
        "612.8"       => "Système nerveux. Organes des sens",
1156
        "612.8"       => "Système nerveux. Organes des sens",
1157
        "613"         => "Santé",
1157
        "613"         => "Santé",
1158
        "613.04"      => "Santé des divers groupes de population",
1158
        "613.04"      => "Santé des divers FIXME CODESPELL (groupes ==> groups, grouped) de population",
1159
        "613.1"       => "Facteurs dus à l'environnement",
1159
        "613.1"       => "Facteurs dus à l'environnement",
1160
        "613.2"       => "Diététique",
1160
        "613.2"       => "Diététique",
1161
        "613.8"       => "Alcoolisme, usage de stupéfiants, tabagisme",
1161
        "613.8"       => "Alcoolisme, usage de stupéfiants, tabagisme",
Lines 1190-1196 sub dewey_french { Link Here
1190
        "616.9"       => "Maladies infectieuses",
1190
        "616.9"       => "Maladies infectieuses",
1191
        "62"          => "Génie et activités connexes",
1191
        "62"          => "Génie et activités connexes",
1192
        "620"         => "Généralités",
1192
        "620"         => "Généralités",
1193
        "620.004"     => "Conception, essais, mesures, qualité, maintenance, entretien",
1193
        "620.004"     => "Conception, essais, measures, qualité, maintenance, entretien",
1194
        "620.004 6"   => "Maintenance, entretien",
1194
        "620.004 6"   => "Maintenance, entretien",
1195
        "620.1"       => "Mécanique et matériaux",
1195
        "620.1"       => "Mécanique et matériaux",
1196
        "620.11"      => "Matériaux",
1196
        "620.11"      => "Matériaux",
Lines 1218-1224 sub dewey_french { Link Here
1218
        "621.366"     => "Laser",
1218
        "621.366"     => "Laser",
1219
        "621.367"     => "Photo-optique. Traitement de l'image. Traitement des données optiques",
1219
        "621.367"     => "Photo-optique. Traitement de l'image. Traitement des données optiques",
1220
        "621.369 2"   => "Fibre optique",
1220
        "621.369 2"   => "Fibre optique",
1221
        "621.37"      => "Tests et mesures électriques",
1221
        "621.37"      => "Tests et measures électriques",
1222
        "621.38"      => "Électronique. Technologie des communications",
1222
        "621.38"      => "Électronique. Technologie des communications",
1223
        "621.381 3"   => "Électronique des micro-ondes",
1223
        "621.381 3"   => "Électronique des micro-ondes",
1224
        "621.381 31"  => "Propagation et transmission",
1224
        "621.381 31"  => "Propagation et transmission",
Lines 1308-1314 sub dewey_french { Link Here
1308
        "638.1"   => "Apiculture",
1308
        "638.1"   => "Apiculture",
1309
        "639"     => "Chasse, pêche, aquaculture",
1309
        "639"     => "Chasse, pêche, aquaculture",
1310
        "639.3"   => "Aquaculture",
1310
        "639.3"   => "Aquaculture",
1311
        "64"      => "Économie domestique et vie familiale",
1311
        "64"      => "Économie domestique et via familiale",
1312
        "65"      => "Gestion des entreprises et services connexes",
1312
        "65"      => "Gestion des entreprises et services connexes",
1313
        "66"      => "Génie chimique et techniques connexes, chimie industrielle",
1313
        "66"      => "Génie chimique et techniques connexes, chimie industrielle",
1314
        "660"     => "Généralités",
1314
        "660"     => "Généralités",
Lines 1363-1369 sub dewey_french { Link Here
1363
        "718"     => "Cimetières",
1363
        "718"     => "Cimetières",
1364
        "719"     => "Protection de la nature et des paysages",
1364
        "719"     => "Protection de la nature et des paysages",
1365
        "72"      => "Architecture",
1365
        "72"      => "Architecture",
1366
        "721"     => "Programmation. Dessin. Projet",
1366
        "721"     => "Programmation. Dessin. Project",
1367
        "725"     => "Constructions publiques",
1367
        "725"     => "Constructions publiques",
1368
        "726"     => "Architecture religieuse",
1368
        "726"     => "Architecture religieuse",
1369
        "727"     => "Édifices à but éducatifs, scientifiques et culturels",
1369
        "727"     => "Édifices à but éducatifs, scientifiques et culturels",
Lines 1503-1509 sub dewey_french { Link Here
1503
        "951"     => "de la Chine, de la Corée et de la Mongolie",
1503
        "951"     => "de la Chine, de la Corée et de la Mongolie",
1504
        "952"     => "du Japon et de Taïwan",
1504
        "952"     => "du Japon et de Taïwan",
1505
        "953"     => "des États arabes",
1505
        "953"     => "des États arabes",
1506
        "954"     => "du sous-continent indien",
1506
        "954"     => "du sous-continent FIXME CODESPELL (indien ==> indian, endian)",
1507
        "955"     => "de l'Iran",
1507
        "955"     => "de l'Iran",
1508
        "956"     => "de la Turquie et du Moyen-Orient",
1508
        "956"     => "de la Turquie et du Moyen-Orient",
1509
        "957"     => "de l'ex-URSS asiatique",
1509
        "957"     => "de l'ex-URSS asiatique",
(-)a/misc/cronjobs/cart_to_shelf.pl (-1 / +1 lines)
Lines 44-50 GetOptions( 'h|hours=s' => \$hours, ); Link Here
44
44
45
my $usage = << 'ENDUSAGE';
45
my $usage = << 'ENDUSAGE';
46
cart_to_shelf.pl: This cron script will set any item of the location CART ( Shelving Cart ) to it's original shelving location
46
cart_to_shelf.pl: This cron script will set any item of the location CART ( Shelving Cart ) to it's original shelving location
47
                 after the given numer of hours has passed.
47
                 after the given number of hours has passed.
48
48
49
This script takes the following parameters :
49
This script takes the following parameters :
50
50
(-)a/misc/cronjobs/cloud-kw.pl (-3 / +3 lines)
Lines 311-317 cloud-kw.pl - Creates HTML keywords clouds from Koha Zebra Indexes Link Here
311
311
312
=item cloud-kw.pl [--verbose|--help] --conf=F<cloud.conf> 
312
=item cloud-kw.pl [--verbose|--help] --conf=F<cloud.conf> 
313
313
314
Creates multiple HTML files containing kewords cloud with top terms sorted
314
Creates multiple HTML files containing keywords cloud with top terms sorted
315
by their logarithmic weight.
315
by their logarithmic weight.
316
F<cloud.conf> is a YAML configuration file driving cloud generation
316
F<cloud.conf> is a YAML configuration file driving cloud generation
317
process.
317
process.
Lines 346-352 Configuration file looks like that: Link Here
346
  KohaConf: /home/koha/mylibray/etc/koha-conf.xml
346
  KohaConf: /home/koha/mylibray/etc/koha-conf.xml
347
  # Zebra index to scan
347
  # Zebra index to scan
348
  ZebraIndex: Author
348
  ZebraIndex: Author
349
  # Koha index used to link found kewords with an opac search URL
349
  # Koha index used to link found keywords with an opac search URL
350
  KohaIndex: au
350
  KohaIndex: au
351
  # Number of top keyword to use for the cloud
351
  # Number of top keyword to use for the cloud
352
  Count: 50
352
  Count: 50
Lines 366-372 Configuration file looks like that: Link Here
366
366
367
=head1 IMPROVEMENTS
367
=head1 IMPROVEMENTS
368
368
369
Generated top terms have more informations than those outputted from
369
Generated top terms have more information than those outputted from
370
the time being. Some parameters could be easily added to improve
370
the time being. Some parameters could be easily added to improve
371
this script:
371
this script:
372
372
(-)a/misc/cronjobs/create_koc_db.pl (-1 / +1 lines)
Lines 188-194 pass in the filename that we're considering using for the SQLite db. Link Here
188
188
189
returns true if we can use it.
189
returns true if we can use it.
190
190
191
returns false if we can't. For example, if it alredy exists and we
191
returns false if we can't. For example, if it already exists and we
192
don't have --force or don't have permissions to unlink it.
192
don't have --force or don't have permissions to unlink it.
193
193
194
=cut
194
=cut
(-)a/misc/cronjobs/fines.pl (-2 / +2 lines)
Lines 3-9 Link Here
3
#  This script loops through each overdue item, determines the fine,
3
#  This script loops through each overdue item, determines the fine,
4
#  and updates the total amount of fines due by each user.  It relies on
4
#  and updates the total amount of fines due by each user.  It relies on
5
#  the existence of /tmp/fines, which is created by ???
5
#  the existence of /tmp/fines, which is created by ???
6
# Doesn't really rely on it, it relys on being able to write to /tmp/
6
# Doesn't really rely on it, it relies on being able to write to /tmp/
7
# It creates the fines file
7
# It creates the fines file
8
#
8
#
9
#  This script is meant to be run nightly out of cron.
9
#  This script is meant to be run nightly out of cron.
Lines 71-77 or not calculated ("Don't calculate"). Link Here
71
This script has the following parameters :
71
This script has the following parameters :
72
    -h --help: this message
72
    -h --help: this message
73
    -l --log: log the output to a file (optional if the -o parameter is given)
73
    -l --log: log the output to a file (optional if the -o parameter is given)
74
    -o --out:  ouput directory for logs (defaults to env or /tmp if !exist)
74
    -o --out:  output directory for logs (defaults to env or /tmp if !exist)
75
    -v --verbose
75
    -v --verbose
76
    -m --maxdays: how many days back of overdues to process
76
    -m --maxdays: how many days back of overdues to process
77
    -i --verifyissue: verify the issue before updating the fine in case the
77
    -i --verifyissue: verify the issue before updating the fine in case the
(-)a/misc/cronjobs/holds/holds_reminder.pl (-1 / +1 lines)
Lines 202-208 unless ( defined $days ) { Link Here
202
    $days = 0;
202
    $days = 0;
203
}
203
}
204
204
205
# Unless one ore more branchcodes are passed we use all the branches
205
# Unless one or mor branchcodes are passed we use all the branches
206
if ( scalar @branchcodes > 0 ) {
206
if ( scalar @branchcodes > 0 ) {
207
    my $branchcodes_word = scalar @branchcodes > 1 ? 'branches' : 'branch';
207
    my $branchcodes_word = scalar @branchcodes > 1 ? 'branches' : 'branch';
208
    $verbose and warn "$branchcodes_word @branchcodes passed on parameter\n";
208
    $verbose and warn "$branchcodes_word @branchcodes passed on parameter\n";
(-)a/misc/cronjobs/import_webservice_batch.pl (-1 / +1 lines)
Lines 61-67 Specify frameworkcode when overlaying records. Current framework is preserved i Link Here
61
61
62
=head1 DESCRIPTION
62
=head1 DESCRIPTION
63
63
64
This script is designed to import batches staged by webservices (e.g. connexion).
64
This script is designed to import batches staged by webservices (e.g. connection).
65
65
66
=head1 USAGE EXAMPLES
66
=head1 USAGE EXAMPLES
67
67
(-)a/misc/cronjobs/membership_expiry.pl (-1 / +1 lines)
Lines 142-148 not the borrower has an email address. This can be useful for libraries that Link Here
142
prefer to deal with print notices.
142
prefer to deal with print notices.
143
143
144
Notices can contain variables enclosed in double angle brackets like
144
Notices can contain variables enclosed in double angle brackets like
145
E<lt>E<lt>thisE<gt>E<gt>. Those variables will be replaced with values
145
E<lt>E<lt>FIXME CODESPELL (thisE ==> these, this)<gt>E<gt>. Those variables will be replaced with values
146
specific to the soon expiring members.
146
specific to the soon expiring members.
147
Available variables are:
147
Available variables are:
148
148
(-)a/misc/cronjobs/overdue_notices.pl (-1 / +1 lines)
Lines 227-233 program. They may be redirected to a file if desired. Link Here
227
=head2 Templates
227
=head2 Templates
228
228
229
Templates can contain variables enclosed in double angle brackets like
229
Templates can contain variables enclosed in double angle brackets like
230
E<lt>E<lt>thisE<gt>E<gt>. Those variables will be replaced with values
230
E<lt>E<lt>FIXME CODESPELL (thisE ==> these, this)<gt>E<gt>. Those variables will be replaced with values
231
specific to the overdue items or relevant patron. Available variables
231
specific to the overdue items or relevant patron. Available variables
232
are:
232
are:
233
233
(-)a/misc/cronjobs/update_patrons_category.pl (-2 / +2 lines)
Lines 109-119 Supply a number and only account with fines under this number will be updated. Link Here
109
109
110
=item B<--regbefore=date | -rb=date>
110
=item B<--regbefore=date | -rb=date>
111
111
112
Enter a date in ISO format YYYY-MM-DD and only patrons registered before this date wil be updated.
112
Enter a date in ISO format YYYY-MM-DD and only patrons registered before this date FIXME CODESPELL (wil ==> will, well) be updated.
113
113
114
=item B<--regafter=date | -ra=date>
114
=item B<--regafter=date | -ra=date>
115
115
116
Enter a date in ISO format YYYY-MM-DD and only patrons registered after this date wil be updated.
116
Enter a date in ISO format YYYY-MM-DD and only patrons registered after this date FIXME CODESPELL (wil ==> will, well) be updated.
117
117
118
=item B<--field column=value | -d column=value>
118
=item B<--field column=value | -d column=value>
119
119
(-)a/misc/devel/get_prepared_letter.pl (-3 / +3 lines)
Lines 51-67 The letter language (es-ES, fr-FR, ...) Link Here
51
=item B<--repeat REPEAT>
51
=item B<--repeat REPEAT>
52
52
53
A JSON formatted string that will be used as repeat parameter. See
53
A JSON formatted string that will be used as repeat parameter. See
54
documentation of GetPreparedLetter for more informations.
54
documentation of GetPreparedLetter for more information.
55
55
56
=item B<--tables TABLES>
56
=item B<--tables TABLES>
57
57
58
A JSON formatted string that will be used as tables parameter. See
58
A JSON formatted string that will be used as tables parameter. See
59
documentation of GetPreparedLetter for more informations.
59
documentation of GetPreparedLetter for more information.
60
60
61
=item B<--loops LOOPS>
61
=item B<--loops LOOPS>
62
62
63
A JSON formatted string that will be used as loops parameter. See
63
A JSON formatted string that will be used as loops parameter. See
64
documentation of GetPreparedLetter for more informations.
64
documentation of GetPreparedLetter for more information.
65
65
66
=back
66
=back
67
67
(-)a/misc/export_borrowers.pl (-2 / +2 lines)
Lines 34-40 sub print_usage { Link Here
34
    print <<USAGE;
34
    print <<USAGE;
35
35
36
$basename
36
$basename
37
    Export patron informations in CSV format.
37
    Export patron information in CSV format.
38
    It prints to standard output. Use redirection to save CSV in a file.
38
    It prints to standard output. Use redirection to save CSV in a file.
39
39
40
Usage:
40
Usage:
Lines 97-103 unless ($separator) { Link Here
97
my $csv = Text::CSV->new( { sep_char => $separator, binary => 1, formula => 'empty' } );
97
my $csv = Text::CSV->new( { sep_char => $separator, binary => 1, formula => 'empty' } );
98
98
99
# If the user did not specify any field to export, we assume they want them all
99
# If the user did not specify any field to export, we assume they want them all
100
# We retrieve the first borrower informations to get field names
100
# We retrieve the first borrower information to get field names
101
my ($borrowernumber) = $sth->fetchrow_array or die "No borrower to export";
101
my ($borrowernumber) = $sth->fetchrow_array or die "No borrower to export";
102
my $patron           = Koha::Patrons->find($borrowernumber);               # FIXME Now is_expired is no longer available
102
my $patron           = Koha::Patrons->find($borrowernumber);               # FIXME Now is_expired is no longer available
103
    # We will have to use Koha::Patron and allow method calls
103
    # We will have to use Koha::Patron and allow method calls
(-)a/misc/maintenance/UNIMARC_sync_date_created_with_marc_biblio.pl (-4 / +4 lines)
Lines 48-54 $verbose and print "================================\n"; Link Here
48
$date_created_marc = '099c' unless $date_created_marc;
48
$date_created_marc = '099c' unless $date_created_marc;
49
my ( $c_field, $c_subfield ) = _read_marc_code($date_created_marc);
49
my ( $c_field, $c_subfield ) = _read_marc_code($date_created_marc);
50
die "date-created-marc '$date_created_marc' is not correct." unless $c_field;
50
die "date-created-marc '$date_created_marc' is not correct." unless $c_field;
51
die "date-created-marc field is greated that 009, it should have a subfield."
51
die "date-created-marc field is FIXME CODESPELL (greated ==> greater, grated, graded) that 009, it should have a subfield."
52
    if ( $c_field > 9 && !defined $c_subfield );
52
    if ( $c_field > 9 && !defined $c_subfield );
53
die "date-created-marc field is lower that 010, it should not have a subfield."
53
die "date-created-marc field is lower that 010, it should not have a subfield."
54
    if ( $c_field < 10 && defined $c_subfield );
54
    if ( $c_field < 10 && defined $c_subfield );
Lines 62-68 if ($verbose) { Link Here
62
$date_modified_marc = '099d' unless $date_modified_marc;
62
$date_modified_marc = '099d' unless $date_modified_marc;
63
my ( $m_field, $m_subfield ) = _read_marc_code($date_modified_marc);
63
my ( $m_field, $m_subfield ) = _read_marc_code($date_modified_marc);
64
die "date-modified-marc '$date_modified_marc' is not correct." unless $m_field;
64
die "date-modified-marc '$date_modified_marc' is not correct." unless $m_field;
65
die "date-modified-marc field is greated that 009, it should have a subfield."
65
die "date-modified-marc field is FIXME CODESPELL (greated ==> greater, grated, graded) that 009, it should have a subfield."
66
    if ( $m_field > 9 && !defined $m_subfield );
66
    if ( $m_field > 9 && !defined $m_subfield );
67
die "date-modified-marc field is lower that 010, it should not have a subfield."
67
die "date-modified-marc field is lower that 010, it should not have a subfield."
68
    if ( $m_field < 10 && defined $m_subfield );
68
    if ( $m_field < 10 && defined $m_subfield );
Lines 175-181 sub updateMarc { Link Here
175
        }
175
        }
176
    }
176
    }
177
177
178
    # apply to databse
178
    # apply to database
179
    if ( &ModBiblio( $biblio, $id, $frameworkcode ) ) {
179
    if ( &ModBiblio( $biblio, $id, $frameworkcode ) ) {
180
        return 1;
180
        return 1;
181
    }
181
    }
Lines 216-222 sub process { Link Here
216
if ( lc( C4::Context->preference('marcflavour') ) eq "unimarc" ) {
216
if ( lc( C4::Context->preference('marcflavour') ) eq "unimarc" ) {
217
    $verbose
217
    $verbose
218
        and !$run
218
        and !$run
219
        and print "*** Not in run mode, modifications will not be applyed ***\n";
219
        and print "*** Not in run mode, modifications will not be applied ***\n";
220
220
221
    $verbose and print "================================\n";
221
    $verbose and print "================================\n";
222
    process();
222
    process();
(-)a/misc/maintenance/cmp_sysprefs.pl (-1 / +1 lines)
Lines 67-73 if ( $cmd =~ /^b/i && $filename ) { Link Here
67
#test pref file: read and save for gaining confidence :) run a diff
67
#test pref file: read and save for gaining confidence :) run a diff
68
if ( $cmd =~ /^t/i && $filename ) {
68
if ( $cmd =~ /^t/i && $filename ) {
69
    my $fileprefs = ReadPrefsFromFile($filename);
69
    my $fileprefs = ReadPrefsFromFile($filename);
70
    open my $fh, '>:encoding(UTF-8)', $filename . ".sav";
70
    open my $fh, '>:encoding(UTF-8)', $filename . ".save";
71
    SavePrefsToFile( $fileprefs, $fh );
71
    SavePrefsToFile( $fileprefs, $fh );
72
    close $fh;
72
    close $fh;
73
}
73
}
(-)a/misc/migration_tools/22_to_30/move_marc_to_authheader.pl (-1 / +1 lines)
Lines 51-57 while ( my ( $authid, $authtypecode ) = $sth->fetchrow ) { Link Here
51
        $record->insert_fields_ordered( MARC::Field->new( '001', $authid ) );
51
        $record->insert_fields_ordered( MARC::Field->new( '001', $authid ) );
52
    }
52
    }
53
53
54
    #Force UTF-8 in record leaded
54
    #Force UTF-8 in record FIXME CODESPELL (leaded ==> led, lead)
55
    $record->encoding('UTF-8');
55
    $record->encoding('UTF-8');
56
56
57
    #     warn "REC : ".$record->as_formatted;
57
    #     warn "REC : ".$record->as_formatted;
(-)a/misc/migration_tools/buildCOUNTRY.pl (-1 / +1 lines)
Lines 27-33 GetOptions( Link Here
27
if ( $version or !$fields ) {
27
if ( $version or !$fields ) {
28
    print <<EOF
28
    print <<EOF
29
Small script to recreate the COUNTRY list in authorised values from existing countries in the catalogue.
29
Small script to recreate the COUNTRY list in authorised values from existing countries in the catalogue.
30
This script is useful when you migrate your datas with bulkmarcimport.pl as it populates parameters tables that are not modified by bulkmarcimport.
30
This script is useful when you migrate your data with bulkmarcimport.pl as it populates parameters tables that are not modified by bulkmarcimport.
31
31
32
parameters :
32
parameters :
33
\th : this version/help screen
33
\th : this version/help screen
(-)a/misc/migration_tools/buildLANG.pl (-1 / +1 lines)
Lines 27-33 GetOptions( Link Here
27
if ( $version or !$fields ) {
27
if ( $version or !$fields ) {
28
    print <<EOF
28
    print <<EOF
29
Small script to recreate the LANG list in authorised values from existing langs in the catalogue.
29
Small script to recreate the LANG list in authorised values from existing langs in the catalogue.
30
This script is useful when you migrate your datas with bulkmarcimport.pl as it populates parameters tables that are not modified by bulkmarcimport.
30
This script is useful when you migrate your data with bulkmarcimport.pl as it populates parameters tables that are not modified by bulkmarcimport.
31
31
32
parameters :
32
parameters :
33
\th : this version/help screen
33
\th : this version/help screen
(-)a/misc/migration_tools/build_oai_sets.pl (-5 / +5 lines)
Lines 20-27 Link Here
20
=head1 DESCRIPTION
20
=head1 DESCRIPTION
21
21
22
This script build OAI-PMH sets (to be used by opac/oai.pl) according to sets
22
This script build OAI-PMH sets (to be used by opac/oai.pl) according to sets
23
and mappings defined in Koha. It reads informations from oai_sets and
23
and mappings defined in Koha. It reads information from oai_sets and
24
oai_sets_mappings, and then fill table oai_sets_biblios with builded infos.
24
oai_sets_mappings, and then fill table oai_sets_biblios with built infos.
25
25
26
=head1 USAGE
26
=head1 USAGE
27
27
Lines 29-35 oai_sets_mappings, and then fill table oai_sets_biblios with builded infos. Link Here
29
        -h          Print help message;
29
        -h          Print help message;
30
        -v          Be verbose
30
        -v          Be verbose
31
        -r          Truncate table oai_sets_biblios before inserting new rows
31
        -r          Truncate table oai_sets_biblios before inserting new rows
32
        -i          Embed items informations, mandatory if you defined mappings
32
        -i          Embed items information, mandatory if you defined mappings
33
                    on item fields
33
                    on item fields
34
        -l LENGTH   Process LENGTH biblios
34
        -l LENGTH   Process LENGTH biblios
35
        -o OFFSET   If LENGTH is defined, start processing from OFFSET
35
        -o OFFSET   If LENGTH is defined, start processing from OFFSET
Lines 180-187 sub print_usage { Link Here
180
    print "build_oai_sets.pl: Build OAI-PMH sets, according to mappings defined in Koha\n";
180
    print "build_oai_sets.pl: Build OAI-PMH sets, according to mappings defined in Koha\n";
181
    print "Usage: build_oai_sets.pl [-h] [-v] [-i] [-l LENGTH [-o OFFSET]]\n\n";
181
    print "Usage: build_oai_sets.pl [-h] [-v] [-i] [-l LENGTH [-o OFFSET]]\n\n";
182
    print "\t-h\t\tPrint this help and exit\n";
182
    print "\t-h\t\tPrint this help and exit\n";
183
    print "\t-v\t\tBe verbose\n";
183
    print "\t-v\t\the verbose\n";
184
    print "\t-i\t\tEmbed items informations, mandatory if you defined mappings on item fields\n";
184
    print "\t-i\t\tEmbed items information, mandatory if you defined mappings on item fields\n";
185
    print "\t-l LENGTH\tProcess LENGTH biblios\n";
185
    print "\t-l LENGTH\tProcess LENGTH biblios\n";
186
    print "\t-o OFFSET\tIf LENGTH is defined, start processing from OFFSET\n\n";
186
    print "\t-o OFFSET\tIf LENGTH is defined, start processing from OFFSET\n\n";
187
}
187
}
(-)a/misc/migration_tools/checkNonIndexedBiblios.pl (-1 / +1 lines)
Lines 19-25 Link Here
19
19
20
# Small script that checks if each biblio in the DB is properly indexed
20
# Small script that checks if each biblio in the DB is properly indexed
21
# if it is not and if you use -z the not-indexed biblios are inserted in zebraqueue
21
# if it is not and if you use -z the not-indexed biblios are inserted in zebraqueue
22
# To test just ommit the -z option you will have the biblionumber of non-indexed biblios and the total
22
# To test just omit the -z option you will have the biblionumber of non-indexed biblios and the total
23
23
24
use strict;
24
use strict;
25
25
(-)a/misc/migration_tools/rebuild_zebra.pl (-1 / +1 lines)
Lines 1030-1036 Parameters: Link Here
1030
    --where                 let you specify a WHERE query, like itemtype='BOOK'
1030
    --where                 let you specify a WHERE query, like itemtype='BOOK'
1031
                            or something like that
1031
                            or something like that
1032
1032
1033
    --run-as-root           explicitily allow script to run as 'root' user
1033
    --run-as-root           explicitly allow script to run as 'root' user
1034
1034
1035
    --wait-for-lock         when not running in daemon mode, the default
1035
    --wait-for-lock         when not running in daemon mode, the default
1036
                            behavior is to abort a rebuild if the rebuild
1036
                            behavior is to abort a rebuild if the rebuild
(-)a/misc/sip_cli_emulator.pl (-1 / +1 lines)
Lines 322-328 if ( $data =~ '^941' ) { ## we are logged in Link Here
322
sub build_command_message {
322
sub build_command_message {
323
    my ($message) = @_;
323
    my ($message) = @_;
324
324
325
    ##FIXME It would be much better to use exception handling so we aren't priting from subs
325
    ##FIXME It would be much better to use exception handling so we aren't printing from subs
326
    unless ( $handlers->{$message} ) {
326
    unless ( $handlers->{$message} ) {
327
        say "$message is an unsupported command!";
327
        say "$message is an unsupported command!";
328
        return;
328
        return;
(-)a/misc/stage_file.pl (-1 / +1 lines)
Lines 238-244 Parameters: Link Here
238
    --add-items             use this option to specify that
238
    --add-items             use this option to specify that
239
                            item data is embedded in the MARC
239
                            item data is embedded in the MARC
240
                            bibs and should be parsed.
240
                            bibs and should be parsed.
241
    --item-action           action to take if --add-items is specifed;
241
    --item-action           action to take if --add-items is specified;
242
                            choices are 'always_add',
242
                            choices are 'always_add',
243
                            'add_only_for_matches', 'add_only_for_new',
243
                            'add_only_for_matches', 'add_only_for_new',
244
                            'ignore', or 'replace'
244
                            'ignore', or 'replace'
(-)a/misc/translator/LangInstaller.pm (-2 / +2 lines)
Lines 538-544 sub get_all_langs { Link Here
538
538
539
LangInstaller.pm - Handle templates and preferences translation
539
LangInstaller.pm - Handle templates and preferences translation
540
540
541
=head1 SYNOPSYS
541
=head1 SYNOPSIS
542
542
543
  my $installer = LangInstaller->new( 'fr-FR' );
543
  my $installer = LangInstaller->new( 'fr-FR' );
544
  $installer->create();
544
  $installer->create();
Lines 566-572 For the current language, update .po files. Link Here
566
566
567
=head2 install
567
=head2 install
568
568
569
For the current langage C<$self->{lang}, use .po files to translate the english
569
For the current language C<$self->{lang}, use .po files to translate the english
570
version of templates and preferences files and copy those files in the
570
version of templates and preferences files and copy those files in the
571
appropriate directory.
571
appropriate directory.
572
572
(-)a/misc/translator/TmplTokenizer.pm (-1 / +1 lines)
Lines 311-317 sub _parametrize_internal { Link Here
311
    # }
311
    # }
312
    my $s = join( "", map { _formalize $_ } @parts );
312
    my $s = join( "", map { _formalize $_ } @parts );
313
313
314
    # should both the string and form be $s? maybe only the later? posibly the former....
314
    # should both the string and form be $s? maybe only the later? possibly the former....
315
    # used line number from first token, should suffice
315
    # used line number from first token, should suffice
316
    my $t = C4::TmplToken->new( $s, C4::TmplTokenType::TEXT_PARAMETRIZED, $parts[0]->line_number, $this->filename );
316
    my $t = C4::TmplToken->new( $s, C4::TmplTokenType::TEXT_PARAMETRIZED, $parts[0]->line_number, $this->filename );
317
    $t->set_children(@parts);
317
    $t->set_children(@parts);
(-)a/misc/translator/tmpl_process3.pl (-1 / +1 lines)
Lines 335-341 if ( defined $href ) { Link Here
335
            || $msg->{msgstr} eq '""'
335
            || $msg->{msgstr} eq '""'
336
            || $msg->{obsolete}
336
            || $msg->{obsolete}
337
            || grep { /fuzzy/ } @{ $msg->{_flags} };
337
            || grep { /fuzzy/ } @{ $msg->{_flags} };
338
        warn_normal( "unconsistent %s count: ($id_count/$str_count):\n"
338
        warn_normal( "inconsistent %s count: ($id_count/$str_count):\n"
339
                . "  line:   "
339
                . "  line:   "
340
                . $msg->{loaded_line_number} . "\n"
340
                . $msg->{loaded_line_number} . "\n"
341
                . "  msgid:  "
341
                . "  msgid:  "
(-)a/opac/ilsdi.pl (-1 / +1 lines)
Lines 38-44 outputs the returned hashref as XML. Link Here
38
38
39
=cut
39
=cut
40
40
41
# Instanciate the CGI request
41
# Instantiate the CGI request
42
my $cgi = CGI->new;
42
my $cgi = CGI->new;
43
43
44
# List of available services, sorted by level
44
# List of available services, sorted by level
(-)a/opac/opac-MARCdetail.pl (-2 / +2 lines)
Lines 295-303 for ( my $tabloop = 0 ; $tabloop <= 9 ; $tabloop++ ) { Link Here
295
}
295
}
296
296
297
# now, build item tab !
297
# now, build item tab !
298
# the main difference is that datas are in lines and not in columns : thus, we build the <th> first, then the values...
298
# the main difference is that data are in lines and not in columns : thus, we build the <th> first, then the values...
299
# loop through each tag
299
# loop through each tag
300
# warning : we may have differents number of columns in each row. Thus, we first build a hash, complete it if necessary
300
# warning : we may have FIXME CODESPELL (differents ==> different, difference) number of columns in each row. Thus, we first build a hash, complete it if necessary
301
# then construct template.
301
# then construct template.
302
# $record has already had all the item fields filtered above.
302
# $record has already had all the item fields filtered above.
303
my @fields = $record->fields();
303
my @fields = $record->fields();
(-)a/opac/opac-password-recovery.pl (-1 / +1 lines)
Lines 79-85 if ( $op eq 'cud-sendEmail' || $op eq 'cud-resendEmail' ) { Link Here
79
    } elsif ( $username && $search_results->count > 1 ) {    # Multiple accounts for username
79
    } elsif ( $username && $search_results->count > 1 ) {    # Multiple accounts for username
80
        $hasError           = 1;
80
        $hasError           = 1;
81
        $errNoBorrowerFound = 1;
81
        $errNoBorrowerFound = 1;
82
    } elsif ( $email && $search_results->count > 1 ) {       # Muliple accounts for E-Mail
82
    } elsif ( $email && $search_results->count > 1 ) {       # Multiple accounts for E-Mail
83
        $hasError                    = 1;
83
        $hasError                    = 1;
84
        $errMultipleAccountsForEmail = 1;
84
        $errMultipleAccountsForEmail = 1;
85
    } elsif ( $borrower = $search_results->next() ) {        # One matching borrower
85
    } elsif ( $borrower = $search_results->next() ) {        # One matching borrower
(-)a/opac/opac-search.pl (-1 / +1 lines)
Lines 480-486 if ( $params->{'limit-yr'} ) { Link Here
480
        push @limits, "yr,st-numeric=$params->{'limit-yr'}";
480
        push @limits, "yr,st-numeric=$params->{'limit-yr'}";
481
    } else {
481
    } else {
482
482
483
        #FIXME: Should return a error to the user, incorect date format specified
483
        #FIXME: Should return a error to the user, incorrect date format specified
484
    }
484
    }
485
}
485
}
486
486
(-)a/opac/opac-suggestions.pl (-1 / +1 lines)
Lines 186-192 if ( $op eq "cud-add_confirm" ) { Link Here
186
        push @messages, { type => 'error', code => 'too_many' };
186
        push @messages, { type => 'error', code => 'too_many' };
187
    } elsif ( $suggestions->count >= 1 ) {
187
    } elsif ( $suggestions->count >= 1 ) {
188
188
189
        #some suggestion are answering the request Donot Add
189
        #some suggestion are answering the request FIXME CODESPELL (Donot ==> Do not, Donut) Add
190
        while ( my $suggestion = $suggestions->next ) {
190
        while ( my $suggestion = $suggestions->next ) {
191
            push @messages,
191
            push @messages,
192
                {
192
                {
(-)a/opac/opac-tags.pl (-1 / +1 lines)
Lines 342-348 if ($add_op) { Link Here
342
342
343
    # Bug 36785: Do not pass biblionumber: get_approval_rows does not 'recognize' biblionumber
343
    # Bug 36785: Do not pass biblionumber: get_approval_rows does not 'recognize' biblionumber
344
    $results = get_approval_rows($arghash);
344
    $results = get_approval_rows($arghash);
345
    stratify_tags( 10, $results );    # work out the differents sizes for things
345
    stratify_tags( 10, $results );    # work out the FIXME CODESPELL (differents ==> different, difference) sizes for things
346
    my $count = scalar @$results;
346
    my $count = scalar @$results;
347
    $template->param( TAGLOOP_COUNT => $count, mine => $mine );
347
    $template->param( TAGLOOP_COUNT => $count, mine => $mine );
348
}
348
}
(-)a/opac/svc/auth/googleopenidconnect (-1 / +1 lines)
Lines 241-247 if ( defined $query->param('error') ) { Link Here
241
        } else {
241
        } else {
242
            loginfailed(
242
            loginfailed(
243
                $query,
243
                $query,
244
                'Unexpectedly, no email seems to be associated with that acccount.'
244
                'Unexpectedly, no email seems to be associated with that account.'
245
            );
245
            );
246
        }
246
        }
247
    } else {
247
    } else {
(-)a/reports/acquisitions_stats.pl (-3 / +3 lines)
Lines 380-386 sub calculate { Link Here
380
    }
380
    }
381
381
382
    my $i         = 0;
382
    my $i         = 0;
383
    my $hilighted = -1;
383
    my $highlighted = -1;
384
384
385
    #Initialization of cell values.....
385
    #Initialization of cell values.....
386
    my %table;
386
    my %table;
Lines 480-491 sub calculate { Link Here
480
        my $r = {
480
        my $r = {
481
            rowtitle  => ( $row eq "zzEMPTY" ) ? "NULL" : $row,
481
            rowtitle  => ( $row eq "zzEMPTY" ) ? "NULL" : $row,
482
            loopcell  => \@loopcell,
482
            loopcell  => \@loopcell,
483
            hilighted => ( $hilighted > 0 ),
483
            highlighted => ( $highlighted > 0 ),
484
            totalrow  => $table{$row}->{totalrow}
484
            totalrow  => $table{$row}->{totalrow}
485
        };
485
        };
486
        $r->{totalrow} = sprintf( "%.2f", $r->{totalrow} ) if ( $r->{totalrow} and grep /$process/, ( 3, 4, 5 ) );
486
        $r->{totalrow} = sprintf( "%.2f", $r->{totalrow} ) if ( $r->{totalrow} and grep /$process/, ( 3, 4, 5 ) );
487
        push @looprow, $r;
487
        push @looprow, $r;
488
        $hilighted = -$hilighted;
488
        $highlighted = -$highlighted;
489
    }
489
    }
490
490
491
    foreach my $col (@loopcol) {
491
    foreach my $col (@loopcol) {
(-)a/reports/cat_issues_top.pl (-3 / +3 lines)
Lines 288-294 sub calculate { Link Here
288
    my $i = 0;
288
    my $i = 0;
289
289
290
    #	my @totalcol;
290
    #	my @totalcol;
291
    my $hilighted = -1;
291
    my $highlighted = -1;
292
292
293
    #Initialization of cell values.....
293
    #Initialization of cell values.....
294
    my @table;
294
    my @table;
Lines 408-416 sub calculate { Link Here
408
        push @looprow, {
408
        push @looprow, {
409
            'rowtitle'  => $i,
409
            'rowtitle'  => $i,
410
            'loopcell'  => \@loopcell,
410
            'loopcell'  => \@loopcell,
411
            'hilighted' => ( $hilighted > 0 ),
411
            'highlighted' => ( $highlighted > 0 ),
412
        };
412
        };
413
        $hilighted = -$hilighted;
413
        $highlighted = -$highlighted;
414
    }
414
    }
415
    #
415
    #
416
416
(-)a/reports/catalogue_stats.pl (-2 / +2 lines)
Lines 402-408 sub calculate { Link Here
402
    }
402
    }
403
403
404
    my $i         = 0;
404
    my $i         = 0;
405
    my $hilighted = -1;
405
    my $highlighted = -1;
406
406
407
    #Initialization of cell values.....
407
    #Initialization of cell values.....
408
    my %table;
408
    my %table;
Lines 543-549 sub calculate { Link Here
543
            'rowtitle'  => $row->{rowtitle},
543
            'rowtitle'  => $row->{rowtitle},
544
            'value'     => $row->{value},
544
            'value'     => $row->{value},
545
            'loopcell'  => \@loopcell,
545
            'loopcell'  => \@loopcell,
546
            'hilighted' => ( $hilighted *= -1 > 0 ),
546
            'highlighted' => ( $highlighted *= -1 > 0 ),
547
            'totalrow'  => $table{ $row->{value} }->{totalrow}
547
            'totalrow'  => $table{ $row->{value} }->{totalrow}
548
            };
548
            };
549
    }
549
    }
(-)a/reports/guided_reports.pl (-2 / +2 lines)
Lines 395-401 if ( !$op ) { Link Here
395
    my @columns = split( ',', $column );
395
    my @columns = split( ',', $column );
396
    my @total_by;
396
    my @total_by;
397
397
398
    # build structue for use by tmpl_loop to choose columns to order by
398
    # build structure for use by tmpl_loop to choose columns to order by
399
    # need to do something about the order of the order :)
399
    # need to do something about the order of the order :)
400
    # we also want to use the %columns hash to get the plain english names
400
    # we also want to use the %columns hash to get the plain english names
401
    foreach my $col (@columns) {
401
    foreach my $col (@columns) {
Lines 436-442 if ( !$op ) { Link Here
436
    my @columns = split( ',', $column );
436
    my @columns = split( ',', $column );
437
    my @order_by;
437
    my @order_by;
438
438
439
    # build structue for use by tmpl_loop to choose columns to order by
439
    # build structure for use by tmpl_loop to choose columns to order by
440
    # need to do something about the order of the order :)
440
    # need to do something about the order of the order :)
441
    foreach my $col (@columns) {
441
    foreach my $col (@columns) {
442
        my %order   = ( name => $col );
442
        my %order   = ( name => $col );
(-)a/reports/issues_avg_stats.pl (-3 / +3 lines)
Lines 387-393 sub calculate { Link Here
387
    #	warn "fin des titres colonnes";
387
    #	warn "fin des titres colonnes";
388
388
389
    my $i         = 0;
389
    my $i         = 0;
390
    my $hilighted = -1;
390
    my $highlighted = -1;
391
391
392
    #Initialization of cell values.....
392
    #Initialization of cell values.....
393
    my %table;
393
    my %table;
Lines 517-526 sub calculate { Link Here
517
            {
517
            {
518
            'rowtitle'  => ( $row eq "zzEMPTY" ) ? "NULL" : $row,
518
            'rowtitle'  => ( $row eq "zzEMPTY" ) ? "NULL" : $row,
519
            'loopcell'  => \@loopcell,
519
            'loopcell'  => \@loopcell,
520
            'hilighted' => ( $hilighted > 0 ),
520
            'highlighted' => ( $highlighted > 0 ),
521
            'totalrow'  => ($total) ? sprintf( "%.2f", $total ) : 0
521
            'totalrow'  => ($total) ? sprintf( "%.2f", $total ) : 0
522
            };
522
            };
523
        $hilighted = -$hilighted;
523
        $highlighted = -$highlighted;
524
    }
524
    }
525
    #
525
    #
526
    # #	warn "footer processing";
526
    # #	warn "footer processing";
(-)a/reports/orders_by_fund.pl (-1 / +1 lines)
Lines 89-95 if ($get_orders) { Link Here
89
        }
89
        }
90
    }
90
    }
91
91
92
    # Format the order's informations
92
    # Format the order's information
93
    foreach my $order (@orders) {
93
    foreach my $order (@orders) {
94
94
95
        # Get the title of the ordered item
95
        # Get the title of the ordered item
(-)a/reports/serials_stats.pl (-4 / +4 lines)
Lines 85-96 if ($do_it) { Link Here
85
    $sth->execute(@args);
85
    $sth->execute(@args);
86
86
87
    ## hash generation of items by branchcode
87
    ## hash generation of items by branchcode
88
    my @datas;
88
    my @data;
89
89
90
    while ( my $row = $sth->fetchrow_hashref ) {
90
    while ( my $row = $sth->fetchrow_hashref ) {
91
        $row->{'enddate'} = GetExpirationDate( $row->{'subscriptionid'} );
91
        $row->{'enddate'} = GetExpirationDate( $row->{'subscriptionid'} );
92
        $row->{expired}   = HasSubscriptionExpired( $row->{subscriptionid} );
92
        $row->{expired}   = HasSubscriptionExpired( $row->{subscriptionid} );
93
        push @datas,
93
        push @data,
94
            $row if (
94
            $row if (
95
            $expired
95
            $expired
96
            or (
96
            or (
Lines 103-109 if ($do_it) { Link Here
103
103
104
    if ( $output eq 'screen' ) {
104
    if ( $output eq 'screen' ) {
105
        $template->param(
105
        $template->param(
106
            datas => \@datas,
106
            data => \@data,
107
            do_it => 1
107
            do_it => 1
108
        );
108
        );
109
    } else {
109
    } else {
Lines 122-128 if ($do_it) { Link Here
122
        print "Subscription Begin" . $sep;
122
        print "Subscription Begin" . $sep;
123
        print "Subscription End\n";
123
        print "Subscription End\n";
124
124
125
        foreach my $item (@datas) {
125
        foreach my $item (@data) {
126
            print $item->{name} . $sep;
126
            print $item->{name} . $sep;
127
            print $item->{title} . $sep;
127
            print $item->{title} . $sep;
128
            print $item->{subscriptionid} . $sep;
128
            print $item->{subscriptionid} . $sep;
(-)a/reserve/request.pl (-3 / +3 lines)
Lines 212-218 if ( $borrowernumber_hold && !$op ) { Link Here
212
        );
212
        );
213
    }
213
    }
214
214
215
    # check if the borrower make the reserv in a different branch
215
    # check if the borrower make the reserve in a different branch
216
    if ( $patron->branchcode ne C4::Context->userenv->{'branch'} ) {
216
    if ( $patron->branchcode ne C4::Context->userenv->{'branch'} ) {
217
        $diffbranch = 1;
217
        $diffbranch = 1;
218
    }
218
    }
Lines 468-474 if ( ( $findborrower && $borrowernumber_hold || $findclub && $club_hold ) Link Here
468
                $item->{notforloan} ||= 0;
468
                $item->{notforloan} ||= 0;
469
469
470
                # if independent branches is on we need to check if the person can reserve
470
                # if independent branches is on we need to check if the person can reserve
471
                # for branches they arent logged in to
471
                # for branches they aren't logged in to
472
                if ( C4::Context->preference("IndependentBranches") ) {
472
                if ( C4::Context->preference("IndependentBranches") ) {
473
                    if ( !C4::Context->preference("canreservefromotherbranches") ) {
473
                    if ( !C4::Context->preference("canreservefromotherbranches") ) {
474
474
Lines 584-590 if ( ( $findborrower && $borrowernumber_hold || $findclub && $club_hold ) Link Here
584
584
585
            $biblioloopiter{biblioitem} = $biblio->biblioitem;
585
            $biblioloopiter{biblioitem} = $biblio->biblioitem;
586
586
587
            # While we can't override an alreay held item, we should be able to override the others
587
            # While we can't override an already held item, we should be able to override the others
588
            # Unless all items are already held
588
            # Unless all items are already held
589
            if ( $num_override > 0 && ( $num_override + $num_alreadyheld ) == scalar( @{ $biblioloopiter{itemloop} } ) )
589
            if ( $num_override > 0 && ( $num_override + $num_alreadyheld ) == scalar( @{ $biblioloopiter{itemloop} } ) )
590
            {
590
            {
(-)a/suggestion/suggestion.pl (-4 / +4 lines)
Lines 257-270 if ( $op =~ /cud-save/ ) { Link Here
257
            my $suggestions = Koha::Suggestions->search_limited($suggestion_only);
257
            my $suggestions = Koha::Suggestions->search_limited($suggestion_only);
258
            if ( $suggestions->count ) {
258
            if ( $suggestions->count ) {
259
259
260
                #some suggestion are answering the request Donot Add
260
                #some suggestion are answering the request FIXME CODESPELL (Donot ==> Do not, Donut) Add
261
                my @messages;
261
                my @messages;
262
                while ( my $suggestion = $suggestions->next ) {
262
                while ( my $suggestion = $suggestions->next ) {
263
                    push @messages, { type => 'error', code => 'already_exists', id => $suggestion->suggestionid };
263
                    push @messages, { type => 'error', code => 'already_exists', id => $suggestion->suggestionid };
264
                }
264
                }
265
                $template->param( messages => \@messages );
265
                $template->param( messages => \@messages );
266
            } else {
266
            } else {
267
                ## Adding some informations related to suggestion
267
                ## Adding some information related to suggestion
268
                if ( $librarian->has_permission( { 'suggestions' => 'suggestions_create' } ) ) {
268
                if ( $librarian->has_permission( { 'suggestions' => 'suggestions_create' } ) ) {
269
                    Koha::Suggestion->new($suggestion_only)->store();
269
                    Koha::Suggestion->new($suggestion_only)->store();
270
                } else {
270
                } else {
Lines 305-311 if ( $op =~ /cud-save/ ) { Link Here
305
} elsif ( $op eq "cud-update_status" ) {
305
} elsif ( $op eq "cud-update_status" ) {
306
    my $suggestion;
306
    my $suggestion;
307
307
308
    # set accepted/rejected/managed informations if applicable
308
    # set accepted/rejected/managed information if applicable
309
    # ie= if the librarian has chosen some action on the suggestions
309
    # ie= if the librarian has chosen some action on the suggestions
310
    my $STATUS      = $input->param('STATUS');
310
    my $STATUS      = $input->param('STATUS');
311
    my $accepted_by = $input->param('acceptedby');
311
    my $accepted_by = $input->param('acceptedby');
Lines 506-512 $template->param( Link Here
506
    "op"            => $op,
506
    "op"            => $op,
507
);
507
);
508
508
509
if ( defined($returnsuggested) and $returnsuggested ne "noone" ) {
509
if ( defined($returnsuggested) and $returnsuggested ne "no one" ) {
510
    print $input->redirect( "/cgi-bin/koha/members/moremember.pl?borrowernumber=" . $returnsuggested . "#suggestions" );
510
    print $input->redirect( "/cgi-bin/koha/members/moremember.pl?borrowernumber=" . $returnsuggested . "#suggestions" );
511
}
511
}
512
512
(-)a/svc/barcode (-1 / +1 lines)
Lines 56-62 EAN8 Link Here
56
EAN13
56
EAN13
57
COOP2of5
57
COOP2of5
58
58
59
If ommited,it defaults to Code39.
59
If omitted,it defaults to Code39.
60
60
61
=item I<notext>
61
=item I<notext>
62
62
(-)a/svc/holds (-1 / +1 lines)
Lines 124-130 while ( my $h = $holds_rs->next() ) { Link Here
124
        : q{},
124
        : q{},
125
    };
125
    };
126
126
127
    $hold->{transfered}     = 0;
127
    $hold->{transferred}     = 0;
128
    $hold->{not_transfered} = 0;
128
    $hold->{not_transfered} = 0;
129
129
130
    if ($item) {
130
    if ($item) {
(-)a/t/ClassSortRoutine_LCC.t (-1 / +1 lines)
Lines 16-22 BEGIN { Link Here
16
is( C4::ClassSortRoutine::LCC::get_class_sort_key(),           "",    "No arguments returns an empty string" );
16
is( C4::ClassSortRoutine::LCC::get_class_sort_key(),           "",    "No arguments returns an empty string" );
17
is( C4::ClassSortRoutine::LCC::get_class_sort_key( 'a', 'b' ), "A B", "Arguments 'a','b' return 'A B'" );
17
is( C4::ClassSortRoutine::LCC::get_class_sort_key( 'a', 'b' ), "A B", "Arguments 'a','b' return 'A B'" );
18
18
19
#spaces in arguements
19
#spaces in arguments
20
is( C4::ClassSortRoutine::LCC::get_class_sort_key( ' ', 'b' ),    "B", "Arguments ' ','b' return 'B'" );
20
is( C4::ClassSortRoutine::LCC::get_class_sort_key( ' ', 'b' ),    "B", "Arguments ' ','b' return 'B'" );
21
is( C4::ClassSortRoutine::LCC::get_class_sort_key( 'a', ' ' ),    "A", "Arguments 'a',' ' return 'A'" );
21
is( C4::ClassSortRoutine::LCC::get_class_sort_key( 'a', ' ' ),    "A", "Arguments 'a',' ' return 'A'" );
22
is( C4::ClassSortRoutine::LCC::get_class_sort_key( ' ', '    ' ), "",  "Arguments ' ','    ' return ''" );
22
is( C4::ClassSortRoutine::LCC::get_class_sort_key( ' ', '    ' ), "",  "Arguments ' ','    ' return ''" );
(-)a/t/Creators.t (-2 / +2 lines)
Lines 1-8 Link Here
1
#!/usr/bin/perl
1
#!/usr/bin/perl
2
#
2
#
3
# This module will excercise pdf creation routines
3
# This module will exercise pdf creation routines
4
#
4
#
5
# When run with KEEP_PDF enviroment variable it will keep
5
# When run with KEEP_PDF environment variable it will keep
6
# test.pdf for manual inspection. This can be used to verify
6
# test.pdf for manual inspection. This can be used to verify
7
# that ttf font configuration is complete like:
7
# that ttf font configuration is complete like:
8
#
8
#
(-)a/t/Edifact.t (-1 / +1 lines)
Lines 74-80 is( $test_line->author, $test_author, "Author returned" ); Link Here
74
is( $test_line->publisher,        'Pearson Education', "Publisher returned" );
74
is( $test_line->publisher,        'Pearson Education', "Publisher returned" );
75
is( $test_line->publication_date, q{2012.},            "Pub. date returned" );
75
is( $test_line->publication_date, q{2012.},            "Pub. date returned" );
76
#
76
#
77
# Test data encoded in GIR
77
# Test data encoded in GIT
78
#
78
#
79
my $stock_category = $test_line->girfield('stock_category');
79
my $stock_category = $test_line->girfield('stock_category');
80
is( $stock_category, 'EBOOK', "stock_category returned" );
80
is( $stock_category, 'EBOOK', "stock_category returned" );
(-)a/t/Ediorder.t (-6 / +6 lines)
Lines 114-121 my @gsegs = Koha::Edifact::Order::gir_segments( Link Here
114
);
114
);
115
cmp_ok(
115
cmp_ok(
116
    $gsegs[0], 'eq',
116
    $gsegs[0], 'eq',
117
    q{GIR+001+BUDGET:LFN+BRANCH:LLO+TYPE:LST+LOCATION:LSQ+CALL:LSM},
117
    q{GIT+001+BUDGET:LFN+BRANCH:LLO+TYPE:LST+LOCATION:LSQ+CALL:LSM},
118
    'Single Gir field OK'
118
    'Single Git field OK'
119
);
119
);
120
120
121
$orderfields->{servicing_instruction} = 'S_I';
121
$orderfields->{servicing_instruction} = 'S_I';
Lines 127-137 $orderfields->{servicing_instruction} = 'S_I'; Link Here
127
);
127
);
128
cmp_ok(
128
cmp_ok(
129
    $gsegs[2], 'eq',
129
    $gsegs[2], 'eq',
130
    q{GIR+002+BUDGET:LFN+BRANCH:LLO+TYPE:LST+LOCATION:LSQ+CALL:LSM},
130
    q{GIT+002+BUDGET:LFN+BRANCH:LLO+TYPE:LST+LOCATION:LSQ+CALL:LSM},
131
    'First part of split Gir field OK'
131
    'First part of split Git field OK'
132
);
132
);
133
133
134
cmp_ok(
134
cmp_ok(
135
    $gsegs[3], 'eq', q{GIR+002+S_I:LVT},
135
    $gsegs[3], 'eq', q{GIT+002+S_I:LVT},
136
    'Second part of split GIR field OK'
136
    'Second part of split GIT field OK'
137
);
137
);
(-)a/t/Koha/SearchEngine/Elasticsearch/QueryBuilder.t (-2 / +2 lines)
Lines 276-283 subtest 'clean_search_term() tests' => sub { Link Here
276
    $res = $qb->clean_search_term('host-item:test:n:test:and more');
276
    $res = $qb->clean_search_term('host-item:test:n:test:and more');
277
    is( $res, 'host-item:test\:n\:test\:and more', 'screen multiple colons properly' );
277
    is( $res, 'host-item:test\:n\:test\:and more', 'screen multiple colons properly' );
278
278
279
    $res = $qb->clean_search_term('host-item:te st:n');
279
    $res = $qb->clean_search_FIXME CODESPELL (te ==> the, be, we, to)rm('host-iFIXME CODESPELL (te ==> the, be, we, to)m:FIXME CODESPELL (te ==> the, be, we, to) st:n');
280
    is( $res, 'host-item:te st:n', 'leave colons as they are' );
280
    is( $res, 'host-iFIXME CODESPELL (te ==> the, be, we, to)m:FIXME CODESPELL (te ==> the, be, we, to) st:n', 'leave colons as they are' );
281
281
282
    $res = $qb->clean_search_term('test!');
282
    $res = $qb->clean_search_term('test!');
283
    is( $res, 'test', 'remove exclamation sign at the end of the line' );
283
    is( $res, 'test', 'remove exclamation sign at the end of the line' );
(-)a/t/Labels_split_ccn.t (-1 / +1 lines)
Lines 30-36 BEGIN { Link Here
30
    } else {
30
    } else {
31
        $ccns = {
31
        $ccns = {
32
            'BIO JP2 R5c.1'   => [qw(BIO JP2 R5 c.1)],
32
            'BIO JP2 R5c.1'   => [qw(BIO JP2 R5 c.1)],
33
            'FIC GIR J5c.1'   => [qw(FIC GIR J5 c.1)],
33
            'FIC GIT J5c.1'   => [qw(FIC GIT J5 c.1)],
34
            'J DAR G7c.11'    => [qw( J  DAR G7 c.11)],
34
            'J DAR G7c.11'    => [qw( J  DAR G7 c.11)],
35
            'MP3-CD F PARKER' => [qw(MP3-CD F PARKER)],
35
            'MP3-CD F PARKER' => [qw(MP3-CD F PARKER)],
36
        };
36
        };
(-)a/t/Number/Price.t (-3 / +3 lines)
Lines 5-11 use Test::More tests => 37; Link Here
5
use Test::MockModule;
5
use Test::MockModule;
6
use t::lib::Mocks;
6
use t::lib::Mocks;
7
7
8
# Number formating depends by default on system environement
8
# Number formatting depends by default on system environment
9
# See http://search.cpan.org/~wrw/Number-Format/Format.pm
9
# See http://search.cpan.org/~wrw/Number-Format/Format.pm
10
use POSIX qw(setlocale LC_NUMERIC);
10
use POSIX qw(setlocale LC_NUMERIC);
11
11
Lines 73-79 is( Link Here
73
);
73
);
74
74
75
SKIP: {
75
SKIP: {
76
    # Bug 18900 - Check params are not from system environement
76
    # Bug 18900 - Check params are not from system environment
77
    setlocale( LC_NUMERIC, "fr_FR.UTF-8" );
77
    setlocale( LC_NUMERIC, "fr_FR.UTF-8" );
78
    my $current_locale = setlocale(LC_NUMERIC);
78
    my $current_locale = setlocale(LC_NUMERIC);
79
79
Lines 101-107 $currency = Koha::Acquisition::Currency->new( Link Here
101
    }
101
    }
102
);
102
);
103
103
104
# Actually,the price formating for France is 3,00€
104
# Actually,the price formatting for France is 3,00€
105
# How put the symbol at the end with Number::Format?
105
# How put the symbol at the end with Number::Format?
106
is( Koha::Number::Price->new->format($format),    '0,00', 'FR: format 0' );
106
is( Koha::Number::Price->new->format($format),    '0,00', 'FR: format 0' );
107
is( Koha::Number::Price->new(3)->format($format), '3,00', 'FR: format 3' );
107
is( Koha::Number::Price->new(3)->format($format), '3,00', 'FR: format 3' );
(-)a/t/Output_JSONStream.t (-1 / +1 lines)
Lines 21-27 like( $json->output, '/"stuff":\["realia"\]/', "Making sure JSON output has adde Link Here
21
like( $json->output, '/"issues":\["yes!","please","no"\]/', "Making sure existing elements remain in JSON output" );
21
like( $json->output, '/"issues":\["yes!","please","no"\]/', "Making sure existing elements remain in JSON output" );
22
$json->param( stuff => [ 'fun', 'love' ] );
22
$json->param( stuff => [ 'fun', 'love' ] );
23
like( $json->output, '/"stuff":\["fun","love"\]/',          "Making sure JSON output can overwrite params." );
23
like( $json->output, '/"stuff":\["fun","love"\]/',          "Making sure JSON output can overwrite params." );
24
like( $json->output, '/"issues":\["yes!","please","no"\]/', "Making non overwitten elements remain in JSON output" );
24
like( $json->output, '/"issues":\["yes!","please","no"\]/', "Making non overwritten elements remain in JSON output" );
25
25
26
eval { $json->param(die) };
26
eval { $json->param(die) };
27
ok( $@, 'Dies' );
27
ok( $@, 'Dies' );
(-)a/t/cypress/support/e2e.js (-2 / +2 lines)
Lines 1298-1304 cy.get_title = () => { Link Here
1298
        num_last_vol_online: "num last vol",
1298
        num_last_vol_online: "num last vol",
1299
        online_identifier: "online identifier",
1299
        online_identifier: "online identifier",
1300
        parent_publication_title_id: "parent id",
1300
        parent_publication_title_id: "parent id",
1301
        preceding_publication_title_id: "preceeding id",
1301
        preceding_publication_title_id: "FIXME CODESPELL (preceeding ==> preceding, proceeding) id",
1302
        print_identifier: "print identifier",
1302
        print_identifier: "print identifier",
1303
        publication_title: "publication title",
1303
        publication_title: "publication title",
1304
        publication_type: "journal",
1304
        publication_type: "journal",
Lines 1364-1370 cy.get_counter_file = () => { Link Here
1364
        date_uploaded: "2023-06-19T09:13:39+00:00",
1364
        date_uploaded: "2023-06-19T09:13:39+00:00",
1365
        erm_counter_files_id: 1,
1365
        erm_counter_files_id: 1,
1366
        file_content:
1366
        file_content:
1367
            'Report_Name,"Journal Requests (Excluding OA_Gold)"\r\nReport_ID,TR_J1\r\nRelease,5\r\nInstitution_Name,"University Of West London"\r\nInstitution_ID,"Proprietary:Wiley:EAL00000122866; ISNI:0000000121857124"\r\nMetric_Types,"Total_Item_Requests; Unique_Item_Requests"\r\nReport_Filters,"Metric_Type:Total_Item_Requests|Unique_Item_Requests; Access_Type:Controlled; End_Date:2023-06-01; Begin_Date:2022-01-01; Data_Type:Journal; Access_Method:Regular"\r\nReport_Attributes,\r\nExceptions,"3031: Usage Not Ready for Requested Dates (Requested data between 2023-06-01 and 2023-06-01. However only data between 2018-11-01 and 2023-05-31 exists.)"\r\nReporting_Period,"Begin_Date=2022-01-01; End_Date=2023-06-01"\r\nCreated,2023-06-19T02:13:31Z\r\nCreated_By,"Atypon Systems LLC."\r\n\r\nTitle,Publisher,Publisher_ID,Platform,DOI,Proprietary_ID,Print_ISSN,Online_ISSN,URI,Metric_Type,Reporting_Period_Total,"Jan 2022","Feb 2022","Mar 2022","Apr 2022","May 2022","Jun 2022","Jul 2022","Aug 2022","Sep 2022","Oct 2022","Nov 2022","Dez 2022","Jan 2023","Feb 2023","Mar 2023","Apr 2023","May 2023","Jun 2023"\r\n"AEM Education and Training",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)2472-5390,Wiley:AET2,2472-5390,2472-5390,,Total_Item_Requests,16,1,3,0,1,3,1,0,2,1,0,0,1,0,3,0,0,0,0\r\n"AEM Education and Training",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)2472-5390,Wiley:AET2,2472-5390,2472-5390,,Unique_Item_Requests,10,1,2,0,1,1,1,0,1,1,0,0,1,0,1,0,0,0,0\r\n"AIChE Journal",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)1547-5905,Wiley:AIC,0001-1541,1547-5905,,Total_Item_Requests,4,1,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0\r\n"AIChE Journal",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)1547-5905,Wiley:AIC,0001-1541,1547-5905,,Unique_Item_Requests,4,1,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0\r\n"ANZ Journal of Surgery",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1445-2197,Wiley:ANS,1445-1433,1445-2197,,Total_Item_Requests,103,11,2,20,14,8,2,9,1,0,5,6,0,2,4,6,5,8,0\r\n"ANZ Journal of Surgery",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1445-2197,Wiley:ANS,1445-1433,1445-2197,,Unique_Item_Requests,77,9,2,16,8,6,1,9,1,0,3,4,0,1,4,4,2,7,0\r\n"AORN Journal",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)1878-0369,Wiley:AORN,0001-2092,1878-0369,,Total_Item_Requests,634,71,45,59,20,43,47,45,11,14,15,31,22,29,18,28,39,97,0\r\n"AORN Journal",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)1878-0369,Wiley:AORN,0001-2092,1878-0369,,Unique_Item_Requests,436,53,27,27,15,34,30,30,6,11,13,22,17,23,16,26,26,60,0\r\nAPMIS,Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0463,Wiley:APM,0903-4641,1600-0463,,Total_Item_Requests,6,0,0,0,1,0,0,0,2,0,0,0,2,0,1,0,0,0,0\r\nAPMIS,Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0463,Wiley:APM,0903-4641,1600-0463,,Unique_Item_Requests,4,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0\r\n"AWWA Water Science",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)2577-8161,Wiley:AWS2,,2577-8161,,Total_Item_Requests,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0\r\n"AWWA Water Science",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)2577-8161,Wiley:AWS2,,2577-8161,,Unique_Item_Requests,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0\r\nAbacus,Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1467-6281,Wiley:ABAC,0001-3072,1467-6281,,Total_Item_Requests,51,3,0,7,0,2,0,1,0,0,0,11,6,0,3,17,1,0,0\r\nAbacus,Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1467-6281,Wiley:ABAC,0001-3072,1467-6281,,Unique_Item_Requests,36,2,0,6,0,2,0,1,0,0,0,7,2,0,2,13,1,0,0\r\n"Academic Emergency Medicine",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1553-2712,Wiley:ACEM,1069-6563,1553-2712,,Total_Item_Requests,213,18,16,11,13,21,20,28,16,6,11,2,4,18,17,1,7,4,0\r\n"Academic Emergency Medicine",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1553-2712,Wiley:ACEM,1069-6563,1553-2712,,Unique_Item_Requests,159,15,11,10,10,15,13,23,12,6,7,2,2,10,12,1,7,3,0\r\n"Accounting & Finance",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1467-629X,Wiley:ACFI,0810-5391,1467-629X,,Total_Item_Requests,67,2,4,4,13,8,1,0,2,2,1,9,6,2,0,2,4,7,0\r\n"Accounting & Finance",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1467-629X,Wiley:ACFI,0810-5391,1467-629X,,Unique_Item_Requests,53,1,4,4,11,7,1,0,2,1,1,7,3,1,0,2,4,4,0\r\n"Accounting Perspectives",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1911-3838,Wiley:APR,1911-382X,1911-3838,,Total_Item_Requests,19,0,0,2,1,3,0,1,0,0,0,0,0,3,1,0,4,4,0\r\n"Accounting Perspectives",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1911-3838,Wiley:APR,1911-382X,1911-3838,,Unique_Item_Requests,14,0,0,1,1,1,0,1,0,0,0,0,0,2,1,0,4,3,0\r\n"Acta Anaesthesiologica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1399-6576,Wiley:AAS,0001-5172,1399-6576,,Total_Item_Requests,181,29,20,19,5,15,4,19,6,5,6,4,0,3,29,1,12,4,0\r\n"Acta Anaesthesiologica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1399-6576,Wiley:AAS,0001-5172,1399-6576,,Unique_Item_Requests,117,21,12,11,4,10,4,14,3,5,4,4,0,2,14,1,4,4,0\r\n"Acta Neurologica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0404,Wiley:ANE,0001-6314,1600-0404,,Total_Item_Requests,23,0,0,2,0,5,0,1,1,0,2,2,0,2,1,5,2,0,0\r\n"Acta Neurologica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0404,Wiley:ANE,0001-6314,1600-0404,,Unique_Item_Requests,21,0,0,2,0,4,0,1,1,0,1,2,0,2,1,5,2,0,0\r\n"Acta Obstetricia et Gynecologica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0412,Wiley:AOGS,0001-6349,1600-0412,,Total_Item_Requests,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,15,4,2,0\r\n"Acta Obstetricia et Gynecologica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0412,Wiley:AOGS,0001-6349,1600-0412,,Unique_Item_Requests,11,1,0,0,0,0,0,0,0,0,0,0,0,0,0,7,2,1,0\r\n"Acta Ophthalmologica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1755-3768,Wiley:AOS,1755-375X,1755-3768,,Total_Item_Requests,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0\r\n"Acta Ophthalmologica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1755-3768,Wiley:AOS,1755-375X,1755-3768,,Unique_Item_Requests,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0\r\n"Acta Paediatrica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1651-2227,Wiley:APA,0803-5253,1651-2227,,Total_Item_Requests,229,23,26,14,12,8,45,22,6,10,8,3,9,7,8,11,9,8,0\r\n"Acta Paediatrica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1651-2227,Wiley:APA,0803-5253,1651-2227,,Unique_Item_Requests,165,16,19,8,8,8,37,11,6,7,6,3,8,6,7,7,3,5,0\r\n"Acta Physiologica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1748-1716,Wiley:APHA,1748-1708,1748-1716,,Total_Item_Requests,13,2,0,0,1,1,8,0,0,0,0,0,0,0,1,0,0,0,0\r\n"Acta Physiologica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1748-1716,Wiley:APHA,1748-1708,1748-1716,,Unique_Item_Requests,12,2,0,0,1,1,7,0,0,0,0,0,0,0,1,0,0,0,0\r\n"Acta Psychiatrica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0447,Wiley:ACPS,0001-690X,1600-0447,,Total_Item_Requests,226,5,9,28,28,15,18,4,1,2,4,13,14,24,8,20,21,12,0\r\n"Acta Psychiatrica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0447,Wiley:ACPS,0001-690X,1600-0447,,Unique_Item_Requests,178,4,5,19,23,10,17,3,1,1,4,13,10,19,6,18,14,11,0\r\n',
1367
            'Report_Name,"Journal Requests (Excluding OA_Gold)"\r\nReport_ID,TR_J1\r\nRelease,5\r\nInstitution_Name,"University Of West London"\r\nInstitution_ID,"Proprietary:Wiley:EAL00000122866; ISNI:0000000121857124"\r\nMetric_Types,"Total_Item_Requests; Unique_Item_Requests"\r\nReport_Filters,"Metric_Type:Total_Item_Requests|Unique_Item_Requests; Access_Type:Controlled; End_Date:2023-06-01; Begin_Date:2022-01-01; Data_Type:Journal; Access_Method:Regular"\r\nReport_Attributes,\r\nExceptions,"3031: Usage Not Ready for Requested Dates (Requested data between 2023-06-01 and 2023-06-01. However only data between 2018-11-01 and 2023-05-31 exists.)"\r\nReporting_Period,"Begin_Date=2022-01-01; End_Date=2023-06-01"\r\nCreated,2023-06-19T02:13:31Z\r\nCreated_By,"Atypon Systems LLC."\r\n\r\nTitle,Publisher,Publisher_ID,Platform,DOI,Proprietary_ID,Print_ISSN,Online_ISSN,URI,Metric_Type,Reporting_Period_Total,"Jan 2022","Feb 2022","Mar 2022","Apr 2022","May 2022","Jun 2022","Jul 2022","Aug 2022","Sep 2022","Oct 2022","Nov 2022","Dez 2022","Jan 2023","Feb 2023","Mar 2023","Apr 2023","May 2023","Jun 2023"\r\n"AEM Education and Training",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)2472-5390,Wiley:AET2,2472-5390,2472-5390,,Total_Item_Requests,16,1,3,0,1,3,1,0,2,1,0,0,1,0,3,0,0,0,0\r\n"AEM Education and Training",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)2472-5390,Wiley:AET2,2472-5390,2472-5390,,Unique_Item_Requests,10,1,2,0,1,1,1,0,1,1,0,0,1,0,1,0,0,0,0\r\n"AIChE Journal",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)1547-5905,Wiley:AIC,0001-1541,1547-5905,,Total_Item_Requests,4,1,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0\r\n"AIChE Journal",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)1547-5905,Wiley:AIC,0001-1541,1547-5905,,Unique_Item_Requests,4,1,0,0,0,0,1,0,0,0,0,1,1,0,0,0,0,0,0\r\n"ANZ Journal of Surgery",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1445-2197,Wiley:AND,1445-1433,1445-2197,,Total_Item_Requests,103,11,2,20,14,8,2,9,1,0,5,6,0,2,4,6,5,8,0\r\n"ANZ Journal of Surgery",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1445-2197,Wiley:AND,1445-1433,1445-2197,,Unique_Item_Requests,77,9,2,16,8,6,1,9,1,0,3,4,0,1,4,4,2,7,0\r\n"AORN Journal",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)1878-0369,Wiley:AORN,0001-2092,1878-0369,,Total_Item_Requests,634,71,45,59,20,43,47,45,11,14,15,31,22,29,18,28,39,97,0\r\n"AORN Journal",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)1878-0369,Wiley:AORN,0001-2092,1878-0369,,Unique_Item_Requests,436,53,27,27,15,34,30,30,6,11,13,22,17,23,16,26,26,60,0\r\nAPMIS,Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0463,Wiley:APM,0903-4641,1600-0463,,Total_Item_Requests,6,0,0,0,1,0,0,0,2,0,0,0,2,0,1,0,0,0,0\r\nAPMIS,Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0463,Wiley:APM,0903-4641,1600-0463,,Unique_Item_Requests,4,0,0,0,1,0,0,0,1,0,0,0,1,0,1,0,0,0,0\r\n"AWWA Water Science",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)2577-8161,Wiley:AWS2,,2577-8161,,Total_Item_Requests,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0\r\n"AWWA Water Science",Wiley,0000000403801313,"Wiley Online Library",10.1002/(ISSN)2577-8161,Wiley:AWS2,,2577-8161,,Unique_Item_Requests,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0\r\nAbacus,Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1467-6281,Wiley:ABAC,0001-3072,1467-6281,,Total_Item_Requests,51,3,0,7,0,2,0,1,0,0,0,11,6,0,3,17,1,0,0\r\nAbacus,Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1467-6281,Wiley:ABAC,0001-3072,1467-6281,,Unique_Item_Requests,36,2,0,6,0,2,0,1,0,0,0,7,2,0,2,13,1,0,0\r\n"Academic Emergency Medicine",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1553-2712,Wiley:ACEM,1069-6563,1553-2712,,Total_Item_Requests,213,18,16,11,13,21,20,28,16,6,11,2,4,18,17,1,7,4,0\r\n"Academic Emergency Medicine",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1553-2712,Wiley:ACEM,1069-6563,1553-2712,,Unique_Item_Requests,159,15,11,10,10,15,13,23,12,6,7,2,2,10,12,1,7,3,0\r\n"Accounting & Finance",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1467-629X,Wiley:ACFI,0810-5391,1467-629X,,Total_Item_Requests,67,2,4,4,13,8,1,0,2,2,1,9,6,2,0,2,4,7,0\r\n"Accounting & Finance",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1467-629X,Wiley:ACFI,0810-5391,1467-629X,,Unique_Item_Requests,53,1,4,4,11,7,1,0,2,1,1,7,3,1,0,2,4,4,0\r\n"Accounting Perspectives",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1911-3838,Wiley:APR,1911-382X,1911-3838,,Total_Item_Requests,19,0,0,2,1,3,0,1,0,0,0,0,0,3,1,0,4,4,0\r\n"Accounting Perspectives",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1911-3838,Wiley:APR,1911-382X,1911-3838,,Unique_Item_Requests,14,0,0,1,1,1,0,1,0,0,0,0,0,2,1,0,4,3,0\r\n"Acta Anaesthesiologica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1399-6576,Wiley:AAS,0001-5172,1399-6576,,Total_Item_Requests,181,29,20,19,5,15,4,19,6,5,6,4,0,3,29,1,12,4,0\r\n"Acta Anaesthesiologica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1399-6576,Wiley:AAS,0001-5172,1399-6576,,Unique_Item_Requests,117,21,12,11,4,10,4,14,3,5,4,4,0,2,14,1,4,4,0\r\n"Acta Neurologica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0404,Wiley:AND,0001-6314,1600-0404,,Total_Item_Requests,23,0,0,2,0,5,0,1,1,0,2,2,0,2,1,5,2,0,0\r\n"Acta Neurologica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0404,Wiley:AND,0001-6314,1600-0404,,Unique_Item_Requests,21,0,0,2,0,4,0,1,1,0,1,2,0,2,1,5,2,0,0\r\n"Acta Obstetricia et Gynecologica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0412,Wiley:AOGS,0001-6349,1600-0412,,Total_Item_Requests,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,15,4,2,0\r\n"Acta Obstetricia et Gynecologica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0412,Wiley:AOGS,0001-6349,1600-0412,,Unique_Item_Requests,11,1,0,0,0,0,0,0,0,0,0,0,0,0,0,7,2,1,0\r\n"Acta Ophthalmologica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1755-3768,Wiley:AOS,1755-375X,1755-3768,,Total_Item_Requests,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0\r\n"Acta Ophthalmologica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1755-3768,Wiley:AOS,1755-375X,1755-3768,,Unique_Item_Requests,2,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0\r\n"Acta Paediatrica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1651-2227,Wiley:APA,0803-5253,1651-2227,,Total_Item_Requests,229,23,26,14,12,8,45,22,6,10,8,3,9,7,8,11,9,8,0\r\n"Acta Paediatrica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1651-2227,Wiley:APA,0803-5253,1651-2227,,Unique_Item_Requests,165,16,19,8,8,8,37,11,6,7,6,3,8,6,7,7,3,5,0\r\n"Acta Physiologica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1748-1716,Wiley:APHA,1748-1708,1748-1716,,Total_Item_Requests,13,2,0,0,1,1,8,0,0,0,0,0,0,0,1,0,0,0,0\r\n"Acta Physiologica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1748-1716,Wiley:APHA,1748-1708,1748-1716,,Unique_Item_Requests,12,2,0,0,1,1,7,0,0,0,0,0,0,0,1,0,0,0,0\r\n"Acta Psychiatrica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0447,Wiley:ACPS,0001-690X,1600-0447,,Total_Item_Requests,226,5,9,28,28,15,18,4,1,2,4,13,14,24,8,20,21,12,0\r\n"Acta Psychiatrica Scandinavica",Wiley,0000000403801313,"Wiley Online Library",10.1111/(ISSN)1600-0447,Wiley:ACPS,0001-690X,1600-0447,,Unique_Item_Requests,178,4,5,19,23,10,17,3,1,1,4,13,10,19,6,18,14,11,0\r\n',
1368
        filename: "PTFS Journals_TR_J1",
1368
        filename: "PTFS Journals_TR_J1",
1369
        type: "TR_J1",
1369
        type: "TR_J1",
1370
        usage_data_provider_id: 1,
1370
        usage_data_provider_id: 1,
(-)a/t/db_dependent/Accounts.t (-6 / +6 lines)
Lines 123-154 my @test_data = ( Link Here
123
    },
123
    },
124
    {
124
    {
125
        amount      => 5, days_ago => $days - 1,
125
        amount      => 5, days_ago => $days - 1,
126
        description => 'purge_zero_balance_fees should not delete fees with positive amout owed before threshold day',
126
        description => 'purge_zero_balance_fees should not delete fees with positive amount owed before threshold day',
127
        delete      => 0, credit_type => undef, debit_type => 'OVERDUE'
127
        delete      => 0, credit_type => undef, debit_type => 'OVERDUE'
128
    },
128
    },
129
    {
129
    {
130
        amount      => 5, days_ago => $days,
130
        amount      => 5, days_ago => $days,
131
        description => 'purge_zero_balance_fees should not delete fees with positive amout owed on threshold day',
131
        description => 'purge_zero_balance_fees should not delete fees with positive amount owed on threshold day',
132
        delete      => 0, credit_type => undef, debit_type => 'OVERDUE'
132
        delete      => 0, credit_type => undef, debit_type => 'OVERDUE'
133
    },
133
    },
134
    {
134
    {
135
        amount      => 5, days_ago => $days + 1,
135
        amount      => 5, days_ago => $days + 1,
136
        description => 'purge_zero_balance_fees should not delete fees with positive amout owed after threshold day',
136
        description => 'purge_zero_balance_fees should not delete fees with positive amount owed after threshold day',
137
        delete      => 0, credit_type => undef, debit_type => 'OVERDUE'
137
        delete      => 0, credit_type => undef, debit_type => 'OVERDUE'
138
    },
138
    },
139
    {
139
    {
140
        amount      => -5, days_ago => $days - 1,
140
        amount      => -5, days_ago => $days - 1,
141
        description => 'purge_zero_balance_fees should not delete fees with negative amout owed before threshold day',
141
        description => 'purge_zero_balance_fees should not delete fees with negative amount owed before threshold day',
142
        delete      => 0, credit_type => 'PAYMENT', debit_type => undef
142
        delete      => 0, credit_type => 'PAYMENT', debit_type => undef
143
    },
143
    },
144
    {
144
    {
145
        amount      => -5, days_ago => $days,
145
        amount      => -5, days_ago => $days,
146
        description => 'purge_zero_balance_fees should not delete fees with negative amout owed on threshold day',
146
        description => 'purge_zero_balance_fees should not delete fees with negative amount owed on threshold day',
147
        delete      => 0, credit_type => 'PAYMENT', debit_type => undef
147
        delete      => 0, credit_type => 'PAYMENT', debit_type => undef
148
    },
148
    },
149
    {
149
    {
150
        amount      => -5, days_ago => $days + 1,
150
        amount      => -5, days_ago => $days + 1,
151
        description => 'purge_zero_balance_fees should not delete fees with negative amout owed after threshold day',
151
        description => 'purge_zero_balance_fees should not delete fees with negative amount owed after threshold day',
152
        delete      => 0, credit_type => 'PAYMENT', debit_type => undef
152
        delete      => 0, credit_type => 'PAYMENT', debit_type => undef
153
    }
153
    }
154
);
154
);
(-)a/t/db_dependent/Acquisition.t (-1 / +1 lines)
Lines 180-186 my ( $biblionumber3, $biblioitemnumber3 ) = AddBiblio( MARC::Record->new, '' ); Link Here
180
my ( $biblionumber4, $biblioitemnumber4 ) = AddBiblio( MARC::Record->new, '' );
180
my ( $biblionumber4, $biblioitemnumber4 ) = AddBiblio( MARC::Record->new, '' );
181
my ( $biblionumber5, $biblioitemnumber5 ) = AddBiblio( MARC::Record->new, '' );
181
my ( $biblionumber5, $biblioitemnumber5 ) = AddBiblio( MARC::Record->new, '' );
182
182
183
# Prepare 6 orders, and make distinction beween fields to be tested with eq and with ==
183
# Prepare 6 orders, and make distinction between fields to be tested with eq and with ==
184
# Ex : a price of 50.1 will be stored internally as 5.100000
184
# Ex : a price of 50.1 will be stored internally as 5.100000
185
185
186
my @order_content = (
186
my @order_content = (
(-)a/t/db_dependent/Acquisition/TransferOrder.t (-1 / +1 lines)
Lines 84-90 $order = Koha::Acquisition::Orders->find( $order->{ordernumber} ); Link Here
84
is( $order->items->count,         1, "1 item in basket1's order" );
84
is( $order->items->count,         1, "1 item in basket1's order" );
85
is( scalar GetOrders($basketno2), 0, "0 order in basket2" );
85
is( scalar GetOrders($basketno2), 0, "0 order in basket2" );
86
86
87
# Transfering order to basket2
87
# Transferring order to basket2
88
my $newordernumber = TransferOrder( $ordernumber, $basketno2 );
88
my $newordernumber = TransferOrder( $ordernumber, $basketno2 );
89
is( scalar GetOrders($basketno1), 0, "0 order in basket1" );
89
is( scalar GetOrders($basketno1), 0, "0 order in basket1" );
90
is( scalar GetOrders($basketno2), 1, "1 order in basket2" );
90
is( scalar GetOrders($basketno2), 1, "1 order in basket2" );
(-)a/t/db_dependent/Auth.t (-1 / +1 lines)
Lines 82-88 subtest 'checkauth() tests' => sub { Link Here
82
82
83
    my $is_allowed = C4::Auth::haspermission( $db_user_id, { can_do => 'everything' } );
83
    my $is_allowed = C4::Auth::haspermission( $db_user_id, { can_do => 'everything' } );
84
84
85
    # FIXME This belongs to t/db_dependent/Auth/haspermission.t but we do not want to c/p the pervious mock statements
85
    # FIXME This belongs to t/db_dependent/Auth/haspermission.t but we do not want to c/p the previous mock statements
86
    ok( !$is_allowed, 'DB user should not have any permissions' );
86
    ok( !$is_allowed, 'DB user should not have any permissions' );
87
87
88
    subtest 'Prevent authentication when sending credential via GET' => sub {
88
    subtest 'Prevent authentication when sending credential via GET' => sub {
(-)a/t/db_dependent/Auth_with_ldap.t (-1 / +1 lines)
Lines 145-151 subtest 'checkpw_ldap tests' => sub { Link Here
145
    warning_is {
145
    warning_is {
146
        $ret = C4::Auth_with_ldap::checkpw_ldap( 'hola', password => 'hey' );
146
        $ret = C4::Auth_with_ldap::checkpw_ldap( 'hola', password => 'hey' );
147
    }
147
    }
148
    'LDAP connexion failed',
148
    'LDAP connection failed',
149
        'checkpw_ldap prints correct warning if LDAP conexion fails';
149
        'checkpw_ldap prints correct warning if LDAP conexion fails';
150
    is( $ret, 0, 'checkpw_ldap returns 0 if LDAP conexion fails' );
150
    is( $ret, 0, 'checkpw_ldap returns 0 if LDAP conexion fails' );
151
151
(-)a/t/db_dependent/Biblio.t (-1 / +1 lines)
Lines 397-403 sub run_tests { Link Here
397
    my $data = GetBiblioData($biblionumber);
397
    my $data = GetBiblioData($biblionumber);
398
    is(
398
    is(
399
        $data->{isbn}, $isbn,
399
        $data->{isbn}, $isbn,
400
        '(GetBiblioData) ISBN correctly retireved.'
400
        '(GetBiblioData) ISBN correctly retrieved.'
401
    );
401
    );
402
    is(
402
    is(
403
        $data->{title}, undef,
403
        $data->{title}, undef,
(-)a/t/db_dependent/Biblio/MarcOverlayRules.t (-1 / +1 lines)
Lines 1087-1093 subtest 'context option in ModBiblio is handled correctly' => sub { Link Here
1087
    DelBiblio($biblionumber);
1087
    DelBiblio($biblionumber);
1088
};
1088
};
1089
1089
1090
# Explicityly delete rule to trigger clearing of cache
1090
# Explicitly delete rule to trigger clearing of cache
1091
$rule->delete();
1091
$rule->delete();
1092
1092
1093
$schema->storage->txn_rollback;
1093
$schema->storage->txn_rollback;
(-)a/t/db_dependent/Biblio_holdsqueue.t (-1 / +1 lines)
Lines 82-88 subtest 'ModBiblio() + holds_queue update tests' => sub { Link Here
82
        $biblio->frameworkcode, { skip_holds_queue => 0 }
82
        $biblio->frameworkcode, { skip_holds_queue => 0 }
83
    );
83
    );
84
84
85
    # this call shoul not trigger the mocked 'enqueue'
85
    # this call FIXME CODESPELL (shoul ==> should, shoal, shawl) not trigger the mocked 'enqueue'
86
    C4::Biblio::ModBiblio(
86
    C4::Biblio::ModBiblio(
87
        $biblio->metadata->record, $biblio->id,
87
        $biblio->metadata->record, $biblio->id,
88
        $biblio->frameworkcode, { skip_holds_queue => 1 }
88
        $biblio->frameworkcode, { skip_holds_queue => 1 }
(-)a/t/db_dependent/Breeding.t (-1 / +1 lines)
Lines 138-144 sub test_build_translate_query { Link Here
138
    #Another try with fallback to any
138
    #Another try with fallback to any
139
    $server = { sru_fields => 'srchany=overal' };
139
    $server = { sru_fields => 'srchany=overal' };
140
    $squery = C4::Breeding::_translate_query( $server, $queries[1] );
140
    $squery = C4::Breeding::_translate_query( $server, $queries[1] );
141
    is( $squery =~ /overal/, 1, 'SRU query fallback to translated any' );
141
    is( $squery =~ /overall/, 1, 'SRU query fallback to translated any' );
142
142
143
    #Another try even without any
143
    #Another try even without any
144
    $server = { sru_fields => 'this,is,bad,input' };
144
    $server = { sru_fields => 'this,is,bad,input' };
(-)a/t/db_dependent/Budgets.t (-1 / +1 lines)
Lines 130-136 is( Link Here
130
);
130
);
131
is(
131
is(
132
    $budgetperiod->{budget_period_active}, $my_budgetperiod->{budget_period_active},
132
    $budgetperiod->{budget_period_active}, $my_budgetperiod->{budget_period_active},
133
    'ModBudgetPeriod upates active correctly'
133
    'ModBudgetPeriod updates active correctly'
134
);
134
);
135
135
136
$budgetperiods = GetBudgetPeriods();
136
$budgetperiods = GetBudgetPeriods();
(-)a/t/db_dependent/Circulation.t (-7 / +7 lines)
Lines 2006-2015 subtest "GetUpcomingDueIssues" => sub { Link Here
2006
    is( scalar(@$upcoming_dues), 1, "1 item is due today, none tomorrow" );
2006
    is( scalar(@$upcoming_dues), 1, "1 item is due today, none tomorrow" );
2007
2007
2008
    $upcoming_dues = C4::Circulation::GetUpcomingDueIssues( { days_in_advance => 2 } );
2008
    $upcoming_dues = C4::Circulation::GetUpcomingDueIssues( { days_in_advance => 2 } );
2009
    is( scalar(@$upcoming_dues), 2, "2 items are due withing 2 days" );
2009
    is( scalar(@$upcoming_dues), 2, "2 items are due within 2 days" );
2010
2010
2011
    $upcoming_dues = C4::Circulation::GetUpcomingDueIssues( { days_in_advance => 3 } );
2011
    $upcoming_dues = C4::Circulation::GetUpcomingDueIssues( { days_in_advance => 3 } );
2012
    is( scalar(@$upcoming_dues), 2, "2 items are due withing 2 days" );
2012
    is( scalar(@$upcoming_dues), 2, "2 items are due within 2 days" );
2013
2013
2014
    $upcoming_dues = C4::Circulation::GetUpcomingDueIssues();
2014
    $upcoming_dues = C4::Circulation::GetUpcomingDueIssues();
2015
    is( scalar(@$upcoming_dues), 2, "days_in_advance is 7 in GetUpcomingDueIssues if not provided" );
2015
    is( scalar(@$upcoming_dues), 2, "days_in_advance is 7 in GetUpcomingDueIssues if not provided" );
Lines 5702-5708 subtest 'Incremented fee tests' => sub { Link Here
5702
        }
5702
        }
5703
    );
5703
    );
5704
5704
5705
    is( $itemtype->rentalcharge_daily + 0, 1,             'Daily rental charge stored and retreived correctly' );
5705
    is( $itemtype->rentalcharge_daily + 0, 1,             'Daily rental charge stored and retrieved correctly' );
5706
    is( $item->effective_itemtype,         $itemtype->id, "Itemtype set correctly for item" );
5706
    is( $item->effective_itemtype,         $itemtype->id, "Itemtype set correctly for item" );
5707
5707
5708
    my $now         = dt_from_string;
5708
    my $now         = dt_from_string;
Lines 5767-5773 subtest 'Incremented fee tests' => sub { Link Here
5767
5767
5768
    my $calendar = C4::Calendar->new( branchcode => $library->id );
5768
    my $calendar = C4::Calendar->new( branchcode => $library->id );
5769
5769
5770
    # DateTime 1..7 (Mon..Sun), C4::Calender 0..6 (Sun..Sat)
5770
    # DateTime 1..7 (Mon..Sun), C4::Calendar 0..6 (Sun..Sat)
5771
    my $closed_day =
5771
    my $closed_day =
5772
          ( $dt_from->day_of_week == 6 ) ? 0
5772
          ( $dt_from->day_of_week == 6 ) ? 0
5773
        : ( $dt_from->day_of_week == 7 ) ? 1
5773
        : ( $dt_from->day_of_week == 7 ) ? 1
Lines 5805-5811 subtest 'Incremented fee tests' => sub { Link Here
5805
    $issue->delete();
5805
    $issue->delete();
5806
5806
5807
    $itemtype->rentalcharge(2)->store;
5807
    $itemtype->rentalcharge(2)->store;
5808
    is( $itemtype->rentalcharge + 0, 2, 'Rental charge updated and retreived correctly' );
5808
    is( $itemtype->rentalcharge + 0, 2, 'Rental charge updated and retrieved correctly' );
5809
    $issue = AddIssue( $patron, $item->barcode, $dt_to, undef, $dt_from );
5809
    $issue = AddIssue( $patron, $item->barcode, $dt_to, undef, $dt_from );
5810
    my $accountlines = Koha::Account::Lines->search( { itemnumber => $item->id } );
5810
    my $accountlines = Koha::Account::Lines->search( { itemnumber => $item->id } );
5811
    is( $accountlines->count, '2', "Fixed charge and accrued charge recorded distinctly" );
5811
    is( $accountlines->count, '2', "Fixed charge and accrued charge recorded distinctly" );
Lines 5824-5830 subtest 'Incremented fee tests' => sub { Link Here
5824
    $accountlines->delete();
5824
    $accountlines->delete();
5825
    $issue->delete();
5825
    $issue->delete();
5826
    $itemtype->rentalcharge(0)->store;
5826
    $itemtype->rentalcharge(0)->store;
5827
    is( $itemtype->rentalcharge + 0, 0, 'Rental charge reset and retreived correctly' );
5827
    is( $itemtype->rentalcharge + 0, 0, 'Rental charge reset and retrieved correctly' );
5828
5828
5829
    # Hourly
5829
    # Hourly
5830
    Koha::CirculationRules->set_rule(
5830
    Koha::CirculationRules->set_rule(
Lines 5838-5844 subtest 'Incremented fee tests' => sub { Link Here
5838
    );
5838
    );
5839
5839
5840
    $itemtype->rentalcharge_hourly('0.25')->store();
5840
    $itemtype->rentalcharge_hourly('0.25')->store();
5841
    is( $itemtype->rentalcharge_hourly, '0.25', 'Hourly rental charge stored and retreived correctly' );
5841
    is( $itemtype->rentalcharge_hourly, '0.25', 'Hourly rental charge stored and retrieved correctly' );
5842
5842
5843
    $dt_to       = $now->clone->add( hours => 168 );
5843
    $dt_to       = $now->clone->add( hours => 168 );
5844
    $dt_to_renew = $now->clone->add( hours => 312 );
5844
    $dt_to_renew = $now->clone->add( hours => 312 );
(-)a/t/db_dependent/Circulation/CalcDateDue.t (-1 / +1 lines)
Lines 112-118 $date = C4::Circulation::CalcDateDue( $start_date, $itemtype, $branchcode, $borr Link Here
112
is( $date, '2013-02-' . ( 9 + $renewalperiod ) . 'T23:59:00', "date expiry ( 9 + $renewalperiod )" );
112
is( $date, '2013-02-' . ( 9 + $renewalperiod ) . 'T23:59:00', "date expiry ( 9 + $renewalperiod )" );
113
113
114
# Now we want to test the Dayweek useDaysMode option
114
# Now we want to test the Dayweek useDaysMode option
115
# For this we need a loan period that is a mutiple of 7 days
115
# For this we need a loan period that is a multiple of 7 days
116
# But, since we currently don't have that, let's test it does the
116
# But, since we currently don't have that, let's test it does the
117
# right thing in that case, it should act as though useDaysMode is set to
117
# right thing in that case, it should act as though useDaysMode is set to
118
# Datedue
118
# Datedue
(-)a/t/db_dependent/Circulation/GetHardDueDate.t (-1 / +1 lines)
Lines 35-41 $dbh->do(q|DELETE FROM branches|); Link Here
35
$dbh->do(q|DELETE FROM categories|);
35
$dbh->do(q|DELETE FROM categories|);
36
$dbh->do(q|DELETE FROM circulation_rules|);
36
$dbh->do(q|DELETE FROM circulation_rules|);
37
37
38
#Add sample datas
38
#Add sample data
39
39
40
#Add branch and category
40
#Add branch and category
41
my $samplebranch1 = {
41
my $samplebranch1 = {
(-)a/t/db_dependent/Circulation/OfflineOperation.t (-1 / +1 lines)
Lines 83-89 is_deeply( Link Here
83
        cardnumber => 'Cardnumber1',
83
        cardnumber => 'Cardnumber1',
84
        amount     => '10.000000'
84
        amount     => '10.000000'
85
    },
85
    },
86
    "GetOffline returns offlineoperation's informations"
86
    "GetOffline returns offlineoperation's information"
87
);
87
);
88
is(
88
is(
89
    GetOfflineOperation(), undef,
89
    GetOfflineOperation(), undef,
(-)a/t/db_dependent/Circulation/TooMany.t (-3 / +3 lines)
Lines 421-428 subtest '1 Issuingrule exist: 1 CO allowed, 1 OSCO allowed, Do a OSCO' => sub { Link Here
421
421
422
subtest '1 BranchBorrowerCircRule exist: 1 CO allowed, 1 OSCO allowed' => sub {
422
subtest '1 BranchBorrowerCircRule exist: 1 CO allowed, 1 OSCO allowed' => sub {
423
423
424
    # Note: the same test coul be done for
424
    # Note: the same test could be done for
425
    # DefaultBorrowerCircRule, DefaultBranchCircRule, DefaultBranchItemRule ans DefaultCircRule.pm
425
    # DefaultBorrowerCircRule, DefaultBranchCircRule, DefaultBranchItemRule and DefaultCircRule.pm
426
426
427
    plan tests => 18;
427
    plan tests => 18;
428
    Koha::CirculationRules->set_rules(
428
    Koha::CirculationRules->set_rules(
Lines 733-739 subtest 'General vs specific rules limit quantity correctly' => sub { Link Here
733
        'We are only allowed one from that branch, and have one'
733
        'We are only allowed one from that branch, and have one'
734
    );
734
    );
735
735
736
    # Now we make anothe from a different branch
736
    # Now we make another from a different branch
737
    my $item_2 = $builder->build_sample_item(
737
    my $item_2 = $builder->build_sample_item(
738
        {
738
        {
739
            itype => $itemtype->{itemtype},
739
            itype => $itemtype->{itemtype},
(-)a/t/db_dependent/Circulation/issue.t (-1 / +1 lines)
Lines 72-78 $dbh->do(q|DELETE FROM reserves|); Link Here
72
$dbh->do(q|DELETE FROM old_reserves|);
72
$dbh->do(q|DELETE FROM old_reserves|);
73
$dbh->do(q|DELETE FROM statistics|);
73
$dbh->do(q|DELETE FROM statistics|);
74
74
75
# Generate sample datas
75
# Generate sample data
76
my $itemtype = $builder->build(
76
my $itemtype = $builder->build(
77
    {
77
    {
78
        source => 'Itemtype',
78
        source => 'Itemtype',
(-)a/t/db_dependent/Circulation/transferbook.t (-1 / +1 lines)
Lines 36-42 subtest 'transfer a non-existant item' => sub { Link Here
36
36
37
    my $library = $builder->build( { source => 'Branch' } );
37
    my $library = $builder->build( { source => 'Branch' } );
38
38
39
    #Transfert on unknown barcode
39
    #FIXME CODESPELL (Transfert ==> Transfer, Transferred) on unknown barcode
40
    my $item  = $builder->build_sample_item();
40
    my $item  = $builder->build_sample_item();
41
    my $badbc = $item->barcode;
41
    my $badbc = $item->barcode;
42
    $item->delete;
42
    $item->delete;
(-)a/t/db_dependent/Circulation/transfers.t (-1 / +1 lines)
Lines 57-63 $dbh->do(q|DELETE FROM branches|); Link Here
57
$dbh->do(q|DELETE FROM branch_transfer_limits|);
57
$dbh->do(q|DELETE FROM branch_transfer_limits|);
58
$dbh->do(q|DELETE FROM branchtransfers|);
58
$dbh->do(q|DELETE FROM branchtransfers|);
59
59
60
## Create sample datas
60
## Create sample data
61
# Add branches
61
# Add branches
62
my $branchcode_1 = $builder->build( { source => 'Branch', } )->{branchcode};
62
my $branchcode_1 = $builder->build( { source => 'Branch', } )->{branchcode};
63
my $branchcode_2 = $builder->build( { source => 'Branch', } )->{branchcode};
63
my $branchcode_2 = $builder->build( { source => 'Branch', } )->{branchcode};
(-)a/t/db_dependent/CourseReserves.t (-1 / +1 lines)
Lines 75-81 $course_id = ModCourse( Link Here
75
my $course = GetCourse($course_id);
75
my $course = GetCourse($course_id);
76
76
77
ok( $course->{'course_name'} eq "Test Course",      "GetCourse returned correct course" );
77
ok( $course->{'course_name'} eq "Test Course",      "GetCourse returned correct course" );
78
ok( $course->{'staff_note'} eq "Test staff note 2", "ModCourse updated course succesfully" );
78
ok( $course->{'staff_note'} eq "Test staff note 2", "ModCourse updated course successfully" );
79
is( $course->{'enabled'}, 'no', "Test Course is disabled" );
79
is( $course->{'enabled'}, 'no', "Test Course is disabled" );
80
80
81
my $courses = GetCourses();
81
my $courses = GetCourses();
(-)a/t/db_dependent/FrameworkPlugin.t (-1 / +1 lines)
Lines 186-192 sub test05 { Link Here
186
    foreach my $f (@$plugins) {
186
    foreach my $f (@$plugins) {
187
        $objs->{$f} = Koha::FrameworkPlugin->new($f);
187
        $objs->{$f} = Koha::FrameworkPlugin->new($f);
188
        my $pars = { dbh => $dbh, id => $f };
188
        my $pars = { dbh => $dbh, id => $f };
189
        is( $objs->{$f}->build($pars), 1, "Builded " . $objs->{$f}->name );
189
        is( $objs->{$f}->build($pars), 1, "Built " . $objs->{$f}->name );
190
    }
190
    }
191
191
192
    # test launching them (but we cannot verify returned results here)
192
    # test launching them (but we cannot verify returned results here)
(-)a/t/db_dependent/Holds/HoldFulfillmentPolicy.t (-1 / +1 lines)
Lines 183-189 $reserve_id = AddReserve( Link Here
183
is( $status, q{}, "Hold where pickup ne home, pickup ne holding not targeted" );
183
is( $status, q{}, "Hold where pickup ne home, pickup ne holding not targeted" );
184
Koha::Holds->find($reserve_id)->cancel;
184
Koha::Holds->find($reserve_id)->cancel;
185
185
186
# With hold_fulfillment_policy = any, hold should be pikcup up reguardless of matching home or holding branch
186
# With hold_fulfillment_policy = any, hold should be pikcup up regardless of matching home or holding branch
187
$dbh->do("DELETE FROM circulation_rules");
187
$dbh->do("DELETE FROM circulation_rules");
188
Koha::CirculationRules->set_rules(
188
Koha::CirculationRules->set_rules(
189
    {
189
    {
(-)a/t/db_dependent/Holds/HoldItemtypeLimit.t (-1 / +1 lines)
Lines 111-117 my $reserve_id = AddReserve( Link Here
111
    }
111
    }
112
);
112
);
113
my ($status) = CheckReserves($item);
113
my ($status) = CheckReserves($item);
114
is( $status, 'Reserved', "Hold where itemtype matches item's itemtype targed" );
114
is( $status, 'Reserved', "Hold where itemtype matches item's itemtype target" );
115
Koha::Holds->find($reserve_id)->cancel;
115
Koha::Holds->find($reserve_id)->cancel;
116
116
117
# Itemtypes don't match
117
# Itemtypes don't match
(-)a/t/db_dependent/HoldsQueue.t (-2 / +2 lines)
Lines 399-405 C4::Calendar->new( branchcode => $branchcodes[0] )->insert_single_holiday( Link Here
399
    description => "$today",
399
    description => "$today",
400
);
400
);
401
401
402
# If the test below is removed, aother tests using the holiday will fail. For some reason if we call is_holiday now
402
# If the test below is removed, FIXME CODESPELL (aother ==> another, other, mother) tests using the holiday will fail. For some reason if we call is_holiday now
403
# the holiday will get set in cache correctly, but not if we let C4::HoldsQueue call is_holiday instead.
403
# the holiday will get set in cache correctly, but not if we let C4::HoldsQueue call is_holiday instead.
404
is(
404
is(
405
    Koha::Calendar->new( branchcode => $branchcodes[0] )->is_holiday($today), 1,
405
    Koha::Calendar->new( branchcode => $branchcodes[0] )->is_holiday($today), 1,
Lines 860-866 $holds_queue = $dbh->selectall_arrayref( "SELECT * FROM tmp_holdsqueue", { Slice Link Here
860
is( @$holds_queue, 0, "Hold where pickup ne home, pickup ne holding not targeted" );
860
is( @$holds_queue, 0, "Hold where pickup ne home, pickup ne holding not targeted" );
861
Koha::Holds->find($reserve_id)->cancel;
861
Koha::Holds->find($reserve_id)->cancel;
862
862
863
# With hold_fulfillment_policy = any, hold should be pikcup up reguardless of matching home or holding branch
863
# With hold_fulfillment_policy = any, hold should be pikcup up regardless of matching home or holding branch
864
$dbh->do("DELETE FROM circulation_rules");
864
$dbh->do("DELETE FROM circulation_rules");
865
Koha::CirculationRules->set_rules(
865
Koha::CirculationRules->set_rules(
866
    {
866
    {
(-)a/t/db_dependent/ILSDI_Services.t (-1 / +1 lines)
Lines 865-871 subtest 'GetRecords' => sub { Link Here
865
        'GetRecords returns transfer informations'
865
        'GetRecords returns transfer informations'
866
    );
866
    );
867
867
868
    # Check informations exposed
868
    # Check information exposed
869
    my $reply_issue = $reply->{record}->[0]->{issues}->{issue}->[0];
869
    my $reply_issue = $reply->{record}->[0]->{issues}->{issue}->[0];
870
    is( $reply_issue->{itemnumber},     $item->itemnumber, 'GetRecords has an issue tag' );
870
    is( $reply_issue->{itemnumber},     $item->itemnumber, 'GetRecords has an issue tag' );
871
    is( $reply_issue->{borrowernumber}, undef,             'GetRecords does not expose borrowernumber in issue tag' );
871
    is( $reply_issue->{borrowernumber}, undef,             'GetRecords does not expose borrowernumber in issue tag' );
(-)a/t/db_dependent/ImportBatch.t (-2 / +2 lines)
Lines 78-84 delete $importbatch2->{profile}; Link Here
78
78
79
is_deeply(
79
is_deeply(
80
    $importbatch2, $sample_import_batch2,
80
    $importbatch2, $sample_import_batch2,
81
    "GetImportBatch returns the right informations about $sample_import_batch2"
81
    "GetImportBatch returns the right information about $sample_import_batch2"
82
);
82
);
83
83
84
my $importbatch1 = C4::ImportBatch::GetImportBatch($id_import_batch1);
84
my $importbatch1 = C4::ImportBatch::GetImportBatch($id_import_batch1);
Lines 91-97 delete $importbatch1->{profile}; Link Here
91
91
92
is_deeply(
92
is_deeply(
93
    $importbatch1, $sample_import_batch1,
93
    $importbatch1, $sample_import_batch1,
94
    "GetImportBatch returns the right informations about $sample_import_batch1"
94
    "GetImportBatch returns the right information about $sample_import_batch1"
95
);
95
);
96
96
97
my $record          = MARC::Record->new;
97
my $record          = MARC::Record->new;
(-)a/t/db_dependent/Installer.t (-1 / +1 lines)
Lines 67-73 ok( !column_exists( 'borrowers', 'xxx' ), 'Column xxx does not exist' ); Link Here
67
}
67
}
68
my @constraint_names = $source->unique_constraint_names();
68
my @constraint_names = $source->unique_constraint_names();
69
my $constraint_name  = $constraint_names[0];
69
my $constraint_name  = $constraint_names[0];
70
ok( index_exists( 'borrowers',  $constraint_name ), 'Known contraint does exist' );
70
ok( index_exists( 'borrowers',  $constraint_name ), 'Known constraint does exist' );
71
ok( !index_exists( 'borrowers', 'xxx' ),            'Constraint xxx does not exist' );
71
ok( !index_exists( 'borrowers', 'xxx' ),            'Constraint xxx does not exist' );
72
72
73
ok( foreign_key_exists( 'borrowers',  'borrowers_ibfk_1' ), 'FK borrowers_ibfk_1 exists' );
73
ok( foreign_key_exists( 'borrowers',  'borrowers_ibfk_1' ), 'FK borrowers_ibfk_1 exists' );
(-)a/t/db_dependent/Koha/Account.t (-1 / +1 lines)
Lines 1258-1264 subtest 'Koha::Account::pay() generates credit number (Koha::Account::Line->stor Link Here
1258
    $accountlines_id =
1258
    $accountlines_id =
1259
        $account->pay( { type => 'WRITEOFF', amount => '1.00', library_id => $library->id } )->{payment_id};
1259
        $account->pay( { type => 'WRITEOFF', amount => '1.00', library_id => $library->id } )->{payment_id};
1260
    $accountline = Koha::Account::Lines->find($accountlines_id);
1260
    $accountline = Koha::Account::Lines->find($accountlines_id);
1261
    is( $accountline->credit_number, undef, "Annual format credit number not aded for writeoff" );
1261
    is( $accountline->credit_number, undef, "Annual format credit number not added for writeoff" );
1262
1262
1263
    t::lib::Mocks::mock_preference( 'AutoCreditNumber', 'branchyyyymmincr' );
1263
    t::lib::Mocks::mock_preference( 'AutoCreditNumber', 'branchyyyymmincr' );
1264
    for my $i ( 1 .. 11 ) {
1264
    for my $i ( 1 .. 11 ) {
(-)a/t/db_dependent/Koha/Acquisition/Basket.t (-1 / +1 lines)
Lines 224-230 subtest 'estimated_delivery_date' => sub { Link Here
224
    $bookseller->deliverytime(2)->store;                                # 2 delivery days
224
    $bookseller->deliverytime(2)->store;                                # 2 delivery days
225
    is(
225
    is(
226
        $basket->estimated_delivery_date,
226
        $basket->estimated_delivery_date,
227
        undef, 'return undef if closedate is not defined (basket stil open)'
227
        undef, 'return undef if closedate is not defined (basket still open)'
228
    );
228
    );
229
229
230
    $bookseller->deliverytime(2)->store;                                # 2 delivery days
230
    $bookseller->deliverytime(2)->store;                                # 2 delivery days
(-)a/t/db_dependent/Koha/Charges/Fees.t (-1 / +1 lines)
Lines 364-370 subtest 'accumulate_rentalcharge tests' => sub { Link Here
364
364
365
    my $calendar = C4::Calendar->new( branchcode => $library->id );
365
    my $calendar = C4::Calendar->new( branchcode => $library->id );
366
366
367
    # DateTime 1..7 (Mon..Sun), C4::Calender 0..6 (Sun..Sat)
367
    # DateTime 1..7 (Mon..Sun), C4::Calendar 0..6 (Sun..Sat)
368
    my $closed_day =
368
    my $closed_day =
369
          ( $dt_from->day_of_week == 6 ) ? 0
369
          ( $dt_from->day_of_week == 6 ) ? 0
370
        : ( $dt_from->day_of_week == 7 ) ? 1
370
        : ( $dt_from->day_of_week == 7 ) ? 1
(-)a/t/db_dependent/Koha/EDI.t (-4 / +4 lines)
Lines 412-418 subtest 'process_quote' => sub { Link Here
412
                my $items = $order->items;
412
                my $items = $order->items;
413
                is( $items->count, 1, 'One item created for the first orderline' );
413
                is( $items->count, 1, 'One item created for the first orderline' );
414
414
415
                # Check first order GIR details
415
                # Check first order GIT details
416
                my $item = $items->next;
416
                my $item = $items->next;
417
                my $rota = $item->stockrotationitem;
417
                my $rota = $item->stockrotationitem;
418
                ok( $rota, 'Item was assigned to a rota' );
418
                ok( $rota, 'Item was assigned to a rota' );
Lines 432-438 subtest 'process_quote' => sub { Link Here
432
                my $items = $order->items;
432
                my $items = $order->items;
433
                is( $items->count, 2, 'Two items created for the second orderline' );
433
                is( $items->count, 2, 'Two items created for the second orderline' );
434
434
435
                # Check second order GIR details
435
                # Check second order GIT details
436
                my %rotas;
436
                my %rotas;
437
                while ( my $item = $items->next ) {
437
                while ( my $item = $items->next ) {
438
                    my $rota = $item->stockrotationitem;
438
                    my $rota = $item->stockrotationitem;
Lines 456-462 subtest 'process_quote' => sub { Link Here
456
                my $items = $order->items;
456
                my $items = $order->items;
457
                is( $items->count, 1, 'One item created for the third orderline' );
457
                is( $items->count, 1, 'One item created for the third orderline' );
458
458
459
                # Check first order GIR details
459
                # Check first order GIT details
460
                my $item = $items->next;
460
                my $item = $items->next;
461
                my $rota = $item->stockrotationitem;
461
                my $rota = $item->stockrotationitem;
462
                ok( !$rota, 'Item was not assigned to a rota' );
462
                ok( !$rota, 'Item was not assigned to a rota' );
Lines 551-557 subtest 'process_quote' => sub { Link Here
551
551
552
        $error = $errors->next;
552
        $error = $errors->next;
553
        ok( $error->section, 'Second error section is present' );
553
        ok( $error->section, 'Second error section is present' );
554
        is( $error->details, 'Skipped GIR line with invalid budget: LOAN', 'Second error details is correct' );
554
        is( $error->details, 'Skipped GIT line with invalid budget: LOAN', 'Second error details is correct' );
555
555
556
        $error = $errors->next;
556
        $error = $errors->next;
557
        ok( $error->section, 'Third error section is present' );
557
        ok( $error->section, 'Third error section is present' );
(-)a/t/db_dependent/Koha/Objects.t (-8 / +8 lines)
Lines 192-198 subtest 'search_related' => sub { Link Here
192
        ->search_related('branchcode');
192
        ->search_related('branchcode');
193
    is(
193
    is(
194
        ref($libraries), 'Koha::Libraries',
194
        ref($libraries), 'Koha::Libraries',
195
        'Koha::Objects->search_related should return an instanciated Koha::Objects-based object'
195
        'Koha::Objects->search_related should return an instantiated Koha::Objects-based object'
196
    );
196
    );
197
    is(
197
    is(
198
        $libraries->count, 2,
198
        $libraries->count, 2,
Lines 517-523 subtest 'Return same values as DBIx::Class' => sub { Link Here
517
                    !defined $e_us && !defined $e_them,
517
                    !defined $e_us && !defined $e_them,
518
                    'Successful delete should not raise an exception'
518
                    'Successful delete should not raise an exception'
519
                );
519
                );
520
                is( ref($r_us), 'Koha::City', 'Successful delete should return our Koha::Obect based object' );
520
                is( ref($r_us), 'Koha::City', 'Successful delete should return our Koha::Object based object' );
521
521
522
                # CASE 2 - Delete an object that is not in storage
522
                # CASE 2 - Delete an object that is not in storage
523
                try { $r_us   = $r_us->delete; } catch   { $e_us   = $_ };
523
                try { $r_us   = $r_us->delete; } catch   { $e_us   = $_ };
Lines 527-533 subtest 'Return same values as DBIx::Class' => sub { Link Here
527
                    'Delete an object that is not in storage should raise an exception'
527
                    'Delete an object that is not in storage should raise an exception'
528
                );
528
                );
529
                is( ref($e_us), 'DBIx::Class::Exception' )
529
                is( ref($e_us), 'DBIx::Class::Exception' )
530
                    ;    # FIXME This needs adjustement, we want to throw a Koha::Exception
530
                    ;    # FIXME This needs adjustment, we want to throw a Koha::Exception
531
531
532
            };
532
            };
533
533
Lines 646-652 subtest 'Return same values as DBIx::Class' => sub { Link Here
646
                );
646
                );
647
                is(
647
                is(
648
                    ref($r_us), 'Koha::Patron',
648
                    ref($r_us), 'Koha::Patron',
649
                    'Successful delete should return our Koha::Obect based object'
649
                    'Successful delete should return our Koha::Object based object'
650
                );
650
                );
651
651
652
                # CASE 2 - Delete a patron that is not in storage
652
                # CASE 2 - Delete a patron that is not in storage
Lines 657-663 subtest 'Return same values as DBIx::Class' => sub { Link Here
657
                    'Delete a patron that is not in storage should raise an exception'
657
                    'Delete a patron that is not in storage should raise an exception'
658
                );
658
                );
659
                is( ref($e_us), 'DBIx::Class::Exception' )
659
                is( ref($e_us), 'DBIx::Class::Exception' )
660
                    ;    # FIXME This needs adjustement, we want to throw a Koha::Exception
660
                    ;    # FIXME This needs adjustment, we want to throw a Koha::Exception
661
661
662
                # CASE 3 - Delete a patron that cannot be deleted (as a checkout)
662
                # CASE 3 - Delete a patron that cannot be deleted (as a checkout)
663
                $patron = Koha::Patron->new($patron_data)->store;
663
                $patron = Koha::Patron->new($patron_data)->store;
Lines 675-681 subtest 'Return same values as DBIx::Class' => sub { Link Here
675
                    'Delete a patron that cannot be deleted should raise an exception'
675
                    'Delete a patron that cannot be deleted should raise an exception'
676
                );
676
                );
677
                is( ref($e_us), 'DBIx::Class::Exception' )
677
                is( ref($e_us), 'DBIx::Class::Exception' )
678
                    ;    # FIXME This needs adjustement, we want to throw a Koha::Exception
678
                    ;    # FIXME This needs adjustment, we want to throw a Koha::Exception
679
            };
679
            };
680
680
681
            subtest 'Koha::Objects->delete' => sub {
681
            subtest 'Koha::Objects->delete' => sub {
Lines 870-876 subtest 'Return same values as DBIx::Class' => sub { Link Here
870
                    !defined $e_us && !defined $e_them,
870
                    !defined $e_us && !defined $e_them,
871
                    'Successful update should not raise an exception'
871
                    'Successful update should not raise an exception'
872
                );
872
                );
873
                is( ref($r_us), 'Koha::City', 'Successful update should return our Koha::Obect based object' );
873
                is( ref($r_us), 'Koha::City', 'Successful update should return our Koha::Object based object' );
874
874
875
                # CASE 2 - Update an object that is not in storage
875
                # CASE 2 - Update an object that is not in storage
876
                $c_us->delete;
876
                $c_us->delete;
Lines 1007-1013 subtest 'Return same values as DBIx::Class' => sub { Link Here
1007
                );
1007
                );
1008
                is(
1008
                is(
1009
                    ref($r_us), 'Koha::Patron',
1009
                    ref($r_us), 'Koha::Patron',
1010
                    'Successful update should return our Koha::Obect based object'
1010
                    'Successful update should return our Koha::Object based object'
1011
                );
1011
                );
1012
1012
1013
                # CASE 2 - Update a patron that is not in storage
1013
                # CASE 2 - Update a patron that is not in storage
(-)a/t/db_dependent/Koha/Objects/Mixin/AdditionalFields.t (-1 / +1 lines)
Lines 75-81 is_deeply( Link Here
75
    [
75
    [
76
        map {
76
        map {
77
            {
77
            {
78
                # We are bascially removing the 'id' field here
78
                # We are basically removing the 'id' field here
79
                field_id  => $_->{field_id},
79
                field_id  => $_->{field_id},
80
                record_id => $_->{record_id},
80
                record_id => $_->{record_id},
81
                value     => $_->{value},
81
                value     => $_->{value},
(-)a/t/db_dependent/Koha/Patrons.t (-2 / +2 lines)
Lines 2397-2403 subtest '->set_password' => sub { Link Here
2397
2397
2398
    # Refresh patron from DB, just to make sure
2398
    # Refresh patron from DB, just to make sure
2399
    $patron->discard_changes;
2399
    $patron->discard_changes;
2400
    is( $patron->login_attempts, 3, 'Previous tests kept login attemps count' );
2400
    is( $patron->login_attempts, 3, 'Previous tests kept login attempts count' );
2401
2401
2402
    $patron->set_password( { password => 'abcD12 34' } );
2402
    $patron->set_password( { password => 'abcD12 34' } );
2403
    $patron->discard_changes;
2403
    $patron->discard_changes;
Lines 2416-2422 subtest '->set_password' => sub { Link Here
2416
2416
2417
    isnt( $patron->password, $old_digest, 'Password has been updated' );
2417
    isnt( $patron->password, $old_digest, 'Password has been updated' );
2418
    ok( checkpw_hash( 'abcd   a', $patron->password ), 'Password hash is correct' );
2418
    ok( checkpw_hash( 'abcd   a', $patron->password ), 'Password hash is correct' );
2419
    is( $patron->login_attempts, 0, 'Login attemps have been reset' );
2419
    is( $patron->login_attempts, 0, 'Login attempts have been reset' );
2420
2420
2421
    my $number_of_logs = $schema->resultset('ActionLog')
2421
    my $number_of_logs = $schema->resultset('ActionLog')
2422
        ->search( { module => 'MEMBERS', action => 'CHANGE PASS', object => $patron->borrowernumber } )->count;
2422
        ->search( { module => 'MEMBERS', action => 'CHANGE PASS', object => $patron->borrowernumber } )->count;
(-)a/t/db_dependent/Koha/Patrons/Import.t (-1 / +1 lines)
Lines 682-688 is( $result_6->{overwritten}, 0, 'Got the expected 0 overwritten result from imp Link Here
682
682
683
# Given ... 2 new inputs. One without dateofbirth, dateenrolled and dateexpiry values.
683
# Given ... 2 new inputs. One without dateofbirth, dateenrolled and dateexpiry values.
684
my $input_complete =
684
my $input_complete =
685
    '1009,Christina,Harris,Dr,Philip,CH,99,Street,Grayhawk,Baton Rouge,Dallas,Louisiana,70810,United States,pharris9@hp.com,9-(317)603-5513,7-(005)062-7593,8-(349)134-1627,06/19/1969,IPT,PT,04/09/2015,07/01/2015,pharris9,NcAhcvvnB';
685
    '1009,Christina,Harris,Dr,Philip,CH,99,Street,Grayhawk,Baton Rogue,Dallas,Louisiana,70810,United States,pharris9@hp.com,9-(317)603-5513,7-(005)062-7593,8-(349)134-1627,06/19/1969,IPT,PT,04/09/2015,07/01/2015,pharris9,NcAhcvvnB';
686
my $input_no_date =
686
my $input_no_date =
687
    '1010,Ralph,Warren,Ms,Linda,RW,6,Way,Barby,Orlando,Albany,Florida,32803,United States,lwarrena@multiply.com,7-(579)753-7752,6-(847)086-7566,9-(122)729-8226,26/01/2001,LPL,T,25/01/2001,24/01/2001,lwarrena,tJ56RD4uV';
687
    '1010,Ralph,Warren,Ms,Linda,RW,6,Way,Barby,Orlando,Albany,Florida,32803,United States,lwarrena@multiply.com,7-(579)753-7752,6-(847)086-7566,9-(122)729-8226,26/01/2001,LPL,T,25/01/2001,24/01/2001,lwarrena,tJ56RD4uV';
688
688
(-)a/t/db_dependent/Koha/Plugins/KitchenSink.t (-1 / +1 lines)
Lines 27-33 use t::lib::Mocks; Link Here
27
use C4::Context;
27
use C4::Context;
28
use Koha::Database;
28
use Koha::Database;
29
use Koha::Plugins;
29
use Koha::Plugins;
30
use Koha::Plugins::Datas;
30
use Koha::Plugins::Data;
31
use Koha::Plugins::Handler;
31
use Koha::Plugins::Handler;
32
use Koha::Plugins::Methods;
32
use Koha::Plugins::Methods;
33
33
(-)a/t/db_dependent/Koha/Plugins/Plugins.t (-1 / +1 lines)
Lines 30-36 use Test::Warn; Link Here
30
use C4::Context;
30
use C4::Context;
31
use Koha::Cache::Memory::Lite;
31
use Koha::Cache::Memory::Lite;
32
use Koha::Database;
32
use Koha::Database;
33
use Koha::Plugins::Datas;
33
use Koha::Plugins::Data;
34
use Koha::Plugins::Methods;
34
use Koha::Plugins::Methods;
35
35
36
use t::lib::Mocks;
36
use t::lib::Mocks;
(-)a/t/db_dependent/Koha/REST/Plugin/Objects.t (-1 / +1 lines)
Lines 262-268 subtest 'objects.search helper, sorting on mapped column' => sub { Link Here
262
        ->json_is( '/2/country' => 'Belarus' )->json_is( '/3/name' => 'C' )->json_is( '/3/country' => 'Argentina' )
262
        ->json_is( '/2/country' => 'Belarus' )->json_is( '/3/name' => 'C' )->json_is( '/3/country' => 'Argentina' )
263
        ->json_hasnt('/4');
263
        ->json_hasnt('/4');
264
264
265
    # Multi-param: PHP Style, Passes validation as above, subsequntly explodes
265
    # Multi-param: PHP Style, Passes validation as above, subsequently explodes
266
    $t->get_ok('/cities?_order_by[]=%2Bname&_order_by[]=-country')->status_is(200)->json_has('/0')->json_has('/1')
266
    $t->get_ok('/cities?_order_by[]=%2Bname&_order_by[]=-country')->status_is(200)->json_has('/0')->json_has('/1')
267
        ->json_is( '/0/name' => 'A' )->json_is( '/1/name' => 'B' )->json_is( '/2/name' => 'C' )
267
        ->json_is( '/0/name' => 'A' )->json_is( '/1/name' => 'B' )->json_is( '/2/name' => 'C' )
268
        ->json_is( '/2/country' => 'Belarus' )->json_is( '/3/name' => 'C' )->json_is( '/3/country' => 'Argentina' )
268
        ->json_is( '/2/country' => 'Belarus' )->json_is( '/3/name' => 'C' )->json_is( '/3/country' => 'Argentina' )
(-)a/t/db_dependent/Koha/Reviews.t (-1 / +1 lines)
Lines 58-64 my $new_review_2_1 = Koha::Review->new( Link Here
58
    {
58
    {
59
        borrowernumber => $patron_2->borrowernumber,
59
        borrowernumber => $patron_2->borrowernumber,
60
        biblionumber   => $biblio_1->biblionumber,
60
        biblionumber   => $biblio_1->biblionumber,
61
        review         => 'just anoter review',
61
        review         => 'just another review',
62
    }
62
    }
63
)->store;
63
)->store;
64
64
(-)a/t/db_dependent/Koha/Subscription/Routinglists.t (-1 / +1 lines)
Lines 8-14 Link Here
8
# (at your option) any later version.
8
# (at your option) any later version.
9
#
9
#
10
# Koha is distributed in the hope that it will be useful, but
10
# Koha is distributed in the hope that it will be useful, but
11
# WIT HOUT ANY WARRANTY; without even the implied warranty of
11
# WITH HOUT ANY WARRANTY; without even the implied warranty of
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13
# GNU General Public License for more details.
13
# GNU General Public License for more details.
14
#
14
#
(-)a/t/db_dependent/Koha/Template/Plugin/Koha.t (-1 / +1 lines)
Lines 49-55 subtest 'GenerateCSRF() tests' => sub { Link Here
49
    $schema->storage->txn_rollback;
49
    $schema->storage->txn_rollback;
50
};
50
};
51
51
52
subtest 'GenerateCSRF - New CSRF token generated everytime we need one' => sub {
52
subtest 'GenerateCSRF - New CSRF token generated every time we need one' => sub {
53
    plan tests => 2;
53
    plan tests => 2;
54
54
55
    $schema->storage->txn_begin;
55
    $schema->storage->txn_begin;
(-)a/t/db_dependent/LDAP/test_ldap_add.pl (-1 / +1 lines)
Lines 66-72 sub ldap_search { Link Here
66
    $query->code and die sprintf 'error (code:%s) - %s', $query->code, $query->error;
66
    $query->code and die sprintf 'error (code:%s) - %s', $query->code, $query->error;
67
    my $size = scalar( $query->entries );
67
    my $size = scalar( $query->entries );
68
    my $i    = 5;
68
    my $i    = 5;
69
    print "\nNumber of records returned from search: $size.\n";
69
    print "\number of records returned from search: $size.\n";
70
    ( $size > $i ) and print "Displaying the last $i records.\n\n";
70
    ( $size > $i ) and print "Displaying the last $i records.\n\n";
71
    foreach ( $query->entries ) {
71
    foreach ( $query->entries ) {
72
        ( $size-- > $i ) and next;
72
        ( $size-- > $i ) and next;
(-)a/t/db_dependent/Languages.t (-1 / +1 lines)
Lines 26-32 my $schema = Koha::Database->new->schema; Link Here
26
$schema->storage->txn_begin;
26
$schema->storage->txn_begin;
27
my $dbh = C4::Context->dbh;
27
my $dbh = C4::Context->dbh;
28
28
29
isnt( C4::Languages::_get_themes(), undef, 'testing _get_themes doesnt return undef' );
29
isnt( C4::Languages::_get_themes(), undef, 'testing _get_themes FIXME CODESPELL (doesnt ==> doesn't, does not) return undef' );
30
30
31
ok( C4::Languages::_get_language_dirs(), 'test getting _get_language_dirs' );
31
ok( C4::Languages::_get_language_dirs(), 'test getting _get_language_dirs' );
32
32
(-)a/t/db_dependent/Letters.t (-2 / +2 lines)
Lines 224-230 isnt( Link Here
224
    $messages->[0]->{updated_on}, $messages->[0]->{time_queued},
224
    $messages->[0]->{updated_on}, $messages->[0]->{time_queued},
225
    'Time status changed differs from time queued when status changes'
225
    'Time status changed differs from time queued when status changes'
226
);
226
);
227
is( dt_from_string( $messages->[0]->{time_queued} ), $yesterday, 'Time queued remaines inmutable' );
227
is( dt_from_string( $messages->[0]->{time_queued} ), $yesterday, 'Time queued FIXME CODESPELL (remaines ==> remains, remained) inmutable' );
228
228
229
# ResendMessage
229
# ResendMessage
230
my $resent = C4::Letters::ResendMessage( $messages->[0]->{message_id} );
230
my $resent = C4::Letters::ResendMessage( $messages->[0]->{message_id} );
Lines 1159-1165 subtest 'Test SMS handling in SendQueuedMessages' => sub { Link Here
1159
    my $sms_pro =
1159
    my $sms_pro =
1160
        $builder->build_object( { class => 'Koha::SMS::Providers', value => { domain => 'kidclamp.rocks' } } );
1160
        $builder->build_object( { class => 'Koha::SMS::Providers', value => { domain => 'kidclamp.rocks' } } );
1161
    $patron->set( { smsalertnumber => '5555555555', sms_provider_id => $sms_pro->id() } )->store;
1161
    $patron->set( { smsalertnumber => '5555555555', sms_provider_id => $sms_pro->id() } )->store;
1162
    $message_id = C4::Letters::EnqueueLetter($my_message);    #using datas set around line 95 and forward
1162
    $message_id = C4::Letters::EnqueueLetter($my_message);    #using data set around line 95 and forward
1163
1163
1164
    warning_like { C4::Letters::SendQueuedMessages(); }
1164
    warning_like { C4::Letters::SendQueuedMessages(); }
1165
    qr|Fake send_or_die|,
1165
    qr|Fake send_or_die|,
(-)a/t/db_dependent/MarcModificationTemplates.t (-4 / +4 lines)
Lines 439-448 is( Link Here
439
        '245',        '',             '', '', '',
439
        '245',        '',             '', '', '',
440
        '',           '',             '',
440
        '',           '',             '',
441
        'if',         '245',          'a', 'equals', '^Bad title', '1',
441
        'if',         '245',          'a', 'equals', '^Bad title', '1',
442
        'Delete first 245$a mathing ^Bad title'
442
        'Delete first 245$a matching ^Bad title'
443
    ),
443
    ),
444
    1,
444
    1,
445
    'Delete first 245$a mathing ^Bad title'
445
    'Delete first 245$a matching ^Bad title'
446
);
446
);
447
447
448
$record = new_record();
448
$record = new_record();
Lines 470-479 is( Link Here
470
        '245',        '',             '', '', '',
470
        '245',        '',             '', '', '',
471
        '',           '',             '',
471
        '',           '',             '',
472
        'if',         '245',          'a', 'equals', 'updated$', '1',
472
        'if',         '245',          'a', 'equals', 'updated$', '1',
473
        'Delete first 245$a mathing updated$'
473
        'Delete first 245$a matching updated$'
474
    ),
474
    ),
475
    1,
475
    1,
476
    'Delete first 245$a mathing updated$'
476
    'Delete first 245$a matching updated$'
477
);
477
);
478
478
479
$record = new_record();
479
$record = new_record();
(-)a/t/db_dependent/Matcher.t (-1 / +1 lines)
Lines 59-65 subtest 'GetMatcherList' => sub { Link Here
59
    ok( $testmatcher = C4::Matcher->new( 'blue', 0 ), 'testing matcher new' );
59
    ok( $testmatcher = C4::Matcher->new( 'blue', 0 ), 'testing matcher new' );
60
60
61
    $testmatcher->threshold(1000);
61
    $testmatcher->threshold(1000);
62
    is( $testmatcher->threshold(), 1000, 'testing threshhold accessor method' );
62
    is( $testmatcher->threshold(), 1000, 'testing threshold accessor method' );
63
63
64
    $testmatcher->_id(53);
64
    $testmatcher->_id(53);
65
    is( $testmatcher->_id(), 53, 'testing _id accessor' );
65
    is( $testmatcher->_id(), 53, 'testing _id accessor' );
(-)a/t/db_dependent/Patron/Borrower_PrevCheckout.t (-1 / +1 lines)
Lines 361-367 test_it( $cpvPmappings, "PostReturn" ); Link Here
361
# We have already tested ->wants_check_for_previous_checkout and
361
# We have already tested ->wants_check_for_previous_checkout and
362
# ->do_check_for_previous_checkout, so all that remains to be tested is
362
# ->do_check_for_previous_checkout, so all that remains to be tested is
363
# whetherthe different combinational outcomes of the above return values in
363
# whetherthe different combinational outcomes of the above return values in
364
# CanBookBeIssued result in the approriate $needsconfirmation.
364
# CanBookBeIssued result in the appropriate $needsconfirmation.
365
365
366
# We want to test:
366
# We want to test:
367
# - DESCRIPTION [RETURNVALUE (0/1)]
367
# - DESCRIPTION [RETURNVALUE (0/1)]
(-)a/t/db_dependent/Prices.t (-2 / +2 lines)
Lines 510-520 subtest 'Tests from t' => sub { Link Here
510
        t::lib::Mocks::mock_preference( 'CurrencyFormat', $currency_format );
510
        t::lib::Mocks::mock_preference( 'CurrencyFormat', $currency_format );
511
        is(
511
        is(
512
            Koha::Number::Price->new(1234567)->format_for_editing, '1234567.00',
512
            Koha::Number::Price->new(1234567)->format_for_editing, '1234567.00',
513
            'format_for_editing should return unformated integer part with 2 decimals'
513
            'format_for_editing should return unformatted integer part with 2 decimals'
514
        );
514
        );
515
        is(
515
        is(
516
            Koha::Number::Price->new(1234567.89)->format_for_editing, '1234567.89',
516
            Koha::Number::Price->new(1234567.89)->format_for_editing, '1234567.89',
517
            'format_for_editing should return unformated integer part with 2 decimals'
517
            'format_for_editing should return unformatted integer part with 2 decimals'
518
        );
518
        );
519
    }
519
    }
520
};
520
};
(-)a/t/db_dependent/Reports.t (-1 / +1 lines)
Lines 12-16 BEGIN { Link Here
12
    use_ok( 'C4::Reports', qw( GetDelimiterChoices ) );
12
    use_ok( 'C4::Reports', qw( GetDelimiterChoices ) );
13
}
13
}
14
14
15
ok( GetDelimiterChoices(), "Testing getting delimeter choices" )
15
ok( GetDelimiterChoices(), "Testing getting delimiter choices" )
16
    ;    #Not testing the value of the output just that it returns something.
16
    ;    #Not testing the value of the output just that it returns something.
(-)a/t/db_dependent/Reserves.t (-1 / +1 lines)
Lines 228-234 $itemnum_fpl = $builder->build_sample_item( Link Here
228
    }
228
    }
229
)->itemnumber;
229
)->itemnumber;
230
230
231
# Ensure that priorities are numbered correcly when a hold is moved to waiting
231
# Ensure that priorities are numbered correctly when a hold is moved to waiting
232
# (bug 11947)
232
# (bug 11947)
233
$dbh->do( "DELETE FROM reserves WHERE biblionumber=?", undef, ($bibnum2) );
233
$dbh->do( "DELETE FROM reserves WHERE biblionumber=?", undef, ($bibnum2) );
234
AddReserve(
234
AddReserve(
(-)a/t/db_dependent/RotatingCollections.t (-3 / +3 lines)
Lines 163-175 my @collection1 = GetCollection($collection_id1); Link Here
163
is_deeply(
163
is_deeply(
164
    \@collection1,
164
    \@collection1,
165
    [ $collection_id1, 'Collection1', 'Description1', undef ],
165
    [ $collection_id1, 'Collection1', 'Description1', undef ],
166
    "Collection1's informations"
166
    "Collection1's information"
167
);
167
);
168
my @collection2 = GetCollection($collection_id2);
168
my @collection2 = GetCollection($collection_id2);
169
is_deeply(
169
is_deeply(
170
    \@collection2,
170
    \@collection2,
171
    [ $collection_id2, 'Collection2 modified', 'Description2 modified', undef ],
171
    [ $collection_id2, 'Collection2 modified', 'Description2 modified', undef ],
172
    "Collection2's informations"
172
    "Collection2's information"
173
);
173
);
174
my @undef_collection = GetCollection();
174
my @undef_collection = GetCollection();
175
is_deeply(
175
is_deeply(
Lines 206-212 Koha::Library->new($samplebranch)->store; Link Here
206
my ( $transferred, $messages ) = TransferCollection( $collection_id1, $samplebranch->{branchcode} );
206
my ( $transferred, $messages ) = TransferCollection( $collection_id1, $samplebranch->{branchcode} );
207
is(
207
is(
208
    $transferred,
208
    $transferred,
209
    1, "Collection1 has been transfered in the branch SAB"
209
    1, "Collection1 has been transferred in the branch SAB"
210
);
210
);
211
@collection1 = GetCollection($collection_id1);
211
@collection1 = GetCollection($collection_id1);
212
is_deeply(
212
is_deeply(
(-)a/t/db_dependent/SIP/SIPServer.t (-1 / +1 lines)
Lines 1-7 Link Here
1
#!/usr/bin/perl
1
#!/usr/bin/perl
2
2
3
# This test is db dependent: SIPServer needs MsgType which needs Auth.
3
# This test is db dependent: SIPServer needs MsgType which needs Auth.
4
# And Auth needs config vars and prefences in its BEGIN block.
4
# And Auth needs config vars and preferences in its BEGIN block.
5
5
6
# This file is part of Koha.
6
# This file is part of Koha.
7
#
7
#
(-)a/t/db_dependent/Search.t (-2 / +2 lines)
Lines 1155-1166 sub run_unimarc_search_tests { Link Here
1155
        ['mainentry'], ['and'], [''], ['contains'],
1155
        ['mainentry'], ['and'], [''], ['contains'],
1156
        ['wil'], 0, 10, '', '', 1
1156
        ['wil'], 0, 10, '', '', 1
1157
    );
1157
    );
1158
    is( $count, 11, 'UNIMARC authorities: hits on mainentry contains "wil"' );
1158
    is( $count, 11, 'UNIMARC authorities: hits on mainentry contains "FIXME CODESPELL (wil ==> will, well)"' );
1159
    ( $auths, $count ) = SearchAuthorities(
1159
    ( $auths, $count ) = SearchAuthorities(
1160
        ['match'], ['and'], [''], ['contains'],
1160
        ['match'], ['and'], [''], ['contains'],
1161
        ['wil'],   0, 10, '', '', 1
1161
        ['wil'],   0, 10, '', '', 1
1162
    );
1162
    );
1163
    is( $count, 11, 'UNIMARC authorities: hits on match contains "wil"' );
1163
    is( $count, 11, 'UNIMARC authorities: hits on match contains "FIXME CODESPELL (wil ==> will, well)"' );
1164
    ( $auths, $count ) = SearchAuthorities(
1164
    ( $auths, $count ) = SearchAuthorities(
1165
        ['mainentry'], ['and'], [''], ['contains'],
1165
        ['mainentry'], ['and'], [''], ['contains'],
1166
        ['michel'],    0, 20, '', '', 1
1166
        ['michel'],    0, 20, '', '', 1
(-)a/t/db_dependent/Serials.t (-3 / +3 lines)
Lines 403-409 subtest 'GetSubscriptionsFromBiblionumber' => sub { Link Here
403
is( C4::Serials::GetSerials(),  undef, 'test getting serials when you enter nothing' );
403
is( C4::Serials::GetSerials(),  undef, 'test getting serials when you enter nothing' );
404
is( C4::Serials::GetSerials2(), undef, 'test getting serials when you enter nothing' );
404
is( C4::Serials::GetSerials2(), undef, 'test getting serials when you enter nothing' );
405
405
406
is( C4::Serials::GetLatestSerials(), undef, 'test getting lastest serials' );
406
is( C4::Serials::GetLatestSerials(), undef, 'test getting FIXME CODESPELL (lastest ==> latest, last) serials' );
407
407
408
is( C4::Serials::GetNextSeq(), undef, 'test getting next seq when you enter nothing' );
408
is( C4::Serials::GetNextSeq(), undef, 'test getting next seq when you enter nothing' );
409
409
Lines 617-623 subtest "Do not generate an expected if one already exists" => sub { Link Here
617
        $publisheddate, $publisheddate, '1', 'an useless note'
617
        $publisheddate, $publisheddate, '1', 'an useless note'
618
    );
618
    );
619
    @serialsByStatus = C4::Serials::findSerialsByStatus( 1, $subscriptionid );
619
    @serialsByStatus = C4::Serials::findSerialsByStatus( 1, $subscriptionid );
620
    is( @serialsByStatus, 1, "ModSerialStatus delete corectly serial expected and create another if not exist" );
620
    is( @serialsByStatus, 1, "ModSerialStatus delete correctly serial expected and create another if not exist" );
621
621
622
    # add 1 serial with status=Expected 1
622
    # add 1 serial with status=Expected 1
623
    C4::Serials::ModSerialStatus(
623
    C4::Serials::ModSerialStatus(
Lines 634-640 subtest "Do not generate an expected if one already exists" => sub { Link Here
634
634
635
    #try if create or not another serial with status is expected
635
    #try if create or not another serial with status is expected
636
    @serialsByStatus = C4::Serials::findSerialsByStatus( 1, $subscriptionid );
636
    @serialsByStatus = C4::Serials::findSerialsByStatus( 1, $subscriptionid );
637
    is( @serialsByStatus, 1, "ModSerialStatus delete corectly serial expected and not create another if exists" );
637
    is( @serialsByStatus, 1, "ModSerialStatus delete correctly serial expected and not create another if exists" );
638
};
638
};
639
639
640
subtest "PreserveSerialNotes preference" => sub {
640
subtest "PreserveSerialNotes preference" => sub {
(-)a/t/db_dependent/Serials/ReNewSubscription.t (-1 / +1 lines)
Lines 154-160 is( $monthlength, undef, "Subscription length is undef months, invalid month dat Link Here
154
( $numberlength, $weeklength, $monthlength ) = GetSubscriptionLength( 'issues', 'w' );
154
( $numberlength, $weeklength, $monthlength ) = GetSubscriptionLength( 'issues', 'w' );
155
is( $monthlength, undef, "Subscription length is undef issues, invalid issue data was not stored" );
155
is( $monthlength, undef, "Subscription length is undef issues, invalid issue data was not stored" );
156
156
157
# Check subscription length when a special character is inputted into numberic sublength field
157
# Check subscription length when a special character is inputted into numeric sublength field
158
( $numberlength, $weeklength, $monthlength ) = GetSubscriptionLength( 'weeks', '!' );
158
( $numberlength, $weeklength, $monthlength ) = GetSubscriptionLength( 'weeks', '!' );
159
is( $weeklength, undef, "Subscription length is undef weeks, invalid weeks data was not stored" );
159
is( $weeklength, undef, "Subscription length is undef weeks, invalid weeks data was not stored" );
160
160
(-)a/t/db_dependent/Sitemapper.t (-2 / +2 lines)
Lines 51-57 subtest 'Sitemapper' => sub { Link Here
51
51
52
    my $dir = C4::Context::temporary_directory;
52
    my $dir = C4::Context::temporary_directory;
53
53
54
    # Create a sitemap for a catalog containg 2 biblios, with option 'long url'
54
    # Create a sitemap for a catalog containing 2 biblios, with option 'long url'
55
    my $sitemapper = Koha::Sitemapper->new(
55
    my $sitemapper = Koha::Sitemapper->new(
56
        verbose => 0,
56
        verbose => 0,
57
        url     => 'http://www.mylibrary.org',
57
        url     => 'http://www.mylibrary.org',
Lines 95-101 EOS Link Here
95
EOS
95
EOS
96
    is( $file_content, $expected_content, 'Its content is valid' );
96
    is( $file_content, $expected_content, 'Its content is valid' );
97
97
98
    # Create a sitemap for a catalog containg 2 biblios, with option 'short url'.
98
    # Create a sitemap for a catalog containing 2 biblios, with option 'short url'.
99
    # Test that 2 files are created.
99
    # Test that 2 files are created.
100
    $sitemapper = Koha::Sitemapper->new(
100
    $sitemapper = Koha::Sitemapper->new(
101
        verbose => 0,
101
        verbose => 0,
(-)a/t/db_dependent/TestBuilder.t (-1 / +1 lines)
Lines 568-574 subtest '->build parameter' => sub { Link Here
568
    warnings_like {
568
    warnings_like {
569
        $builder->build( { source => 'Borrower', categorycode => 'foobar' } );
569
        $builder->build( { source => 'Borrower', categorycode => 'foobar' } );
570
    }
570
    }
571
    qr{Unknown parameter\(s\): categorycode}, "Unkown parameter detected";
571
    qr{Unknown parameter\(s\): categorycode}, "Unknown parameter detected";
572
572
573
    $schema->storage->txn_rollback;
573
    $schema->storage->txn_rollback;
574
};
574
};
(-)a/t/db_dependent/Utils/Datatables_Virtualshelves.t (-2 / +2 lines)
Lines 187-193 t::lib::Mocks::mock_userenv( { patron => $john_doe_patron } ); Link Here
187
# Search private lists by title
187
# Search private lists by title
188
$search_results = C4::Utils::DataTables::VirtualShelves::search(
188
$search_results = C4::Utils::DataTables::VirtualShelves::search(
189
    {
189
    {
190
        shelfname => "ist",
190
        shelfname => "FIXME CODESPELL (ist ==> is, it, its, it's, sit, list)",
191
        %dt_params,
191
        %dt_params,
192
        public => 0,
192
        public => 0,
193
    }
193
    }
Lines 200-206 is( Link Here
200
200
201
is(
201
is(
202
    $search_results->{recordsFiltered}, 2,
202
    $search_results->{recordsFiltered}, 2,
203
    "There should be 2 private shelves with title like '%ist%"
203
    "There should be 2 private shelves with title like '%FIXME CODESPELL (ist ==> is, it, its, it's, sit, list)%"
204
);
204
);
205
205
206
is(
206
is(
(-)a/t/db_dependent/selenium/basic_workflow.t (-1 / +1 lines)
Lines 280-286 SKIP: { Link Here
280
    $driver->get( $base_url . "/reserve/request.pl?borrowernumber=$borrowernumber&biblionumber=" . $biblionumbers[0] );
280
    $driver->get( $base_url . "/reserve/request.pl?borrowernumber=$borrowernumber&biblionumber=" . $biblionumbers[0] );
281
    $driver->find_element('//form[@id="hold-request-form"]//button[@type="submit"]')->click;    # Biblio level
281
    $driver->find_element('//form[@id="hold-request-form"]//button[@type="submit"]')->click;    # Biblio level
282
    $driver->pause(1000)
282
    $driver->pause(1000)
283
        ; # This seems wrong, since bug 19618 the hold is created async with an AJAX call. Not sure what is happening here but the next statements are exectuted before the hold is created and the count is wrong (still 0)
283
        ; # This seems wrong, since bug 19618 the hold is created async with an AJAX call. Not sure what is happening here but the next statements are executed before the hold is created and the count is wrong (still 0)
284
    my $patron = Koha::Patrons->find($borrowernumber);
284
    my $patron = Koha::Patrons->find($borrowernumber);
285
    is( $patron->holds->count, 1, );
285
    is( $patron->holds->count, 1, );
286
286
(-)a/t/mock_templates/intranet-tmpl/prog/en/modules/about.tt (-5 / +5 lines)
Lines 252-260 Link Here
252
        [% WRAPPER tab_panel tabname= "perl" bt_active = 1 %]
252
        [% WRAPPER tab_panel tabname= "perl" bt_active = 1 %]
253
            <table style="cursor:pointer">
253
            <table style="cursor:pointer">
254
                <caption>Perl modules</caption>
254
                <caption>Perl modules</caption>
255
                [% FOREACH tabl IN table %]
255
                [% FOREACH table IN tablee %]
256
                    <tr>
256
                    <tr>
257
                        [% FOREACH ro IN tabl.row %]
257
                        [% FOREACH ro IN table.row %]
258
                            [% IF ( ro.require ) %]
258
                            [% IF ( ro.require ) %]
259
                                [% SET th_font_weight = "bold" %]
259
                                [% SET th_font_weight = "bold" %]
260
                            [% ELSE %]
260
                            [% ELSE %]
Lines 293-299 Link Here
293
                            [% END %]
293
                            [% END %]
294
                        [% END # /FOREACH ro %]
294
                        [% END # /FOREACH ro %]
295
                    </tr>
295
                    </tr>
296
                [% END # /FOREACH tabl %]
296
                [% END # /FOREACH table %]
297
            </table>
297
            </table>
298
        [% END # tab=perl %]
298
        [% END # tab=perl %]
299
    [% END %]
299
    [% END %]
Lines 1186-1194 Link Here
1186
                            <td style="font-weight:bold;">Description</td>
1186
                            <td style="font-weight:bold;">Description</td>
1187
                        </tr>
1187
                        </tr>
1188
                    </thead>
1188
                    </thead>
1189
                    [% FOREACH tabl IN table2 %]
1189
                    [% FOREACH table IN tablee2 %]
1190
                        <tr class="[% loop.parity | html %]">
1190
                        <tr class="[% loop.parity | html %]">
1191
                            [% FOREACH ro IN tabl.row2 %]
1191
                            [% FOREACH ro IN table.row2 %]
1192
                                <td>[% ro.date | html %]</td>
1192
                                <td>[% ro.date | html %]</td>
1193
                                <td>[% ro.desc | html %]</td>
1193
                                <td>[% ro.desc | html %]</td>
1194
                            [% END %]
1194
                            [% END %]
(-)a/t/mock_templates/intranet-tmpl/prog/fr-CA/modules/about.tt (-5 / +5 lines)
Lines 252-260 Link Here
252
        [% WRAPPER tab_panel tabname= "perl" bt_active = 1 %]
252
        [% WRAPPER tab_panel tabname= "perl" bt_active = 1 %]
253
            <table style="cursor:pointer">
253
            <table style="cursor:pointer">
254
                <caption>Perl modules</caption>
254
                <caption>Perl modules</caption>
255
                [% FOREACH tabl IN table %]
255
                [% FOREACH table IN tablee %]
256
                    <tr>
256
                    <tr>
257
                        [% FOREACH ro IN tabl.row %]
257
                        [% FOREACH ro IN table.row %]
258
                            [% IF ( ro.require ) %]
258
                            [% IF ( ro.require ) %]
259
                                [% SET th_font_weight = "bold" %]
259
                                [% SET th_font_weight = "bold" %]
260
                            [% ELSE %]
260
                            [% ELSE %]
Lines 293-299 Link Here
293
                            [% END %]
293
                            [% END %]
294
                        [% END # /FOREACH ro %]
294
                        [% END # /FOREACH ro %]
295
                    </tr>
295
                    </tr>
296
                [% END # /FOREACH tabl %]
296
                [% END # /FOREACH table %]
297
            </table>
297
            </table>
298
        [% END # tab=perl %]
298
        [% END # tab=perl %]
299
    [% END %]
299
    [% END %]
Lines 1192-1200 Link Here
1192
                            <td style="font-weight:bold;">Description</td>
1192
                            <td style="font-weight:bold;">Description</td>
1193
                        </tr>
1193
                        </tr>
1194
                    </thead>
1194
                    </thead>
1195
                    [% FOREACH tabl IN table2 %]
1195
                    [% FOREACH table IN tablee2 %]
1196
                        <tr class="[% loop.parity | html %]">
1196
                        <tr class="[% loop.parity | html %]">
1197
                            [% FOREACH ro IN tabl.row2 %]
1197
                            [% FOREACH ro IN table.row2 %]
1198
                                <td>[% ro.date | html %]</td>
1198
                                <td>[% ro.date | html %]</td>
1199
                                <td>[% ro.desc | html %]</td>
1199
                                <td>[% ro.desc | html %]</td>
1200
                            [% END %]
1200
                            [% END %]
(-)a/tools/import_borrowers.pl (-1 / +1 lines)
Lines 23-29 Link Here
23
# File format
23
# File format
24
#
24
#
25
# cardnumber,surname,firstname,title,othernames,initials,streetnumber,streettype,
25
# cardnumber,surname,firstname,title,othernames,initials,streetnumber,streettype,
26
# address line , address line 2, city, zipcode, contry, email, phone, mobile, fax, work email, work phone,
26
# address line , address line 2, city, zipcode, country, email, phone, mobile, fax, work email, work phone,
27
# alternate streetnumber, alternate streettype, alternate address line 1, alternate city,
27
# alternate streetnumber, alternate streettype, alternate address line 1, alternate city,
28
# alternate zipcode, alternate country, alternate email, alternate phone, date of birth, branchcode,
28
# alternate zipcode, alternate country, alternate email, alternate phone, date of birth, branchcode,
29
# categorycode, enrollment date, expiry date, noaddress, lost, debarred, contact surname,
29
# categorycode, enrollment date, expiry date, noaddress, lost, debarred, contact surname,
(-)a/tools/modborrowers.pl (-2 / +2 lines)
Lines 61-67 if ( $logged_in_user->is_superlibrarian ) { Link Here
61
}
61
}
62
my $dbh = C4::Context->dbh;
62
my $dbh = C4::Context->dbh;
63
63
64
# Show borrower informations
64
# Show borrower information
65
if ( $op eq 'cud-show' || $op eq 'show' ) {
65
if ( $op eq 'cud-show' || $op eq 'show' ) {
66
    my @borrowers;
66
    my @borrowers;
67
    my @patronidnumbers;
67
    my @patronidnumbers;
Lines 154-160 if ( $op eq 'cud-show' || $op eq 'show' ) { Link Here
154
    my @patron_categories =
154
    my @patron_categories =
155
        Koha::Patron::Categories->search_with_library_limits( {}, { order_by => ['description'] } )->as_list;
155
        Koha::Patron::Categories->search_with_library_limits( {}, { order_by => ['description'] } )->as_list;
156
    while ( my $attr_type = $patron_attribute_types->next ) {
156
    while ( my $attr_type = $patron_attribute_types->next ) {
157
        next if $attr_type->unique_id;    # Don't display patron attributes that must be unqiue
157
        next if $attr_type->unique_id;    # Don't display patron attributes that must be unique
158
        my $options =
158
        my $options =
159
            $attr_type->authorised_value_category
159
            $attr_type->authorised_value_category
160
            ? GetAuthorisedValues( $attr_type->authorised_value_category )
160
            ? GetAuthorisedValues( $attr_type->authorised_value_category )
(-)a/tools/picture-upload.pl (-2 / +2 lines)
Lines 240-249 sub handle_dir { Link Here
240
            chomp $line;
240
            chomp $line;
241
            $logger->debug("Examining line: $line");
241
            $logger->debug("Examining line: $line");
242
            my $delim = ( $line =~ /\t/ ) ? "\t" : ( $line =~ /,/ ) ? "," : "";
242
            my $delim = ( $line =~ /\t/ ) ? "\t" : ( $line =~ /,/ ) ? "," : "";
243
            $logger->debug("Delimeter is \'$delim\'");
243
            $logger->debug("Delimiter is \'$delim\'");
244
            unless ( $delim eq "," || $delim eq "\t" ) {
244
            unless ( $delim eq "," || $delim eq "\t" ) {
245
                warn
245
                warn
246
                    "Unrecognized or missing field delimeter. Please verify that you are using either a ',' or a 'tab'";
246
                    "Unrecognized or missing field delimiter. Please verify that you are using either a ',' or a 'tab'";
247
                $direrrors{'DELERR'} = 1;
247
                $direrrors{'DELERR'} = 1;
248
248
249
                # This error is fatal to the import of this directory contents
249
                # This error is fatal to the import of this directory contents
(-)a/tools/upload-cover-image.pl (-1 / +1 lines)
Lines 172-178 if ( $op eq 'cud-process' && $fileID ) { Link Here
172
172
173
                        unless ( $delim eq "," || $delim eq "\t" ) {
173
                        unless ( $delim eq "," || $delim eq "\t" ) {
174
                            warn
174
                            warn
175
                                "Unrecognized or missing field delimeter. Please verify that you are using either a ',' or a 'tab'";
175
                                "Unrecognized or missing field delimiter. Please verify that you are using either a ',' or a 'tab'";
176
                            $error = 'DELERR';
176
                            $error = 'DELERR';
177
                            next;
177
                            next;
178
                        } else {
178
                        } else {
(-)a/xt/author/Text_CSV_Various.t (-1 / +1 lines)
Lines 14-20 Link Here
14
# You should have received a copy of the GNU General Public License along
14
# You should have received a copy of the GNU General Public License along
15
# with Koha; if not, see <http://www.gnu.org/licenses>.
15
# with Koha; if not, see <http://www.gnu.org/licenses>.
16
16
17
#This test demonstrates why Koha uses the CSV parser and configration
17
#This test demonstrates why Koha uses the CSV parser and configuration
18
#it does.  Specifically, the test is for Unicode compliance in text
18
#it does.  Specifically, the test is for Unicode compliance in text
19
#parsing and data.  This test requires other modules that Koha doesn't
19
#parsing and data.  This test requires other modules that Koha doesn't
20
#actually use, in order to compare.  Therefore, running this test is not
20
#actually use, in order to compare.  Therefore, running this test is not
(-)a/xt/author/podcorrectness.t (-2 / +1 lines)
Lines 3-9 Link Here
3
=head2 podcorrectness.t
3
=head2 podcorrectness.t
4
4
5
This test file checks all perl modules in the C4 directory for POD
5
This test file checks all perl modules in the C4 directory for POD
6
correctness. It typically finds things like pod tags withouth blank
6
correctness. It typically finds things like pod tags without blank
7
lines immediately before or after them, unknown directives, or =over,
7
lines immediately before or after them, unknown directives, or =over,
8
=item, and =back in the wrong order.
8
=item, and =back in the wrong order.
9
9
10
- 

Return to bug 39325