Bug 15962: Block the currency deletion if used
A currency should not be deleted if used by a vendor or a basket. Test plan: 1/ Add a new currency 2/ Create a vendor using this currency 3/ Create a basket using this currency 4/ Try to delete the currency 5/ Delete the basket 6/ Try to delete the currency 7/ Delete the vendor 8/ Delete the currency Signed-off-by: Owen Leonard <oleonard@myacpl.org> Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de> Signed-off-by: Brendan Gallagher brendan@bywatersolutions.com
This commit is contained in:
parent
5896770e07
commit
fdac3eecf8
3 changed files with 12 additions and 4 deletions
|
@ -31,8 +31,6 @@ sub fetch {
|
|||
sub search {
|
||||
my ( $class, $params ) = @_;
|
||||
|
||||
croak "Cannot search on other fields than aqbooksellers.name" if $params and grep { $_ !~ /^name$/ } keys %$params;
|
||||
|
||||
my $schema = Koha::Database->new->schema;
|
||||
|
||||
my $search_params;
|
||||
|
|
|
@ -25,6 +25,7 @@ use C4::Auth;
|
|||
use C4::Context;
|
||||
use C4::Output;
|
||||
|
||||
use Koha::Acquisition::Bookseller;
|
||||
use Koha::Acquisition::Currency;
|
||||
use Koha::Acquisition::Currencies;
|
||||
|
||||
|
@ -94,9 +95,11 @@ if ( $op eq 'add_form' ) {
|
|||
# TODO rewrite the following when Koha::Acquisition::Orders will use Koha::Objects
|
||||
my $schema = Koha::Database->schema;
|
||||
my $nb_of_orders = $schema->resultset('Aqorder')->search( { currency => $currency->currency } )->count;
|
||||
my $nb_of_vendors = Koha::Acquisition::Bookseller->search( { -or => { listprice => $currency->currency, invoiceprice => $currency->currency } });
|
||||
$template->param(
|
||||
currency => $currency,
|
||||
nb_of_orders => $nb_of_orders,
|
||||
nb_of_vendors => $nb_of_vendors,
|
||||
);
|
||||
} elsif ( $op eq 'delete_confirmed' ) {
|
||||
my $currency = Koha::Acquisition::Currencies->find($currency_code);
|
||||
|
|
|
@ -147,10 +147,17 @@
|
|||
[% END %]
|
||||
|
||||
[% IF op =='delete_confirm' %]
|
||||
[% IF nb_of_orders %]
|
||||
[% IF nb_of_orders or nb_of_vendors %]
|
||||
<div class="dialog alert">
|
||||
<h3>Cannot delete currency <span class="ex">'[% currency.currency %]'</span></h3>
|
||||
<p>This currency is used by [% nb_of_orders %] orders. Deletion not possible</p>
|
||||
<p>
|
||||
[% IF nb_of_orders %]
|
||||
This currency is used by [% nb_of_orders %] orders.
|
||||
[% ELSIF nb_of_vendors %]
|
||||
This currency is used by [% nb_of_vendors %] vendors.
|
||||
[% END %]
|
||||
Deletion not possible
|
||||
</p>
|
||||
<form action="/cgi-bin/koha/admin/currency.pl" method="post">
|
||||
<button type="submit" class="approve"><i class="fa fa-fw fa-check"></i> OK</button>
|
||||
</form>
|
||||
|
|
Loading…
Reference in a new issue