X-Git-Url: http://koha-dev.rot13.org:8081/gitweb/?a=blobdiff_plain;f=members%2Fmoremember.pl;h=e9583b5ff957a2f4ab75a941fff68ef555fdc516;hb=4d587f16cd672d996071aec9bc9a620b9b9dfffe;hp=958e43469508e8a9efc3a8f323aa90eb4119add7;hpb=2951d20c699b504447a9bb9bcbf044f56a9a3138;p=koha_fer diff --git a/members/moremember.pl b/members/moremember.pl index 958e434695..e9583b5ff9 100755 --- a/members/moremember.pl +++ b/members/moremember.pl @@ -37,21 +37,31 @@ use C4::Output; use C4::Interface::CGI::Output; use C4::Interface::CGI::Template; use CGI; -use C4::Search; +use C4::Members; use Date::Manip; use C4::Date; use C4::Reserves2; -use C4::Circulation::Renewals2; use C4::Circulation::Circ2; use C4::Koha; +use C4::Letters; use HTML::Template; my $dbh = C4::Context->dbh; my $input = new CGI; +my $print = $input->param('print'); +my $template_name; + +if($print eq "page"){ + $template_name = "members/moremember-print.tmpl"; +} elsif($print eq "slip"){ + $template_name = "members/moremember-receipt.tmpl"; +} else { + $template_name = "members/moremember.tmpl"; +} my ($template, $loggedinuser, $cookie) - = get_template_and_user({template_name => "members/moremember.tmpl", + = get_template_and_user({template_name => $template_name, query => $input, type => "intranet", authnotrequired => 0, @@ -68,22 +78,26 @@ my $data=borrdata('',$bornum); $template->param($data->{'categorycode'} => 1); # in template => instutitional (A for Adult & C for children) $data->{'dateenrolled'} = format_date($data->{'dateenrolled'}); -$data->{'expiry'} = format_date($data->{'expiry'}); +$data->{'dateexpiry'} = format_date($data->{'dateexpiry'}); $data->{'dateofbirth'} = format_date($data->{'dateofbirth'}); $data->{'IS_ADULT'} = ($data->{'categorycode'} ne 'I'); +if($data->{'debarred'} || $data->{'gonenoaddress'} || $data->{'lost'} || $data->{'borrowernotes'}){ + $template->param(flagged =>1); +} + $data->{'ethnicity'} = fixEthnicity($data->{'ethnicity'}); $data->{&expand_sex_into_predicate($data->{'sex'})} = 1; if ($data->{'categorycode'} eq 'C'){ - my $data2=borrdata('',$data->{'guarantor'}); - $data->{'streetaddress'}=$data2->{'streetaddress'}; + my $data2=borrdata('',$data->{'guarantorid'}); + $data->{'address'}=$data2->{'address'}; $data->{'city'}=$data2->{'city'}; - $data->{'physstreet'}=$data2->{'physstreet'}; - $data->{'streetcity'}=$data2->{'streetcity'}; + $data->{'B_address'}=$data2->{'B_address'}; + $data->{'B_city'}=$data2->{'B_city'}; $data->{'phone'}=$data2->{'phone'}; - $data->{'phoneday'}=$data2->{'phoneday'}; + $data->{'mobile'}=$data2->{'mobile'}; $data->{'zipcode'} = $data2->{'zipcode'}; } @@ -92,7 +106,7 @@ if ($data->{'ethnicity'} || $data->{'ethnotes'}) { $template->param(printethnicityline => 1); } -if ($data->{'categorycode'} ne 'C'){ +if ($data->{'category_type'} ne 'C'){ $template->param(isguarantee => 1); # FIXME # It looks like the $i is only being returned to handle walking through @@ -108,33 +122,54 @@ if ($data->{'categorycode'} ne 'C'){ $template->param(guaranteeloop => \@guaranteedata); } else { - my ($guarantor)=findguarantor($data->{'borrowernumber'}); - unless ($guarantor->{'borrowernumber'} == 0){ - $template->param(guarantorborrowernumber => $guarantor->{'borrowernumber'}, guarantorcardnumber => $guarantor->{'cardnumber'}); + my ($guarantorid)=findguarantor($data->{guarantorid}); + if ($guarantorid->{'borrowernumber'}){ + $template->param(guarantorborrowernumber => $guarantorid->{'borrowernumber'}, guarantorcardnumber => $guarantorid->{'cardnumber'}); } } +#Independant branches management +my $unvalidlibrarian = ((C4::Context->preference("IndependantBranches")) && (C4::Context->userenv->{flags}!=1) && ($data->{'branchcode'} ne C4::Context->userenv->{branch})); + my %bor; $bor{'borrowernumber'}=$bornum; # Converts the branchcode to the branch name -$data->{'branchcode'} = &getbranchname($data->{'branchcode'}); +my $samebranch; +if (C4::Context->preference("IndependantBranches")) { + my $userenv = C4::Context->userenv; + unless ($userenv->{flags} == 1){ + $samebranch = ($data->{'branchcode'} eq $userenv->{branch}); + } + $samebranch =1 if ($userenv->{flags} == 1); +} + +$data->{'branchname'} = &getbranchdetail($data->{'branchcode'}); # Converts the categorycode to the description $data->{'categorycode'} = &getborrowercategory($data->{'categorycode'}); my ($numaccts,$accts,$total)=getboracctrecord('',\%bor); +# +# current issues +# my ($count,$issue)=borrissues($bornum); + my $today=ParseDate('today'); my @issuedata; +my $totalprice = 0; +my $toggle = 0; for (my $i=0;$i<$count;$i++){ my $datedue=ParseDate($issue->[$i]{'date_due'}); $issue->[$i]{'date_due'} = format_date($issue->[$i]{'date_due'}); my %row = %{$issue->[$i]}; + $totalprice += $issue->[$i]{'replacementprice'}; + $row{'replacementprice'}=$issue->[$i]{'replacementprice'}; if ($datedue < $today){ $row{'red'}=1; #print ""; } + $row{toggle} = $toggle++%2; #find the charge for an item # FIXME - This is expecting # &C4::Circulation::Renewals2::calc_charges, but it's getting @@ -143,29 +178,38 @@ for (my $i=0;$i<$count;$i++){ # But &C4::Circulation::Renewals2::calc_charges doesn't appear to # return the correct item type either (or a properly-formatted # charge, for that matter). - my ($charge,$itemtype)=calc_charges(undef,$dbh,$issue->[$i]{'itemnumber'},$bornum); - $row{'itemtype'}=&ItemType($itemtype); - $row{'charge'}=$charge; + my ($charge,$itemtype)=calc_charges($dbh,$issue->[$i]{'itemnumber'},$bornum); + + my $itemtypeinfo = getitemtypeinfo($itemtype); + $row{'itemtype_description'} = $itemtypeinfo->{description}; + $row{'itemtype_image'} = $itemtypeinfo->{imageurl}; + + $row{'charge'}= sprintf("%.2f",$charge); #check item is not reserved my ($restype,$reserves)=CheckReserves($issue->[$i]{'itemnumber'}); if ($restype){ - print "[$i]{'biblionumber'}>On Request - no renewals"; +# print "[$i]{'biblionumber'}>On Request - no renewals"; # } elsif ($issue->[$i]->{'renewals'} > 0) { # print "Previously Renewed - no renewals"; + $row{'norenew'}=1; } else { $row{'norenew'}=0; } push (@issuedata, \%row); } +# +# find reserves +# my ($rescount,$reserves)=FindReserves('',$bornum); #From C4::Reserves2 - my @reservedata; +$toggle = 0; foreach my $reserveline (@$reserves) { $reserveline->{'reservedate2'} = format_date($reserveline->{'reservedate'}); my $restitle; my %row = %$reserveline; + $row{toggle} = $toggle++%2; if ($reserveline->{'constrainttype'} eq 'o'){ $restitle=getreservetitle($reserveline->{'biblionumber'},$reserveline->{'borrowernumber'},$reserveline->{'reservedate'},$reserveline->{'rtimestamp'}); %row = (%row , %$restitle) if $restitle; @@ -173,11 +217,26 @@ foreach my $reserveline (@$reserves) { push (@reservedata, \%row); } +# current alert subscriptions +my $alerts = getalert($bornum); +foreach (@$alerts) { + $_->{$_->{type}}=1; + $_->{relatedto} = findrelatedto($_->{type},$_->{externalid}); +} +my $picture; +my $htdocs = C4::Context->config('intrahtdocs'); +$picture = "/borrowerimages/".$bornum.".jpg"; +if (-e $htdocs."$picture") +{ + $template->param(picture => $picture) +}; $template->param($data); $template->param( bornum => $bornum, + totalprice =>$totalprice, totaldue =>$total, issueloop => \@issuedata, + unvalidlibrarian => $unvalidlibrarian, reserveloop => \@reservedata); output_html_with_http_headers $input, $cookie, $template->output;