diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index 16a759f35d..6fb3f66e20 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -9690,6 +9690,41 @@ if(CheckVersion($DBversion)) { SetVersion($DBversion); } +$DBversion = "3.18.04.002"; +if(CheckVersion($DBversion)) { + $dbh->do(q{ + INSERT INTO authorised_values (category, authorised_value, lib) VALUES + ('ORDER_CANCELLATION_REASON', 0, 'No reason'), + ('ORDER_CANCELLATION_REASON', 1, 'Sold out'), + ('ORDER_CANCELLATION_REASON', 2, 'Restocking') + }); + + my $already_existing_reasons = $dbh->selectcol_arrayref(q{ + SELECT DISTINCT( cancellationreason ) + FROM aqorders; + }, { Slice => {} }); + + my $update_orders_sth = $dbh->prepare(q{ + UPDATE aqorders + SET cancellationreason = ? + WHERE cancellationreason = ? + }); + + my $insert_av_sth = $dbh->prepare(q{ + INSERT INTO authorised_values (category, authorised_value, lib) VALUES + ('ORDER_CANCELLATION_REASON', ?, ?) + }); + my $i = 3; + for my $reason ( @$already_existing_reasons ) { + next unless $reason; + $insert_av_sth->execute( $i, $reason ); + $update_orders_sth->execute( $i, $reason ); + $i++; + } + print "Upgrade to $DBversion done (Bug 13380: Add the ORDER_CANCELLATION_REASON authorised value)\n"; + SetVersion($DBversion); +} + =head1 FUNCTIONS =head2 TableExists($table) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt index 9cc23bd2b8..65c6ab8ae1 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basket.tt @@ -1,4 +1,6 @@ [% USE KohaDates %] +[% USE AuthorisedValues %] + [% INCLUDE 'doc-head-open.inc' %] Koha › Acquisitions › [% UNLESS ( basketno ) %]New [% END %][% IF ( delete_confirm ) %]Delete [% END %]Basket [% basketname|html %] ([% basketno %]) for [% name|html %] @@ -597,7 +599,7 @@ [% IF ( books_loo.editionstatement ) %], [% books_loo.editionstatement %][% END %] [% IF ( order.cancellationreason ) %]
- Cancellation reason: [% order.cancellationreason %] + Cancellation reason: [% AuthorisedValues.GetByCode( 'ORDER_CANCELLATION_REASON', order.cancellationreason ) %] [% END %]

[% IF order.transferred_to %] diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/cancelorder.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/cancelorder.tt index 3064a08a8f..5c07c67a1d 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/cancelorder.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/cancelorder.tt @@ -25,7 +25,7 @@ [% END %]

- + [% PROCESS 'av-build-dropbox.inc' name="reason", category="ORDER_CANCELLATION_REASON" default="0" %]