Bug Fixing : itemization would create undesirable items
[koha.git] / serials / distributedto.pl
index df8e8e6..d90f807 100755 (executable)
 # 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');
@@ -54,49 +65,38 @@ $searchfield=~ s/\,//g;
 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;
-