X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=acqui%2Fsupplier.pl;h=df417c09347930e64937cb8afbcdf42e8e028b03;hb=568f32606c2c9c247b2b477193a2d6814f738fa6;hp=2a4078a75eb1ca650ff8561393c46131fe9bb8d8;hpb=7aa3a055914d4c8757455898208848619f5aaec5;p=koha.git diff --git a/acqui/supplier.pl b/acqui/supplier.pl index 2a4078a75e..df417c0934 100755 --- a/acqui/supplier.pl +++ b/acqui/supplier.pl @@ -32,7 +32,7 @@ It allows to edit & save information about this bookseller. =over 4 -=item supplierid +=item booksellerid To know the bookseller this script has to display details. @@ -46,17 +46,16 @@ use C4::Auth; use C4::Contract qw/GetContract/; use C4::Biblio; use C4::Output; -use C4::Dates qw/format_date /; use CGI; use C4::Bookseller qw( GetBookSellerFromId DelBookseller ); use C4::Budgets; my $query = CGI->new; -my $id = $query->param('supplierid'); +my $booksellerid = $query->param('booksellerid'); my $supplier = {}; -if ($id) { - $supplier = GetBookSellerFromId($id); +if ($booksellerid) { + $supplier = GetBookSellerFromId($booksellerid); } my $op = $query->param('op') || 'display'; my ( $template, $loggedinuser, $cookie ) = get_template_and_user( @@ -68,24 +67,14 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( debug => 1, } ); -my $seller_gstrate = $supplier->{'gstrate'}; -# ensure the scalar isn't flagged as a string -$seller_gstrate = ( defined $seller_gstrate ) ? $seller_gstrate + 0 : undef; -my $tax_rate = $seller_gstrate // C4::Context->preference('gist') // 0; -$tax_rate *= 100; #build array for currencies if ( $op eq 'display' ) { - my $contracts = GetContract( { booksellerid => $id } ); - - for ( @{$contracts} ) { - $_->{contractstartdate} = format_date( $_->{contractstartdate} ); - $_->{contractenddate} = format_date( $_->{contractenddate} ); - } + my $contracts = GetContract( { booksellerid => $booksellerid } ); $template->param( - id => $id, + booksellerid => $booksellerid, name => $supplier->{'name'}, postal => $supplier->{'postal'}, address1 => $supplier->{'address1'}, @@ -93,6 +82,7 @@ if ( $op eq 'display' ) { address3 => $supplier->{'address3'}, address4 => $supplier->{'address4'}, phone => $supplier->{'phone'}, + accountnumber => $supplier->{'accountnumber'}, fax => $supplier->{'fax'}, url => $supplier->{'url'}, contact => $supplier->{'contact'}, @@ -107,34 +97,51 @@ if ( $op eq 'display' ) { gstreg => $supplier->{'gstreg'}, listincgst => $supplier->{'listincgst'}, invoiceincgst => $supplier->{'invoiceincgst'}, + gstrate => $supplier->{'gstrate'} + 0.0, discount => $supplier->{'discount'}, + deliverytime => $supplier->{deliverytime}, invoiceprice => $supplier->{'invoiceprice'}, listprice => $supplier->{'listprice'}, - GST => $tax_rate, - default_tax => defined($seller_gstrate), basketcount => $supplier->{'basketcount'}, + subscriptioncount => $supplier->{'subscriptioncount'}, contracts => $contracts, ); } elsif ( $op eq 'delete' ) { - DelBookseller($id); + # no further message needed for the user + # the DELETE button only appears in the template if basketcount == 0 + if ( $supplier->{'basketcount'} == 0 ) { + DelBookseller($booksellerid); + } print $query->redirect('/cgi-bin/koha/acqui/acqui-home.pl'); exit; } else { my @currencies = GetCurrencies(); my $loop_currency; + my $active_currency = GetCurrency(); + my $active_listprice = $supplier->{'listprice'}; + my $active_invoiceprice = $supplier->{'invoiceprice'}; + if (!$supplier->{listprice}) { + $active_listprice = $active_currency->{currency}; + } + if (!$supplier->{invoiceprice}) { + $active_invoiceprice = $active_currency->{currency}; + } for (@currencies) { push @{$loop_currency}, - { currency => $_->{currency}, - listprice => ( $_->{currency} eq $supplier->{listprice} ), - invoiceprice => ( $_->{currency} eq $supplier->{invoiceprice} ), - }; + { + currency => $_->{currency}, + listprice => ( $_->{currency} eq $active_listprice ), + invoiceprice => ( $_->{currency} eq $active_invoiceprice ), + }; } - my $default_gst_rate = (C4::Context->preference('gist') * 100) || '0.0'; + # get option values from gist syspref + my @gst_values = map { + option => $_ + }, split( '\|', C4::Context->preference("gist") ); - my $gstrate = defined $supplier->{gstrate} ? $supplier->{gstrate} * 100 : ''; $template->param( - id => $id, + booksellerid => $booksellerid, name => $supplier->{'name'}, postal => $supplier->{'postal'}, address1 => $supplier->{'address1'}, @@ -142,6 +149,7 @@ if ( $op eq 'display' ) { address3 => $supplier->{'address3'}, address4 => $supplier->{'address4'}, phone => $supplier->{'phone'}, + accountnumber=> $supplier->{'accountnumber'}, fax => $supplier->{'fax'}, url => $supplier->{'url'}, contact => $supplier->{'contact'}, @@ -153,16 +161,16 @@ if ( $op eq 'display' ) { contnotes => $supplier->{'contnotes'}, notes => $supplier->{'notes'}, # set active ON by default for supplier add (id empty for add) - active => $id ? $supplier->{'active'} : 1, + active => $booksellerid ? $supplier->{'active'} : 1, gstreg => $supplier->{'gstreg'}, listincgst => $supplier->{'listincgst'}, invoiceincgst => $supplier->{'invoiceincgst'}, - gstrate => $gstrate, + gstrate => $supplier->{gstrate} ? $supplier->{'gstrate'}+0.0 : 0, + gst_values => \@gst_values, discount => $supplier->{'discount'}, + deliverytime => $supplier->{deliverytime}, loop_currency => $loop_currency, - GST => $tax_rate, enter => 1, - default_gst_rate => $default_gst_rate, ); }