X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=acqui%2Fsupplier.pl;h=fdeef06f5b39a1af04e094c8bde580991438933e;hb=1e255e93eb4e3532ad69d1291c9c0b96b21ee8d9;hp=d2e0f4753174b9d8349a7a7c682c241fff5b5cd0;hpb=d0374d003716dfb40796caad6390a4d69bfb0376;p=koha.git diff --git a/acqui/supplier.pl b/acqui/supplier.pl index d2e0f47531..fdeef06f5b 100755 --- a/acqui/supplier.pl +++ b/acqui/supplier.pl @@ -1,251 +1,186 @@ #!/usr/bin/perl -#script to show display basket of orders -#written by chris@katipo.co.nz 24/2/2000 +# Copyright 2000-2002 Katipo Communications +# Copyright 2008-2009 BibLibre SARL +# Copyright 2010 PTFS Europe Ltd +# +# This file is part of Koha. +# +# Koha is free software; you can redistribute it and/or modify it under the +# terms of the GNU General Public License as published by the Free Software +# Foundation; either version 2 of the License, or (at your option) any later +# version. +# +# Koha is distributed in the hope that it will be useful, but WITHOUT ANY +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR +# A PARTICULAR PURPOSE. See the GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with Koha; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -use C4::Acquisitions; +=head1 NAME + +supplier.pl + +=head1 DESCRIPTION + +this script shows the details for a bookseller given on input arg. +It allows to edit & save information about this bookseller. + +=head1 CGI PARAMETERS + +=over 4 + +=item booksellerid + +To know the bookseller this script has to display details. + +=back + +=cut + +use strict; +use warnings; +use C4::Auth; +use C4::Contract qw/GetContract/; +use C4::Biblio; use C4::Output; +use C4::Dates qw/format_date /; use CGI; -use strict; -my $input=new CGI; -print $input->header(); -my $id=$input->param('id'); -my ($count,@booksellers)=bookseller($id); -print startpage; - -print startmenu('acquisitions'); - -print < - - -Update: $booksellers[0]->{'name'} -

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
COMPANY DETAILS
Company Name -
Postal Address
Physical Address -
Phone -
Fax -
Website -
CONTACT DETAILS
Contact Name -
Position -
Phone -
Alternative Phone -
Fax -
E-mail -
Notes -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
CURRENT STATUS
Supplier is{'active'}==1){ - print " checked "; -} -print ">Active -{'active'}==0){ - print " checked "; -} -print <Inactive -
ORDERING INFORMATION
Publishers and Imprints -
List Prices are -
Invoice Prices are -
GST Registered{'gstreg'}==1){ - print " checked"; -} -print ">Yes -{'gstreg'}==0){ - print " checked"; -} -print <No -
List Item Price Includes GST{'listincgst'}==1){ - print " checked"; -} -print ">Yes -{'listincgst'}==0){ - print " checked"; -} -print <No -
Invoice Item Price Includes GST{'invoiceincgst'}==1){ - print " checked"; -} -print ">Yes -{'invoiceincgst'}==0){ - print " checked"; -} -print <No -
Discount{'discount'}> % -
+my $query = CGI->new; +my $booksellerid = $query->param('booksellerid'); +my $supplier = {}; +if ($booksellerid) { + $supplier = GetBookSellerFromId($booksellerid); +} +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 => '*' }, + debug => 1, + } +); +my $seller_gstrate = $supplier->{'gstrate'}; - -
-EOP -; +# 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 => $booksellerid } ); -print endmenu('acquisitions'); + for ( @{$contracts} ) { + $_->{contractstartdate} = format_date( $_->{contractstartdate} ); + $_->{contractenddate} = format_date( $_->{contractenddate} ); + } + + $template->param( + booksellerid => $booksellerid, + name => $supplier->{'name'}, + postal => $supplier->{'postal'}, + address1 => $supplier->{'address1'}, + address2 => $supplier->{'address2'}, + address3 => $supplier->{'address3'}, + address4 => $supplier->{'address4'}, + phone => $supplier->{'phone'}, + accountnumber => $supplier->{'accountnumber'}, + 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'}, + discount => $supplier->{'discount'}, + 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' ) { + # 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 $active_listprice ), + invoiceprice => ( $_->{currency} eq $active_invoiceprice ), + }; + } + + my $default_gst_rate = (C4::Context->preference('gist') * 100) || '0.0'; + + my $gstrate = defined $supplier->{gstrate} ? $supplier->{gstrate} * 100 : ''; + $template->param( + booksellerid => $booksellerid, + name => $supplier->{'name'}, + postal => $supplier->{'postal'}, + address1 => $supplier->{'address1'}, + address2 => $supplier->{'address2'}, + address3 => $supplier->{'address3'}, + address4 => $supplier->{'address4'}, + phone => $supplier->{'phone'}, + accountnumber=> $supplier->{'accountnumber'}, + 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'}, + # set active ON by default for supplier add (id empty for add) + active => $booksellerid ? $supplier->{'active'} : 1, + gstreg => $supplier->{'gstreg'}, + listincgst => $supplier->{'listincgst'}, + invoiceincgst => $supplier->{'invoiceincgst'}, + gstrate => $gstrate, + discount => $supplier->{'discount'}, + loop_currency => $loop_currency, + GST => $tax_rate, + enter => 1, + default_gst_rate => $default_gst_rate, + ); +} -print endpage; +output_html_with_http_headers $query, $cookie, $template->output;