# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
# Suite 330, Boston, MA 02111-1307 USA
+
+=head1 NAME
+
+distributedto
+
+=head1 DESCRIPTION
+
+this script is launched as a popup. It allows to choose for who the subscription can be distributed.
+
+=head1 PARAMETERS
+
+=over 4
+
+=item searchfield
+to filter on the members.
+
+=item distributedto
+to know if there are already some members to in the distributed list
+
+=item subscriptionid
+to know what subscription this scrpit have to distribute.
+
+=item SaveList
+
+=back
+
+=cut
+
+
use strict;
use CGI;
use C4::Date;
use C4::Auth;
use C4::Context;
use C4::Output;
-use C4::Interface::CGI::Output;
-use C4::Search;
-use HTML::Template;
-
-sub StringSearch {
- my ($searchstring)=@_;
- my $dbh = C4::Context->dbh;
- $searchstring=~ s/\'/\\\'/g;
- my @data=split(' ',$searchstring);
- my $count=@data;
- my $sth=$dbh->prepare("Select surname,firstname from borrowers where (surname like ?) order by surname");
- $sth->execute("$data[0]%");
- my @results;
- my $cnt=0;
- while (my $data=$sth->fetchrow_hashref){
- push(@results,$data);
- $cnt ++;
- }
- $sth->finish;
- return($cnt,\@results);
-}
+
+use C4::Serials;
+use C4::Members;
my $input = new CGI;
my $searchfield=$input->param('searchfield');
my $SaveList=$input->param('SaveList');
my $dbh = C4::Context->dbh;
-unless ($distributedto) {
- # read the previous distributedto
- my $sth = $dbh->prepare('select distributedto from subscription where subscriptionid=?');
- $sth->execute($subscriptionid);
- ($distributedto) = $sth->fetchrow;
-}
+$distributedto = GetDistributedTo($subscriptionid) unless $distributedto;
+
+SetDistributedto($distributedto,$subscriptionid) if ($SaveList) ;
-if ($SaveList) {
- my $sth = $dbh->prepare("update subscription set distributedto=? where subscriptionid=?");
- $sth->execute($distributedto,$subscriptionid);
-}
my ($template, $borrowernumber, $cookie)
= get_template_and_user({template_name => "serials/distributedto.tmpl",
- query => $input,
- type => "intranet",
- authnotrequired => 0,
- flagsrequired => {cataloguing => 1},
- debug => 1,
- });
-
-my $env;
-my $count=0;
-my $results;
-($count,$results)=StringSearch($searchfield) if $searchfield;
+ query => $input,
+ type => "intranet",
+ authnotrequired => 0,
+ flagsrequired => {serials => 1},
+ debug => 1,
+ });
+
+my ($count,$results)=SearchMember($searchfield,"firstname","simple",) if $searchfield;
my $toggle="0";
my @loop_data =();
for (my $i=0; $i < $count; $i++){
- if ($i % 2){
- $toggle=1;
- } else {
- $toggle=0;
- }
- my %row_data;
- $row_data{toggle} = $toggle;
- $row_data{firstname} = $results->[$i]{'firstname'};
- $row_data{surname} = $results->[$i]{'surname'};
- push(@loop_data, \%row_data);
+ if ($i % 2){
+ $toggle=1;
+ } else {
+ $toggle=0;
+ }
+ my %row_data;
+ $row_data{toggle} = $toggle;
+ $row_data{firstname} = $results->[$i]{'firstname'};
+ $row_data{surname} = $results->[$i]{'surname'};
+ push(@loop_data, \%row_data);
}
$template->param(borlist => \@loop_data,
- searchfield => $searchfield,
- distributedto => $distributedto,
- SaveList => $SaveList,
- subscriptionid => $subscriptionid,
- );
+ searchfield => $searchfield,
+ distributedto => $distributedto,
+ SaveList => $SaveList,
+ subscriptionid => $subscriptionid,
+ );
output_html_with_http_headers $input, $cookie, $template->output;
-