Bug 10572: Add phone to message_transport_types table for new installs
[koha.git] / acqui / supplier.pl
index 3faa560..df417c0 100755 (executable)
@@ -32,7 +32,7 @@ It allows to edit & save information about this bookseller.
 
 =over 4
 
-=item supplierid
+=item booksellerid
 
 To know the bookseller this script has to display details.
 
@@ -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'},
@@ -108,16 +97,21 @@ 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 {
@@ -141,11 +135,13 @@ if ( $op eq 'display' ) {
             };
     }
 
-    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'},
@@ -165,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,
     );
 }