View | Details | Raw Unified | Return to bug 4510
Collapse All | Expand All

(-)a/acqui/supplier.pl (-95 / +92 lines)
Lines 1-10 Link Here
1
#!/usr/bin/perl
1
#!/usr/bin/perl
2
2
3
4
#script to show display basket of orders
5
6
# Copyright 2000-2002 Katipo Communications
3
# Copyright 2000-2002 Katipo Communications
7
# Copyright 2008-2009 BibLibre SARL
4
# Copyright 2008-2009 BibLibre SARL
5
# Copyright 2010 PTFS Europe Ltd
8
#
6
#
9
# This file is part of Koha.
7
# This file is part of Koha.
10
#
8
#
Lines 43-53 To know the bookseller this script has to display details. Link Here
43
use strict;
41
use strict;
44
use warnings;
42
use warnings;
45
use C4::Auth;
43
use C4::Auth;
46
use C4::Acquisition;
44
use C4::Acquisition qw/GetContracts/;
47
use C4::Contract;
48
use C4::Biblio;
45
use C4::Biblio;
49
use C4::Output;
46
use C4::Output;
50
use C4::Dates qw/format_date /;
47
use C4::Dates qw/format_date /;
48
use C4::Contract qw/GetContract/;
51
use CGI;
49
use CGI;
52
50
53
use C4::Bookseller;
51
use C4::Bookseller;
Lines 55-87 use C4::Budgets; Link Here
55
53
56
my $query       = new CGI;
54
my $query       = new CGI;
57
my $id          = $query->param('supplierid');
55
my $id          = $query->param('supplierid');
58
my @booksellers = GetBookSellerFromId($id) if $id;
56
my $supplier    = GetBookSellerFromId($id);
59
my $count       = scalar @booksellers;
57
if (!$supplier) {
58
    print $query->redirect('/cgi-bin/koha/acqui/acqui-home.pl');
59
    exit;
60
}
60
my $op          = $query->param('op') || "display";
61
my $op          = $query->param('op') || "display";
61
my ($template, $loggedinuser, $cookie) = get_template_and_user(
62
my ($template, $loggedinuser, $cookie) = get_template_and_user(
62
	{   template_name   => "acqui/supplier.tmpl",
63
    {   template_name   => 'acqui/supplier.tmpl',
63
		query           => $query,
64
        query           => $query,
64
		type            => "intranet",
65
        type            => 'intranet',
65
		authnotrequired => 0,
66
        authnotrequired => 0,
66
		flagsrequired   => { acquisition => 'vendors_manage' },
67
        flagsrequired   => { acquisition => 'vendors_manage' },
67
		debug           => 1,
68
        debug           => 1,
68
	}
69
    }
69
);
70
);
70
my $seller_gstrate = $booksellers[0]->{'gstrate'};
71
my $seller_gstrate = $supplier->{'gstrate'};
71
# A perl-ism: '0'==false, '0.000'==true, but 0=='0.000' - this accounts for that
72
# A perl-ism: '0'==false, '0.000'==true, but 0=='0.000' - this accounts for that
72
undef $seller_gstrate if ($seller_gstrate == 0);
73
undef $seller_gstrate if ($seller_gstrate == 0);
73
my $GST = $seller_gstrate || C4::Context->preference("gist");
74
my $tax = $seller_gstrate || C4::Context->preference('gist');
74
$GST *= 100;
75
$tax *= 100;
75
76
76
my @contracts = GetContracts($id);
77
my @contracts = GetContracts($id);
77
my $contractcount = scalar(@contracts);
78
$template->param(hascontracts => 1) if (@contracts);
78
$template->param(hascontracts => 1) if ($contractcount > 0);
79
79
80
#build array for currencies
80
#build array for currencies
81
if ($op eq "display") {
81
if ($op eq 'display') {
82
82
83
    # get contracts
83
    # get contracts
84
    my @contracts = @{GetContract( { booksellerid => $id } )};
84
    my @contracts = @{C4::Contract::GetContract( { booksellerid => $id } )};
85
85
86
    # format dates
86
    # format dates
87
    for ( @contracts ) {
87
    for ( @contracts ) {
Lines 89-180 if ($op eq "display") { Link Here
89
        $$_{contractenddate}   = format_date($$_{contractenddate});
89
        $$_{contractenddate}   = format_date($$_{contractenddate});
90
    }
90
    }
91
91
92
	$template->param(
92
    $template->param(
93
		id            => $id,
93
        id            => $id,
94
		name          => $booksellers[0]->{'name'},
94
        name          => $supplier->{'name'},
95
		postal        => $booksellers[0]->{'postal'},
95
        postal        => $supplier->{'postal'},
96
		address1      => $booksellers[0]->{'address1'},
96
        address1      => $supplier->{'address1'},
97
		address2      => $booksellers[0]->{'address2'},
97
        address2      => $supplier->{'address2'},
98
		address3      => $booksellers[0]->{'address3'},
98
        address3      => $supplier->{'address3'},
99
		address4      => $booksellers[0]->{'address4'},
99
        address4      => $supplier->{'address4'},
100
		phone         => $booksellers[0]->{'phone'},
100
        phone         => $supplier->{'phone'},
101
		fax           => $booksellers[0]->{'fax'},
101
        fax           => $supplier->{'fax'},
102
		url           => $booksellers[0]->{'url'},
102
        url           => $supplier->{'url'},
103
		contact       => $booksellers[0]->{'contact'},
103
        contact       => $supplier->{'contact'},
104
		contpos       => $booksellers[0]->{'contpos'},
104
        contpos       => $supplier->{'contpos'},
105
		contphone     => $booksellers[0]->{'contphone'},
105
        contphone     => $supplier->{'contphone'},
106
		contaltphone  => $booksellers[0]->{'contaltphone'},
106
        contaltphone  => $supplier->{'contaltphone'},
107
		contfax       => $booksellers[0]->{'contfax'},
107
        contfax       => $supplier->{'contfax'},
108
		contemail     => $booksellers[0]->{'contemail'},
108
        contemail     => $supplier->{'contemail'},
109
		contnotes     => $booksellers[0]->{'contnotes'},
109
        contnotes     => $supplier->{'contnotes'},
110
		notes         => $booksellers[0]->{'notes'},
110
        notes         => $supplier->{'notes'},
111
		active        => $booksellers[0]->{'active'},
111
        active        => $supplier->{'active'},
112
		gstreg        => $booksellers[0]->{'gstreg'},
112
        gstreg        => $supplier->{'gstreg'},
113
		listincgst    => $booksellers[0]->{'listincgst'},
113
        listincgst    => $supplier->{'listincgst'},
114
		invoiceincgst => $booksellers[0]->{'invoiceincgst'},
114
        invoiceincgst => $supplier->{'invoiceincgst'},
115
		gstrate       => $booksellers[0]->{'gstrate'}*100,
115
        gstrate       => $supplier->{'gstrate'}*100,
116
		discount      => $booksellers[0]->{'discount'},
116
        discount      => $supplier->{'discount'},
117
		invoiceprice  => $booksellers[0]->{'invoiceprice'},
117
        invoiceprice  => $supplier->{'invoiceprice'},
118
		listprice     => $booksellers[0]->{'listprice'},
118
        listprice     => $supplier->{'listprice'},
119
		GST           => $GST,
119
        GST           => $tax,
120
		basketcount   => $booksellers[0]->{'basketcount'},
120
        basketcount   => $supplier->{'basketcount'},
121
		contracts     => \@contracts
121
        contracts     => \@contracts
122
	);
122
    );
123
}
123
}
124
elsif ($op eq 'delete') {
124
elsif ($op eq 'delete') {
125
  &DelBookseller($id);
125
  DelBookseller($id);
126
  print $query->redirect("/cgi-bin/koha/acqui/acqui-home.pl");
126
  print $query->redirect('/cgi-bin/koha/acqui/acqui-home.pl');
127
  exit;
127
  exit;
128
} else {
128
} else {
129
    my @currencies = GetCurrencies();
129
    my @currencies = GetCurrencies();
130
    my $count = scalar @currencies;
130
    my $count = scalar @currencies;
131
    
131
132
    my @loop_pricescurrency;
132
    my @loop_pricescurrency;
133
    my @loop_invoicecurrency;
133
    my @loop_invoicecurrency;
134
    for (my $i=0;$i<$count;$i++) {
134
    for my $curr ( @currencies ) {
135
        if ($booksellers[0]->{'listprice'} eq $currencies[$i]->{'currency'}) {
135
        if ($supplier->{'listprice'} eq $curr->{'currency'}) {
136
            push @loop_pricescurrency, { currency => "<option selected=\"selected\" value=\"$currencies[$i]->{'currency'}\">$currencies[$i]->{'currency'}</option>" };
136
            push @loop_pricescurrency, { currency => "<option selected=\"selected\" value=\"$curr->{'currency'}\">$curr->{'currency'}</option>" };
137
        } else {
137
        } else {
138
            push @loop_pricescurrency, { currency => "<option value=\"$currencies[$i]->{'currency'}\">$currencies[$i]->{'currency'}</option>"};
138
            push @loop_pricescurrency, { currency => "<option value=\"$curr->{'currency'}\">$curr->{'currency'}</option>"};
139
        }
139
        }
140
        if ($booksellers[0]->{'invoiceprice'} eq $currencies[$i]->{'currency'}) {
140
        if ($supplier->{'invoiceprice'} eq $curr->{'currency'}) {
141
            push @loop_invoicecurrency, { currency => "<option selected=\"selected\" value=\"$currencies[$i]->{'currency'}\">$currencies[$i]->{'currency'}</option>"};
141
            push @loop_invoicecurrency, { currency => "<option selected=\"selected\" value=\"$curr->{'currency'}\">$curr->{'currency'}</option>"};
142
        } else {
142
        } else {
143
            push @loop_invoicecurrency, { currency => "<option value=\"$currencies[$i]->{'currency'}\">$currencies[$i]->{'currency'}</option>"};
143
            push @loop_invoicecurrency, { currency => "<option value=\"$curr->{'currency'}\">$curr->{'currency'}</option>"};
144
        }
144
        }
145
    }
145
    }
146
	$template->param(
146
    $template->param(
147
		id                   => $id,
147
        id                   => $id,
148
		name                 => $booksellers[0]->{'name'},
148
        name                 => $supplier->{name},
149
		postal               => $booksellers[0]->{'postal'},
149
        postal               => $supplier->{postal},
150
		address1             => $booksellers[0]->{'address1'},
150
        address1             => $supplier->{address1},
151
		address2             => $booksellers[0]->{'address2'},
151
        address2             => $supplier->{address2},
152
		address3             => $booksellers[0]->{'address3'},
152
        address3             => $supplier->{address3},
153
		address4             => $booksellers[0]->{'address4'},
153
        address4             => $supplier->{address4},
154
		phone                => $booksellers[0]->{'phone'},
154
        phone                => $supplier->{phone},
155
		fax                  => $booksellers[0]->{'fax'},
155
        fax                  => $supplier->{fax},
156
		url                  => $booksellers[0]->{'url'},
156
        url                  => $supplier->{url},
157
		contact              => $booksellers[0]->{'contact'},
157
        contact              => $supplier->{contact},
158
		contpos              => $booksellers[0]->{'contpos'},
158
        contpos              => $supplier->{contpos},
159
		contphone            => $booksellers[0]->{'contphone'},
159
        contphone            => $supplier->{contphone},
160
		contaltphone         => $booksellers[0]->{'contaltphone'},
160
        contaltphone         => $supplier->{contaltphone},
161
		contfax              => $booksellers[0]->{'contfax'},
161
        contfax              => $supplier->{contfax},
162
		contemail            => $booksellers[0]->{'contemail'},
162
        contemail            => $supplier->{contemail},
163
		contnotes            => $booksellers[0]->{'contnotes'},
163
        contnotes            => $supplier->{contnotes},
164
		notes                => $booksellers[0]->{'notes'},
164
        notes                => $supplier->{notes},
165
		active               => $id?$booksellers[0]->{'active'}:1, # set active ON by default for supplier add (id empty for add)
165
        active               => $id?$supplier->{active}:1, # set active ON by default for supplier add (id empty for add)
166
		gstreg               => $booksellers[0]->{'gstreg'},
166
        gstreg               => $supplier->{gstreg},
167
		listincgst           => $booksellers[0]->{'listincgst'},
167
        listincgst           => $supplier->{listincgst},
168
		invoiceincgst        => $booksellers[0]->{'invoiceincgst'},
168
        invoiceincgst        => $supplier->{invoiceincgst},
169
		gstrate              => $booksellers[0]->{'gstrate'}*100,
169
        gstrate              => $supplier->{gstrate}*100,
170
		discount             => $booksellers[0]->{'discount'},
170
        discount             => $supplier->{discount},
171
		loop_pricescurrency  => \@loop_pricescurrency,
171
        loop_pricescurrency  => \@loop_pricescurrency,
172
		loop_invoicecurrency => \@loop_invoicecurrency,
172
        loop_invoicecurrency => \@loop_invoicecurrency,
173
		GST                  => $GST,
173
        GST                  => $tax,
174
		enter                => 1,
174
        enter                => 1,
175
	);
175
    );
176
}
176
}
177
177
178
179
180
output_html_with_http_headers $query, $cookie, $template->output;
178
output_html_with_http_headers $query, $cookie, $template->output;
181
- 

Return to bug 4510