From eff46d395e5a8fe4dbda95ddac5ef38a08e5ad4a Mon Sep 17 00:00:00 2001 From: =?utf8?q?Jean-Andr=C3=A9=20Santoni?= Date: Wed, 4 Nov 2009 13:17:09 +0100 Subject: [PATCH] Adds billing address support in the basketgroup. Also fixes a bug in ModBasketgroup, and renames the PDF uploaded to the client. --- C4/Acquisition.pm | 7 ++- acqui/basketgroup.pl | 50 +++++++++++------ acqui/pdfformat/layout3pages.odt | Bin 13029 -> 12973 bytes acqui/pdfformat/layout3pages.pdf | Bin 26943 -> 26944 bytes acqui/pdfformat/layout3pages.pm | 51 ++++++++++-------- installer/data/mysql/updatedatabase.pl | 9 ++++ .../prog/en/modules/acqui/basketgroup.tmpl | 8 ++- 7 files changed, 83 insertions(+), 42 deletions(-) diff --git a/C4/Acquisition.pm b/C4/Acquisition.pm index e33b27cd94..2f8bf86fe8 100644 --- a/C4/Acquisition.pm +++ b/C4/Acquisition.pm @@ -19,6 +19,7 @@ package C4::Acquisition; use strict; +use warnings; use C4::Context; use C4::Debug; use C4::Dates qw(format_date format_date_in_iso); @@ -541,6 +542,8 @@ $hashref->{'name'} is the 'name' field of the basketgroup in the aqbasketgroups $hashref->{'basketlist'} is a list reference of the 'id's of the baskets that belong to this group, +$hashref->{'billingplace'} is the 'billingplace' field of the basketgroup in the aqbasketgroups table, + $hashref->{'deliveryplace'} is the 'deliveryplace' field of the basketgroup in the aqbasketgroups table, $hashref->{'deliverycomment'} is the 'deliverycomment' field of the basketgroup in the aqbasketgroups table, @@ -559,8 +562,8 @@ sub ModBasketgroup { my $dbh = C4::Context->dbh; my $query = "UPDATE aqbasketgroups SET "; my @params; - foreach my $field (qw(name deliveryplace deliverycomment closed)) { - if ( $basketgroupinfo->{$field} ne undef) { + foreach my $field (qw(name billingplace deliveryplace deliverycomment closed)) { + if ( defined $basketgroupinfo->{$field} ) { $query .= "$field=?, "; push(@params, $basketgroupinfo->{$field}); } diff --git a/acqui/basketgroup.pl b/acqui/basketgroup.pl index bd56ace880..10eb565c7f 100755 --- a/acqui/basketgroup.pl +++ b/acqui/basketgroup.pl @@ -239,10 +239,8 @@ sub printbasketgrouppdf{ } %orders->{$basket->{basketno}}=\@ba_orders; } - print $input->header( -type => 'application/pdf', -attachment => 'basketgroup.pdf' ); - my $branch = GetBranchInfo(GetBranch($input, GetBranches())); - $branch = @$branch[0]; - my $pdf = printpdf($basketgroup, $bookseller, $baskets, $branch, \%orders, $bookseller->{gstrate} || C4::Context->preference("gist")) || die "pdf generation failed"; + print $input->header( -type => 'application/pdf', -attachment => $basketgroup->{name}.'.pdf' ); + my $pdf = printpdf($basketgroup, $bookseller, $baskets, \%orders, $bookseller->{gstrate} || C4::Context->preference("gist")) || die "pdf generation failed"; print $pdf; exit; } @@ -270,7 +268,8 @@ if ( $op eq "add" ) { } } else { my $basketgroupid = $input->param('basketgroupid'); - my $branchcode; + my $billingplace; + my $deliveryplace; if ( $basketgroupid ) { # Get the selected baskets in the basketgroup to display them my $selecteds = GetBasketsByBasketgroup($basketgroupid); @@ -286,24 +285,42 @@ if ( $op eq "add" ) { name => $basketgroup->{name}, deliverycomment => $basketgroup->{deliverycomment}, ); - $branchcode = $basketgroup->{deliveryplace}; + $billingplace = $basketgroup->{billingplace}; + $deliveryplace = $basketgroup->{deliveryplace}; } - # Build the combobox to select the delivery place + # determine default billing and delivery places depending on librarian homebranch and existing basketgroup data my $borrower = GetMember( ( 'borrowernumber' => $loggedinuser ) ); - my $branch = $branchcode || $borrower->{'branchcode'}; + my $billingplace = $billingplace || $borrower->{'branchcode'}; + my $deliveryplace = $deliveryplace || $borrower->{'branchcode'}; + my $branches = GetBranches; - my @branchloop; - foreach my $thisbranch (sort keys %$branches) { - my $selected = 1 if $thisbranch eq $branch; + + # Build the combobox to select the billing place + my @billingplaceloop; + for (sort keys %$branches) { + my $selected = 1 if $_ eq $billingplace; + my %row = ( + value => $_, + selected => $selected, + branchname => $branches->{$_}->{branchname}, + ); + push @billingplaceloop, \%row; + } + $template->param( billingplaceloop => \@billingplaceloop ); + + # Build the combobox to select the delivery place + my @deliveryplaceloop; + for (sort keys %$branches) { + my $selected = 1 if $_ eq $deliveryplace; my %row = ( - value => $thisbranch, + value => $_, selected => $selected, - branchname => $branches->{$thisbranch}->{branchname}, + branchname => $branches->{$_}->{branchname}, ); - push @branchloop, \%row; + push @deliveryplaceloop, \%row; } - $template->param( branchloop => \@branchloop ); + $template->param( deliveryplaceloop => \@deliveryplaceloop ); $template->param( booksellerid => $booksellerid ); } @@ -386,11 +403,11 @@ if ( $op eq "add" ) { # Getting parameters my $basketgroup = {}; - my @baskets = $input->param('basket'); my $basketgroupid = $input->param('basketgroupid'); my $basketgroupname = $input->param('basketgroupname'); my $booksellerid = $input->param('booksellerid'); + my $billingplace = $input->param('billingplace'); my $deliveryplace = $input->param('deliveryplace'); my $deliverycomment = $input->param('deliverycomment'); my $close = $input->param('close') ? 1 : 0; @@ -400,6 +417,7 @@ if ( $op eq "add" ) { name => $basketgroupname, id => $basketgroupid, basketlist => \@baskets, + billingplace => $billingplace, deliveryplace => $deliveryplace, deliverycomment => $deliverycomment, closed => $close, diff --git a/acqui/pdfformat/layout3pages.odt b/acqui/pdfformat/layout3pages.odt index d1071e34b7a06d902808618ffb8389ef2171d8ab..8e9145864faa76c53f672c704a1415fdb7a0a741 100644 GIT binary patch delta 10048 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 W=le3)iJ+Dl6I$6n!Pzta&G|n)HaXY; delta 10190 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 delta 1343 zcmX?biE;lW#tB~ap(nFs3OCU0ytfO$^W0tVH#P z(66%1fb+-7WR5BSV_if|+7ch~)UUl^(bjsIbL&Nmwwc8T6LPiGHx!)vX2^Bsj*_Zr zysrJ3(xbbAn)$@Hz1zF!)Rw#DJ2vJ1mtB{0+M%8M_R|H2r{+e!_#m2D@*{}x5^w(N zjQJM2oRg37=0-UOf0oL9`S@AyO)u;A%E{YqG+*x7JLlGaa~qy2^T+A^@~^%&|2Xl# zUal}G_hxotMpvcavCi|Ho7m5K-w+c&u*zQk(IM#>Vg}Y5Y8TYqmDbYM{cG8Edh_LE zKSt|*CWQ~y&n|r4wR-ger^7{4J2#~(tc|i-_w~@HWvTt-`f^f7+(;b_MVSzph>xHDB{vL~|~qrv73 zW~*d&V?#3|Lqp@qE7PnPjV3=yQ?EBrFaQCCJOwT=!^qU!z!Xi)z`()+U7dlUp{XUB zIwMmH6ALskpgMDOb%ur}=H?J}^>B-Uf|i&H%?*su3^W9K08`A^0%{=KJR=hmGh;Np zKrst56tQ{(10xeN3v`Q(Obs!7Vq|J!W`d#_sMplg0K;NaOH&Ms%?wPDLa?MLF*7H% zh|9)iaz}<{y_2E2qoJvjvzxiAsiT>tqlJ^DsiT{vnWd|-g@L7!xgD1cK_v>YT>38g z$<7(6$=SuFxeEH0=0+~2mPW3w&aOrl#%AWO#>URBt`^1?js~ty&W>(ec6MCFC5c5P W6#_-6Xpreference("LibraryName"); # get branch details - my $branchdetails = GetBranchDetail( $basketgroup->{'deliveryplace'} ); + my $billingdetails = GetBranchDetail( $basketgroup->{billingplace} ); + my $deliverydetails = GetBranchDetail( $basketgroup->{deliveryplace} ); # get the subject my $subject; @@ -308,50 +309,54 @@ sub printhead { $text->font( $pdf->corefont("Times", -encoding => "utf8"), 4/mm ); - # print branch infos + # print billing infos $text->translate(100/mm, ($height-86)/mm); $text->text($libraryname); $text->translate(100/mm, ($height-97)/mm); - $text->text($branch->{branchname}); + $text->text($billingdetails->{branchname}); $text->translate(100/mm, ($height-108.5)/mm); - $text->text($branch->{branchphone}); + $text->text($billingdetails->{branchphone}); $text->translate(100/mm, ($height-115.5)/mm); - $text->text($branch->{branchfax}); + $text->text($billingdetails->{branchfax}); $text->translate(100/mm, ($height-122.5)/mm); - $text->text($branch->{branchaddress1}); + $text->text($billingdetails->{branchaddress1}); $text->translate(100/mm, ($height-127.5)/mm); - $text->text($branch->{branchaddress2}); - $text->translate(100/mm, ($height-132)/mm); - $text->text($branch->{branchaddress3}); - $text->translate(100/mm, ($height-138.5)/mm); - $text->text($branch->{branchemail}); + $text->text($billingdetails->{branchaddress2}); + $text->translate(100/mm, ($height-132.5)/mm); + $text->text($billingdetails->{branchaddress3}); + $text->translate(100/mm, ($height-137.5)/mm); + $text->text(join(' ', $billingdetails->{branchzip}, $billingdetails->{branchcity}, $billingdetails->{branchcountry})); + $text->translate(100/mm, ($height-147.5)/mm); + $text->text($billingdetails->{branchemail}); # print subject $text->translate(100/mm, ($height-145.5)/mm); $text->text($subject); # print bookseller infos - $text->translate(100/mm, ($height-177)/mm); + $text->translate(100/mm, ($height-180)/mm); $text->text($bookseller->{name}); - $text->translate(100/mm, ($height-182)/mm); + $text->translate(100/mm, ($height-185)/mm); $text->text($bookseller->{postal}); - $text->translate(100/mm, ($height-187)/mm); + $text->translate(100/mm, ($height-190)/mm); $text->text($bookseller->{address1}); - $text->translate(100/mm, ($height-197)/mm); + $text->translate(100/mm, ($height-195)/mm); $text->text($bookseller->{address2}); - $text->translate(100/mm, ($height-202)/mm); + $text->translate(100/mm, ($height-200)/mm); $text->text($bookseller->{address3}); # print delivery infos $text->font( $pdf->corefont("Times-Bold", -encoding => "utf8"), 4/mm ); $text->translate(50/mm, ($height-237)/mm); - $text->text($branchdetails->{branchaddress1}); + $text->text($deliverydetails->{branchaddress1}); $text->translate(50/mm, ($height-242)/mm); - $text->text($branchdetails->{branchaddress2}); + $text->text($deliverydetails->{branchaddress2}); $text->translate(50/mm, ($height-247)/mm); - $text->text($branchdetails->{branchaddress3}); + $text->text($deliverydetails->{branchaddress3}); $text->translate(50/mm, ($height-252)/mm); - $text->text($basketgroup->{'deliverycomment'}); + $text->text(join(' ', $deliverydetails->{branchzip}, $deliverydetails->{branchcity}, $deliverydetails->{branchcountry})); + $text->translate(50/mm, ($height-262)/mm); + $text->text($basketgroup->{deliverycomment}); } sub printfooters { @@ -366,7 +371,7 @@ sub printfooters { } sub printpdf { - my ($basketgroup, $bookseller, $baskets, $branch, $orders, $GST) = @_; + my ($basketgroup, $bookseller, $baskets, $orders, $GST) = @_; # open the default PDF that will be used for base (1st page already filled) my $template = C4::Context->preference("OrderPdfTemplate"); $template = decode_base64($template); @@ -375,7 +380,7 @@ sub printpdf { -style => 'roman', } ); # start with roman numbering # fill the 1st page (basketgroup information) - printhead($pdf, $basketgroup, $bookseller, $branch); + printhead($pdf, $basketgroup, $bookseller); # fill the 2nd page (orders summary) printbaskets($pdf, $basketgroup, $baskets, $bookseller, $GST, $orders); # fill other pages (orders) diff --git a/installer/data/mysql/updatedatabase.pl b/installer/data/mysql/updatedatabase.pl index f5215ecbdc..519fa4f4dd 100755 --- a/installer/data/mysql/updatedatabase.pl +++ b/installer/data/mysql/updatedatabase.pl @@ -3200,6 +3200,15 @@ if (C4::Context->preference("Version") < TransformToNum($DBversion)) { SetVersion ($DBversion); } +$DBversion = "3.01.00.127"; +if (C4::Context->preference("Version") < TransformToNum($DBversion)) { + $dbh->do(qq{ + ALTER TABLE aqbasketgroups ADD 'billingplace' VARCHAR(10) AFTER 'deliverycomment'; + }); + + print "Upgrade to $DBversion done (isbd updated)\n"; + SetVersion ($DBversion); +} =item DropAllForeignKeys($table) diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basketgroup.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basketgroup.tmpl index cbfad5c56f..962b799c74 100755 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basketgroup.tmpl +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/acqui/basketgroup.tmpl @@ -207,10 +207,16 @@ fieldset.various li {

" /> +

+

-- 2.20.1