[Koha-patches] [PATCH 32/78] supplier management changes

paul.poulain at biblibre.com paul.poulain at biblibre.com
Thu May 28 18:32:42 CEST 2009


From: Paul Poulain <paul.poulain at biblibre.com>

* deal with granular permissions
* deal with GST at bookseller level
---
 acqui/supplier.pl                                  |  167 ++++++++++----------
 .../prog/en/modules/acqui/supplier.tmpl            |    4 +-
 2 files changed, 90 insertions(+), 81 deletions(-)

diff --git a/acqui/supplier.pl b/acqui/supplier.pl
index 4db98d6..b3ed949 100755
--- a/acqui/supplier.pl
+++ b/acqui/supplier.pl
@@ -2,9 +2,9 @@
 
 
 #script to show display basket of orders
-#written by chris at katipo.co.nz 24/2/2000
 
 # Copyright 2000-2002 Katipo Communications
+# Copyright 2008-2009 BibLibre SARL
 #
 # This file is part of Koha.
 #
@@ -47,60 +47,63 @@ use C4::Biblio;
 use C4::Output;
 use CGI;
 
-
 use C4::Bookseller;
-use C4::Bookfund;
+use C4::Budgets;
 
-my $query=new CGI;
-my $id=$query->param('supplierid');
+my $query       = new CGI;
+my $id          = $query->param('supplierid');
 my @booksellers = GetBookSellerFromId($id) if $id;
-my $count = scalar @booksellers;
-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 => 1},
-			     debug => 1,
-                });
-
+my $count       = scalar @booksellers;
+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,
+	}
+);
+my $GST = $booksellers[0]->{'gstrate'} || C4::Context->preference("gist");
+$GST *= 100;
 #build array for currencies
-if ($op eq "display"){
-    $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'},
-                    specialty => $booksellers[0]->{'specialty'},
-                    gstreg => $booksellers[0]->{'gstreg'},
-                    listincgst => $booksellers[0]->{'listincgst'},
-                    invoiceincgst => $booksellers[0]->{'invoiceincgst'},
-                    discount => $booksellers[0]->{'discount'},
-                    invoiceprice=>$booksellers[0]->{'invoiceprice'},
-                    listprice=>$booksellers[0]->{'listprice'},
-                    GST => C4::Context->preference("gist"),
-                    basketcount =>$booksellers[0]->{'basketcount'},
-                    );
-} elsif ($op eq 'delete') {
-    &DelBookseller($id);
-    print $query->redirect("/cgi-bin/koha/acqui/acqui-home.pl");
-    exit;
+if ($op eq "display") {
+	$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'},
+		specialty     => $booksellers[0]->{'specialty'},
+		gstreg        => $booksellers[0]->{'gstreg'},
+		listincgst    => $booksellers[0]->{'listincgst'},
+		invoiceincgst => $booksellers[0]->{'invoiceincgst'},
+		gstrate                 => $booksellers[0]->{'gstrate'},
+		discount      => $booksellers[0]->{'discount'},
+		invoiceprice  => $booksellers[0]->{'invoiceprice'},
+		listprice     => $booksellers[0]->{'listprice'},
+		GST           => $GST,
+		basketcount   => $booksellers[0]->{'basketcount'},
+	);
+}
+elsif ($op eq 'delete') {
+  &DelBookseller($id);
+  print $query->redirect("/cgi-bin/koha/acqui/acqui-home.pl");
+  exit;
 } else {
     my @currencies = GetCurrencies();
     my $count = scalar @currencies;
@@ -119,34 +122,38 @@ if ($op eq "display"){
             push @loop_invoicecurrency, { currency => "<option value=\"$currencies[$i]->{'currency'}\">$currencies[$i]->{'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 => $booksellers[0]->{'active'},
-                    specialty => $booksellers[0]->{'specialty'},
-                    gstreg => $booksellers[0]->{'gstreg'},
-                    listincgst => $booksellers[0]->{'listincgst'},
-                    invoiceincgst => $booksellers[0]->{'invoiceincgst'},
-                    discount => $booksellers[0]->{'discount'},
-                    loop_pricescurrency => \@loop_pricescurrency,
-                    loop_invoicecurrency => \@loop_invoicecurrency,
-                    GST => C4::Context->preference("gist"),
-                    enter=>1,
-                    );
+    my $GST = $booksellers[0]->{'gstrate'} || C4::Context->preference("gist");
+    $GST *= 100;
+	$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'},
+		specialty            => $booksellers[0]->{'specialty'},
+		gstreg               => $booksellers[0]->{'gstreg'},
+		listincgst           => $booksellers[0]->{'listincgst'},
+		invoiceincgst        => $booksellers[0]->{'invoiceincgst'},
+		gstrate                 => $booksellers[0]->{'gstrate'},
+		discount             => $booksellers[0]->{'discount'},
+		loop_pricescurrency  => \@loop_pricescurrency,
+		loop_invoicecurrency => \@loop_invoicecurrency,
+		GST                  => $GST,
+		enter                => 1,
+	);
 }
 output_html_with_http_headers $query, $cookie, $template->output;
diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/supplier.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/supplier.tmpl
index b801e1e..62ed3b0 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/supplier.tmpl
+++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/supplier.tmpl
@@ -132,6 +132,7 @@ if (f.company.value == "") {
 				<!-- /TMPL_IF --></li><!-- /TMPL_IF -->
             <li><label for="discount">Discount</label>
                 <input type="text" size="3" id="discount" name="discount" value="<!-- TMPL_VAR NAME="discount" -->" /> %</li>
+            <li><label for="gstrate">GST rate</label><input type="text" name="gstrate" id="gstrate" size="5" value="<!-- TMPL_VAR name="GST" -->"/>%</li>
             <li><label for="notes">Notes</label>
                 <textarea cols="40" rows="4" id="notes" name="notes" ><!-- TMPL_VAR NAME="notes" --></textarea></li></ol>			
 			<!-- TMPL_UNLESS NAME="GST" -->
@@ -199,10 +200,11 @@ if (f.company.value == "") {
                     <!-- TMPL_IF name= "invoiceincgst" -->Yes<!--TMPL_ELSE-->No<!-- /TMPL_IF --></p><!-- /TMPL_IF -->
             <p><strong>Discount: </strong>
                 <!-- TMPL_VAR NAME="discount" --> %</p>
+            <p><strong>GST rate: </strong>
+                <!-- TMPL_VAR name="GST" -->%</p>
             <!-- TMPL_IF NAME="notes" --><p><strong>Notes: </strong>
                 <!-- TMPL_VAR NAME="notes" --></p><!-- /TMPL_IF -->
         </div>
-
 <!--/TMPL_IF-->
 
 </div>
-- 
1.6.0.4



More information about the Koha-patches mailing list