From 5408225515657553050a133107347336a6758206 Mon Sep 17 00:00:00 2001 From: Colin Campbell Date: Mon, 2 Sep 2013 14:22:39 +0100 Subject: [PATCH] Commit Housebound Updates http://bugs.koha-community.org/show_bug.cgi?id=5670 --- C4/Housebound.pm | 55 +++++----- .../prog/en/modules/members/houseboundedit.tt | 1 - members/houseboundedit.pl | 98 +++++++++--------- members/houseboundinstances.pl | 105 ++++++++++---------- 4 files changed, 132 insertions(+), 127 deletions(-) diff --git a/C4/Housebound.pm b/C4/Housebound.pm index 9a4207b..4f21b30 100644 --- a/C4/Housebound.pm +++ b/C4/Housebound.pm @@ -20,7 +20,7 @@ package C4::Housebound; use strict; use warnings; use C4::Context; -use parent qw(Exporter); +use base qw(Exporter); our $VERSION = 3.02; our @EXPORT = qw( @@ -76,10 +76,9 @@ sub GetHouseboundDetails { my ($borrowernumber) = @_; if ($borrowernumber) { my $dbh = C4::Context->dbh; - my $sth = - $dbh->prepare('select * from housebound where borrowernumber=?'); - $sth->execute($borrowernumber); - return $sth->fetchrow_hashref; + return $dbh->selectrow_hashref( + 'select * from housebound where borrowernumber=?', + {}, $borrowernumber ); } return; } @@ -123,12 +122,19 @@ sub GetCurrentHouseboundInstanceList { my ($borrowernumber) = @_; if ($borrowernumber) { my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare( -q|SELECT housebound_instance . * , concat( volunteer.firstname, ' ', volunteer.surname ) AS vol, concat(chooser.firstname, ' ', chooser.surname) as cho, concat(deliverer.firstname, ' ', deliverer.surname) as del FROM housebound_instance left JOIN borrowers volunteer ON volunteer.borrowernumber = housebound_instance.volunteer left join borrowers chooser on chooser.borrowernumber = housebound_instance.chooser left join borrowers deliverer on deliverer.borrowernumber = housebound_instance.deliverer where housebound_instance.borrowernumber=? order by housebound_instance.dmy desc| - ); - $sth->execute($borrowernumber); - my $housebound_instances = $sth->fetchall_arrayref( {} ); - return $housebound_instances; + my $sql =<<'END_SQL'; +SELECT housebound_instance . * , concat( volunteer.firstname, ' ', volunteer.surname ) AS vol, + concat(chooser.firstname, ' ', chooser.surname) as cho, + concat(deliverer.firstname, ' ', deliverer.surname) as del + FROM housebound_instance + left JOIN borrowers volunteer ON volunteer.borrowernumber = housebound_instance.volunteer + left join borrowers chooser on chooser.borrowernumber = housebound_instance.chooser + left join borrowers deliverer on deliverer.borrowernumber = housebound_instance.deliverer + where housebound_instance.borrowernumber=? + order by housebound_instance.dmy desc +END_SQL + return $dbh->selectall_arrayref( $sql, { Slice => {} }, + $borrowernumber ); } return; } @@ -137,33 +143,32 @@ sub GetVolunteerNameAndID { my ($borrowernumber) = @_; if ($borrowernumber) { my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare( -"select borrowernumber,title,firstname,surname from borrowers where borrowernumber=?" + return $dbh->selectrow_hashref( +'select borrowernumber,title,firstname,surname from borrowers where borrowernumber=?', + {}, $borrowernumber ); - $sth->execute($borrowernumber); - my $volunteer = $sth->fetchrow_hashref; - return $volunteer; } return; } sub GetVolunteerList { my $dbh = C4::Context->dbh; - my $sth = $dbh->prepare( -q|SELECT borrowernumber as volbornumber, concat(title, ' ', firstname, ' ', surname) as fullname from borrowers where categorycode='VOL' order by surname, firstname asc| - ); - $sth->execute(); - return $sth->fetchall_arrayref( {} ); + my $sql = <<'GVL_END'; +SELECT borrowernumber as volbornumber, + concat(title, ' ', firstname, ' ', surname) as fullname + from borrowers where categorycode='VOL' + order by surname, firstname asc +GVL_END + return $dbh->selectall_arrayref( $sql, { Slice => {} } ); } sub GetHouseboundInstanceDetails { my ($instanceid) = @_; if ($instanceid) { my $dbh = C4::Context->dbh; - my $sth = - $dbh->prepare('SELECT * from housebound_instance where instanceid=?'); - $sth->execute($instanceid); - return $sth->fetchrow_hashref; + return $dbh->selectrow_hashref( + 'SELECT * from housebound_instance where instanceid=?', + {}, $instanceid ); } # return undef if no instanceid diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/members/houseboundedit.tt b/koha-tmpl/intranet-tmpl/prog/en/modules/members/houseboundedit.tt index ce98204..92a6957 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/members/houseboundedit.tt +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/members/houseboundedit.tt @@ -20,7 +20,6 @@ function check_form_housebound()

Edit housebound details for [% title %] [% firstname %] [% surname %] [% IF ( cardnumber ) %]([% cardnumber %])[% END %]

-
diff --git a/members/houseboundedit.pl b/members/houseboundedit.pl index 7f76ccf..6734a2b 100755 --- a/members/houseboundedit.pl +++ b/members/houseboundedit.pl @@ -28,20 +28,17 @@ use C4::Koha; use C4::Branch; use C4::Housebound; -use vars qw($debug); - -BEGIN { - $debug = $ENV{DEBUG} || 0; -} +our $debug = $ENV{DEBUG} || 0; my $input = CGI->new(); my $dbh = C4::Context->dbh; my ( $template, $loggedinuser, $cookie ) = get_template_and_user( - { template_name => "members/houseboundedit.tmpl", + { + template_name => 'members/houseboundedit.tmpl', query => $input, - type => "intranet", + type => 'intranet', authnotrequired => 0, flagsrequired => { borrowers => 1 }, debug => ($debug) ? 1 : 0, @@ -50,7 +47,7 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( my $borrowernumber = $input->param('borrowernumber'); my $op = $input->param('op'); -if ( $op eq "editsubmit" ) { +if ( $op eq 'editsubmit' ) { UpdateHouseboundDetails( $input->param('hbnumber'), $input->param('borrowernumber'), $input->param('day'), $input->param('frequency'), @@ -62,7 +59,7 @@ if ( $op eq "editsubmit" ) { "/cgi-bin/koha/members/housebound.pl?borrowernumber=$borrowernumber"; print "Location: $url"; } -if ( $op eq "addsubmit" ) { +if ( $op eq 'addsubmit' ) { CreateHouseboundDetails( $input->param('borrowernumber'), $input->param('day'), $input->param('frequency'), $input->param('Itype_quant'), @@ -73,69 +70,76 @@ if ( $op eq "addsubmit" ) { "/cgi-bin/koha/members/housebound.pl?borrowernumber=$borrowernumber"; print "Location: $url"; } -if ( $op eq "edit" ) { - $template->param( opeditsubmit => "editsubmit" ); +if ( $op eq 'edit' ) { + $template->param( opeditsubmit => 'editsubmit' ); } -if ( $op eq "add" ) { - $template->param( opaddsubmit => "addsubmit" ); +if ( $op eq 'add' ) { + $template->param( opaddsubmit => 'addsubmit' ); } my $borrowerdetails = C4::Members::GetMemberDetails($borrowernumber); -my $branchdetail = GetBranchDetail( $borrowerdetails->{'branchcode'} ); +my $branchdetail = GetBranchDetail( $borrowerdetails->{branchcode} ); my $categorydetail = GetMember( $borrowernumber, 'borrowernumber' ); my $housebound = GetHouseboundDetails($borrowernumber); $template->param( - surname => $borrowerdetails->{'surname'}, - firstname => $borrowerdetails->{'firstname'}, - cardnumber => $borrowerdetails->{'cardnumber'}, - borrowernumber => $borrowerdetails->{'borrowernumber'}, + surname => $borrowerdetails->{surname}, + firstname => $borrowerdetails->{firstname}, + cardnumber => $borrowerdetails->{cardnumber}, + borrowernumber => $borrowerdetails->{borrowernumber}, houseboundview => 'on', - address => $borrowerdetails->{'address'}, - address2 => $borrowerdetails->{'address2'}, - city => $borrowerdetails->{'city'}, - phone => $borrowerdetails->{'phone'}, - phonepro => $borrowerdetails->{'phonepro'}, - mobile => $borrowerdetails->{'mobile'}, - email => $borrowerdetails->{'email'}, - emailpro => $borrowerdetails->{'emailpro'}, - categoryname => $categorydetail->{'description'}, - categorycode => $borrowerdetails->{'categorycode'}, - branch => $borrowerdetails->{'branch'}, + address => $borrowerdetails->{address}, + address2 => $borrowerdetails->{address2}, + city => $borrowerdetails->{city}, + phone => $borrowerdetails->{phone}, + phonepro => $borrowerdetails->{phonepro}, + mobile => $borrowerdetails->{mobile}, + email => $borrowerdetails->{email}, + emailpro => $borrowerdetails->{emailpro}, + categoryname => $categorydetail->{description}, + categorycode => $borrowerdetails->{categorycode}, + branch => $borrowerdetails->{branch}, branchname => $branchdetail->{branchname}, - zipcode => $borrowerdetails->{'zipcode'} + zipcode => $borrowerdetails->{zipcode} ); $template->param( - hbnumber => $housebound->{'hbnumber'}, - day => $housebound->{'day'}, - frequency => $housebound->{'frequency'}, - Itype_quant => $housebound->{'Itype_quant'}, - Item_subject => $housebound->{'Item_subject'}, - Item_authors => $housebound->{'Item_authors'}, - referral => $housebound->{'referral'}, - notes => $housebound->{'notes'} + hbnumber => $housebound->{hbnumber}, + day => $housebound->{day}, + frequency => $housebound->{frequency}, + Itype_quant => $housebound->{Itype_quant}, + Item_subject => $housebound->{Item_subject}, + Item_authors => $housebound->{Item_authors}, + referral => $housebound->{referral}, + notes => $housebound->{notes} ); -if ( $housebound->{'day'} eq "Sunday" ) { +if ( $housebound->{day} eq 'Sunday' ) { $template->param( dsun => 1 ); -} elsif ( $housebound->{'day'} eq "Monday" ) { +} +elsif ( $housebound->{day} eq 'Monday' ) { $template->param( dmon => 1 ); -} elsif ( $housebound->{'day'} eq "Tuesday" ) { +} +elsif ( $housebound->{day} eq 'Tuesday' ) { $template->param( dtue => 1 ); -} elsif ( $housebound->{'day'} eq "Wednesday" ) { +} +elsif ( $housebound->{day} eq 'Wednesday' ) { $template->param( dwed => 1 ); -} elsif ( $housebound->{'day'} eq "Thursday" ) { +} +elsif ( $housebound->{day} eq 'Thursday' ) { $template->param( dthu => 1 ); -} elsif ( $housebound->{'day'} eq "Friday" ) { +} +elsif ( $housebound->{day} eq 'Friday' ) { $template->param( dfri => 1 ); -} elsif ( $housebound->{'day'} eq "Saturday" ) { +} +elsif ( $housebound->{day} eq 'Saturday' ) { $template->param( dsat => 1 ); } -if ( $housebound->{'frequency'} eq "Week 1/3" ) { +if ( $housebound->{frequency} eq 'Week 1/3' ) { $template->param( wk1 => 1 ); -} elsif ( $housebound->{'frequency'} eq "Week 2/4" ) { +} +elsif ( $housebound->{frequency} eq 'Week 2/4' ) { $template->param( wk2 => 1 ); } diff --git a/members/houseboundinstances.pl b/members/houseboundinstances.pl index 91fec46..3a8bfdc 100755 --- a/members/houseboundinstances.pl +++ b/members/houseboundinstances.pl @@ -29,20 +29,17 @@ use C4::Branch; use C4::Housebound; use C4::Dates; -use vars qw($debug); - -BEGIN { - $debug = $ENV{DEBUG} || 0; -} +our $debug = $ENV{DEBUG} || 0; my $input = CGI->new(); my $dbh = C4::Context->dbh; my ( $template, $loggedinuser, $cookie ) = get_template_and_user( - { template_name => "members/houseboundinstances.tmpl", + { + template_name => 'members/houseboundinstances.tmpl', query => $input, - type => "intranet", + type => 'intranet', authnotrequired => 0, flagsrequired => { borrowers => 1 }, debug => ($debug) ? 1 : 0, @@ -52,16 +49,16 @@ my ( $template, $loggedinuser, $cookie ) = get_template_and_user( my $borrowernumber = $input->param('borrowernumber'); my $op = $input->param('op'); -if ( $op eq "add" ) { - $template->param( opadd => 1, op => "addsubmit" ); +if ( $op eq 'add' ) { + $template->param( opadd => 1, op => 'addsubmit' ); } -if ( $op eq "edit" ) { - $template->param( opedit => 1, op => "editsubmit" ); +if ( $op eq 'edit' ) { + $template->param( opedit => 1, op => 'editsubmit' ); } -if ( $op eq "del" ) { - $template->param( opdel => 1, op => "delsubmit" ); +if ( $op eq 'del' ) { + $template->param( opdel => 1, op => 'delsubmit' ); } -if ( $op eq "addsubmit" ) { +if ( $op eq 'addsubmit' ) { CreateHouseboundInstanceDetails( $input->param('hbnumber'), $input->param('dmy'), $input->param('time'), $input->param('borrowernumber'), @@ -78,7 +75,7 @@ if ( $op eq "delsubmit" ) { "/cgi-bin/koha/members/housebound.pl?borrowernumber=$borrowernumber"; print "Location: $url"; } -if ( $op eq "editsubmit" ) { +if ( $op eq 'editsubmit' ) { UpdateHouseboundInstanceDetails( $input->param('instanceid'), $input->param('hbnumber'), $input->param('dmy'), $input->param('time'), @@ -100,70 +97,70 @@ my $delivererlist = GetVolunteerList(); my $delinstanceid = $input->param('instanceid'); my $instanceid = $input->param('instanceid'); my $instancedetails = GetHouseboundInstanceDetails($instanceid); -my $selectedvolunteer = $instancedetails->{'volunteer'}; -my $selectedchooser = $instancedetails->{'chooser'}; -my $selecteddeliverer = $instancedetails->{'deliverer'}; +my $selectedvolunteer = $instancedetails->{volunteer}; +my $selectedchooser = $instancedetails->{chooser}; +my $selecteddeliverer = $instancedetails->{deliverer}; -foreach my $ivol (@$volunteerlist) { +foreach my $ivol ( @{$volunteerlist} ) { $ivol->{selected} = 'selected' - if $ivol->{'volbornumber'} == $selectedvolunteer; + if $ivol->{volbornumber} == $selectedvolunteer; } -foreach my $icho (@$chooserlist) { +foreach my $icho ( @{$chooserlist} ) { $icho->{selected} = 'selected' - if $icho->{'volbornumber'} == $selectedchooser; + if $icho->{volbornumber} == $selectedchooser; } foreach my $idel (@$delivererlist) { $idel->{selected} = 'selected' - if $idel->{'volbornumber'} == $selecteddeliverer; + if $idel->{volbornumber} == $selecteddeliverer; } -if ( $instancedetails->{'time'} eq "am" ) { +if ( $instancedetails->{time} eq 'am' ) { $template->param( timeam => 1 ); } -if ( $instancedetails->{'time'} eq "pm" ) { +if ( $instancedetails->{time} eq 'pm' ) { $template->param( timepm => 1 ); } $template->param( - surname => $borrowerdetails->{'surname'}, - firstname => $borrowerdetails->{'firstname'}, - cardnumber => $borrowerdetails->{'cardnumber'}, - borrowernumber => $borrowerdetails->{'borrowernumber'}, + surname => $borrowerdetails->{surname}, + firstname => $borrowerdetails->{firstname}, + cardnumber => $borrowerdetails->{cardnumber}, + borrowernumber => $borrowerdetails->{borrowernumber}, houseboundview => 'on', - address => $borrowerdetails->{'address'}, - address2 => $borrowerdetails->{'address2'}, - city => $borrowerdetails->{'city'}, - phone => $borrowerdetails->{'phone'}, - phonepro => $borrowerdetails->{'phonepro'}, - mobile => $borrowerdetails->{'mobile'}, - email => $borrowerdetails->{'email'}, - emailpro => $borrowerdetails->{'emailpro'}, - categoryname => $categorydetail->{'description'}, - categorycode => $borrowerdetails->{'categorycode'}, - branch => $borrowerdetails->{'branch'}, + address => $borrowerdetails->{address}, + address2 => $borrowerdetails->{address2}, + city => $borrowerdetails->{city}, + phone => $borrowerdetails->{phone}, + phonepro => $borrowerdetails->{phonepro}, + mobile => $borrowerdetails->{mobile}, + email => $borrowerdetails->{email}, + emailpro => $borrowerdetails->{emailpro}, + categoryname => $categorydetail->{description}, + categorycode => $borrowerdetails->{categorycode}, + branch => $borrowerdetails->{branch}, branchname => $branchdetail->{branchname}, - zipcode => $borrowerdetails->{'zipcode'} + zipcode => $borrowerdetails->{zipcode} ); $template->param( - hbnumber => $housebound->{'hbnumber'}, - day => $housebound->{'day'}, - frequency => $housebound->{'frequency'}, - Itype_quant => $housebound->{'Itype_quant'}, - Item_subject => $housebound->{'Item_subject'}, - Item_authors => $housebound->{'Item_authors'}, - referral => $housebound->{'referral'}, - notes => $housebound->{'notes'}, + hbnumber => $housebound->{hbnumber}, + day => $housebound->{day}, + frequency => $housebound->{frequency}, + Itype_quant => $housebound->{Itype_quant}, + Item_subject => $housebound->{Item_subject}, + Item_authors => $housebound->{Item_authors}, + referral => $housebound->{referral}, + notes => $housebound->{notes}, DHTMLcalendar_dateformat => C4::Dates->DHTMLcalendar(), volunteerlist => $volunteerlist, chooserlist => $chooserlist, delivererlist => $delivererlist, delinstanceid => $delinstanceid, instanceid => $instanceid, - dmy => $instancedetails->{'dmy'}, - time => $instancedetails->{'time'}, - volunteer => $instancedetails->{'volunteer'}, - chooser => $instancedetails->{'chooser'}, - deliverer => $instancedetails->{'deliverer'} + dmy => $instancedetails->{dmy}, + time => $instancedetails->{time}, + volunteer => $instancedetails->{volunteer}, + chooser => $instancedetails->{chooser}, + deliverer => $instancedetails->{deliverer} ); output_html_with_http_headers $input, $cookie, $template->output; -- 1.7.10.4