Script was written as though it had an array rather than
a single supplier. Replaced the excess punctuation with a single
supplier variable

replaced the C-style currency loop with a simpler perl-style one
Changed variable name $GST to $tax it's not magical and not a constant
and we all know what tax is

removed use Contract which was generating errors as it redefined
subroutines in the Acquisitions module
removed introduction of unneeded variable to test contract returns
---
 acqui/supplier.pl |  181 ++++++++++++++++++++++++++---------------------------
 1 files changed, 89 insertions(+), 92 deletions(-)

diff --git a/acqui/supplier.pl b/acqui/supplier.pl
index c3a5db4..99e7bb3 100755
--- a/acqui/supplier.pl
+++ b/acqui/supplier.pl
@@ -1,10 +1,8 @@
 #!/usr/bin/perl
 
-
-#script to show display basket of orders
-
 # Copyright 2000-2002 Katipo Communications
 # Copyright 2008-2009 BibLibre SARL
+# Copyright 2010 PTFS Europe Ltd
 #
 # This file is part of Koha.
 #
@@ -44,7 +42,6 @@ use strict;
 use warnings;
 use C4::Auth;
 use C4::Acquisition;
-use C4::Contract;
 use C4::Biblio;
 use C4::Output;
 use C4::Dates qw/format_date /;
@@ -55,30 +52,32 @@ use C4::Budgets;
 
 my $query       = new CGI;
 my $id          = $query->param('supplierid');
-my @booksellers = GetBookSellerFromId($id) if $id;
-my $count       = scalar @booksellers;
+my $supplier    = GetBookSellerFromId($id);
+if (!$supplier) {
+    print $query->redirect('/cgi-bin/koha/acqui/acqui-home.pl');
+    exit;
+}
 my $op          = $query->param('op') || "display";
 my ($template, $loggedinuser, $cookie) = get_template_and_user(
-       {   template_name   => "acqui/supplier.tmpl",
-               query           => $query,
-               type            => "intranet",
-               authnotrequired => 0,
-               flagsrequired   => { acquisition => 'vendors_manage' },
-               debug           => 1,
-       }
+    {   template_name   => 'acqui/supplier.tmpl',
+        query           => $query,
+        type            => 'intranet',
+        authnotrequired => 0,
+        flagsrequired   => { acquisition => 'vendors_manage' },
+        debug           => 1,
+    }
 );
-my $seller_gstrate = $booksellers[0]->{'gstrate'};
+my $seller_gstrate = $supplier->{'gstrate'};
 # A perl-ism: '0'==false, '0.000'==true, but 0=='0.000' - this accounts for 
that
 undef $seller_gstrate if ($seller_gstrate == 0);
-my $GST = $seller_gstrate || C4::Context->preference("gist");
-$GST *= 100;
+my $tax = $seller_gstrate || C4::Context->preference('gist');
+$tax *= 100;
 
 my @contracts = GetContracts($id);
-my $contractcount = scalar(@contracts);
-$template->param(hascontracts => 1) if ($contractcount > 0);
+$template->param(hascontracts => 1) if (@contracts);
 
 #build array for currencies
-if ($op eq "display") {
+if ($op eq 'display') {
 
     # get contracts
     my @contracts = @{GetContract( { booksellerid => $id } )};
@@ -89,92 +88,90 @@ if ($op eq "display") {
         $$_{contractenddate}   = format_date($$_{contractenddate});
     }
 
-       $template->param(
-               id            => $id,
-               name          => $booksellers[0]->{'name'},
-               postal        => $booksellers[0]->{'postal'},
-               address1      => $booksellers[0]->{'address1'},
-               address2      => $booksellers[0]->{'address2'},
-               address3      => $booksellers[0]->{'address3'},
-               address4      => $booksellers[0]->{'address4'},
-               phone         => $booksellers[0]->{'phone'},
-               fax           => $booksellers[0]->{'fax'},
-               url           => $booksellers[0]->{'url'},
-               contact       => $booksellers[0]->{'contact'},
-               contpos       => $booksellers[0]->{'contpos'},
-               contphone     => $booksellers[0]->{'contphone'},
-               contaltphone  => $booksellers[0]->{'contaltphone'},
-               contfax       => $booksellers[0]->{'contfax'},
-               contemail     => $booksellers[0]->{'contemail'},
-               contnotes     => $booksellers[0]->{'contnotes'},
-               notes         => $booksellers[0]->{'notes'},
-               active        => $booksellers[0]->{'active'},
-               gstreg        => $booksellers[0]->{'gstreg'},
-               listincgst    => $booksellers[0]->{'listincgst'},
-               invoiceincgst => $booksellers[0]->{'invoiceincgst'},
-               gstrate       => $booksellers[0]->{'gstrate'}*100,
-               discount      => $booksellers[0]->{'discount'},
-               invoiceprice  => $booksellers[0]->{'invoiceprice'},
-               listprice     => $booksellers[0]->{'listprice'},
-               GST           => $GST,
-               basketcount   => $booksellers[0]->{'basketcount'},
-               contracts     => \...@contracts
-       );
+    $template->param(
+        id            => $id,
+        name          => $supplier->{'name'},
+        postal        => $supplier->{'postal'},
+        address1      => $supplier->{'address1'},
+        address2      => $supplier->{'address2'},
+        address3      => $supplier->{'address3'},
+        address4      => $supplier->{'address4'},
+        phone         => $supplier->{'phone'},
+        fax           => $supplier->{'fax'},
+        url           => $supplier->{'url'},
+        contact       => $supplier->{'contact'},
+        contpos       => $supplier->{'contpos'},
+        contphone     => $supplier->{'contphone'},
+        contaltphone  => $supplier->{'contaltphone'},
+        contfax       => $supplier->{'contfax'},
+        contemail     => $supplier->{'contemail'},
+        contnotes     => $supplier->{'contnotes'},
+        notes         => $supplier->{'notes'},
+        active        => $supplier->{'active'},
+        gstreg        => $supplier->{'gstreg'},
+        listincgst    => $supplier->{'listincgst'},
+        invoiceincgst => $supplier->{'invoiceincgst'},
+        gstrate       => $supplier->{'gstrate'}*100,
+        discount      => $supplier->{'discount'},
+        invoiceprice  => $supplier->{'invoiceprice'},
+        listprice     => $supplier->{'listprice'},
+        GST           => $tax,
+        basketcount   => $supplier->{'basketcount'},
+        contracts     => \...@contracts
+    );
 }
 elsif ($op eq 'delete') {
-  &DelBookseller($id);
-  print $query->redirect("/cgi-bin/koha/acqui/acqui-home.pl");
+  DelBookseller($id);
+  print $query->redirect('/cgi-bin/koha/acqui/acqui-home.pl');
   exit;
 } else {
     my @currencies = GetCurrencies();
     my $count = scalar @currencies;
-    
+
     my @loop_pricescurrency;
     my @loop_invoicecurrency;
-    for (my $i=0;$i<$count;$i++) {
-        if ($booksellers[0]->{'listprice'} eq $currencies[$i]->{'currency'}) {
-            push @loop_pricescurrency, { currency => "<option 
selected=\"selected\" 
value=\"$currencies[$i]->{'currency'}\">$currencies[$i]->{'currency'}</option>" 
};
+    for my $curr ( @currencies ) {
+        if ($supplier->{'listprice'} eq $curr->{'currency'}) {
+            push @loop_pricescurrency, { currency => "<option 
selected=\"selected\" 
value=\"$curr->{'currency'}\">$curr->{'currency'}</option>" };
         } else {
-            push @loop_pricescurrency, { currency => "<option 
value=\"$currencies[$i]->{'currency'}\">$currencies[$i]->{'currency'}</option>"};
+            push @loop_pricescurrency, { currency => "<option 
value=\"$curr->{'currency'}\">$curr->{'currency'}</option>"};
         }
-        if ($booksellers[0]->{'invoiceprice'} eq 
$currencies[$i]->{'currency'}) {
-            push @loop_invoicecurrency, { currency => "<option 
selected=\"selected\" 
value=\"$currencies[$i]->{'currency'}\">$currencies[$i]->{'currency'}</option>"};
+        if ($supplier->{'invoiceprice'} eq $curr->{'currency'}) {
+            push @loop_invoicecurrency, { currency => "<option 
selected=\"selected\" 
value=\"$curr->{'currency'}\">$curr->{'currency'}</option>"};
         } else {
-            push @loop_invoicecurrency, { currency => "<option 
value=\"$currencies[$i]->{'currency'}\">$currencies[$i]->{'currency'}</option>"};
+            push @loop_invoicecurrency, { currency => "<option 
value=\"$curr->{'currency'}\">$curr->{'currency'}</option>"};
         }
     }
-       $template->param(
-               id                   => $id,
-               name                 => $booksellers[0]->{'name'},
-               postal               => $booksellers[0]->{'postal'},
-               address1             => $booksellers[0]->{'address1'},
-               address2             => $booksellers[0]->{'address2'},
-               address3             => $booksellers[0]->{'address3'},
-               address4             => $booksellers[0]->{'address4'},
-               phone                => $booksellers[0]->{'phone'},
-               fax                  => $booksellers[0]->{'fax'},
-               url                  => $booksellers[0]->{'url'},
-               contact              => $booksellers[0]->{'contact'},
-               contpos              => $booksellers[0]->{'contpos'},
-               contphone            => $booksellers[0]->{'contphone'},
-               contaltphone         => $booksellers[0]->{'contaltphone'},
-               contfax              => $booksellers[0]->{'contfax'},
-               contemail            => $booksellers[0]->{'contemail'},
-               contnotes            => $booksellers[0]->{'contnotes'},
-               notes                => $booksellers[0]->{'notes'},
-               active               => $id?$booksellers[0]->{'active'}:1, # 
set active ON by default for supplier add (id empty for add)
-               gstreg               => $booksellers[0]->{'gstreg'},
-               listincgst           => $booksellers[0]->{'listincgst'},
-               invoiceincgst        => $booksellers[0]->{'invoiceincgst'},
-               gstrate              => $booksellers[0]->{'gstrate'}*100,
-               discount             => $booksellers[0]->{'discount'},
-               loop_pricescurrency  => \...@loop_pricescurrency,
-               loop_invoicecurrency => \...@loop_invoicecurrency,
-               GST                  => $GST,
-               enter                => 1,
-       );
+    $template->param(
+        id                   => $id,
+        name                 => $supplier->{name},
+        postal               => $supplier->{postal},
+        address1             => $supplier->{address1},
+        address2             => $supplier->{address2},
+        address3             => $supplier->{address3},
+        address4             => $supplier->{address4},
+        phone                => $supplier->{phone},
+        fax                  => $supplier->{fax},
+        url                  => $supplier->{url},
+        contact              => $supplier->{contact},
+        contpos              => $supplier->{contpos},
+        contphone            => $supplier->{contphone},
+        contaltphone         => $supplier->{contaltphone},
+        contfax              => $supplier->{contfax},
+        contemail            => $supplier->{contemail},
+        contnotes            => $supplier->{contnotes},
+        notes                => $supplier->{notes},
+        active               => $id?$supplier->{active}:1, # set active ON by 
default for supplier add (id empty for add)
+        gstreg               => $supplier->{gstreg},
+        listincgst           => $supplier->{listincgst},
+        invoiceincgst        => $supplier->{invoiceincgst},
+        gstrate              => $supplier->{gstrate}*100,
+        discount             => $supplier->{discount},
+        loop_pricescurrency  => \...@loop_pricescurrency,
+        loop_invoicecurrency => \...@loop_invoicecurrency,
+        GST                  => $tax,
+        enter                => 1,
+    );
 }
 
-
-
 output_html_with_http_headers $query, $cookie, $template->output;
-- 
1.6.6.1

_______________________________________________
Koha-patches mailing list
[email protected]
http://lists.koha.org/mailman/listinfo/koha-patches

Reply via email to