Adding scheduler
authorChris Cormack <crc@liblime.com>
Mon, 29 Oct 2007 18:19:56 +0000 (13:19 -0500)
committerJoshua Ferraro <jmf@liblime.com>
Mon, 29 Oct 2007 21:11:32 +0000 (16:11 -0500)
Signed-off-by: Chris Cormack <crc@liblime.com>
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tmpl
tools/scheduler.pl [new file with mode: 0755]

index 98046f7..88c05af 100644 (file)
@@ -53,6 +53,9 @@
 
     <dt><a href="/cgi-bin/koha/tools/viewlog.pl">Log viewer</a></dt>
     <dd>Browse the system logs</dd>
+
+    <dt><a href="/cgi-bin/koha/tools/scheduler.pl">Scheduler</a></dt>
+    <dd>Schedule tasks to run</dd>
 </dl>
 </div>
 
diff --git a/tools/scheduler.pl b/tools/scheduler.pl
new file mode 100755 (executable)
index 0000000..4d65580
--- /dev/null
@@ -0,0 +1,72 @@
+#!/usr/bin/perl
+
+# Copyright 2007 Liblime Ltd
+#
+# This file is part of Koha.
+#
+# Koha is free software; you can redistribute it and/or modify it under the
+# terms of the GNU General Public License as published by the Free Software
+# Foundation; either version 2 of the License, or (at your option) any later
+# version.
+#
+# Koha is distributed in the hope that it will be useful, but WITHOUT ANY
+# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
+# A PARTICULAR PURPOSE.  See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along with
+# Koha; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
+# Suite 330, Boston, MA  02111-1307 USA
+
+use strict;
+use C4::Scheduler;
+use C4::Reports;
+use C4::Auth;                                                                                                                                              
+use CGI;                                                                                                                                                   
+use C4::Output;                                                                                                                                            
+
+my $input = new CGI;
+my ( $template, $borrowernumber, $cookie ) = get_template_and_user(
+           {
+                               template_name   => "tools/scheduler.tmpl",
+                                 query           => $input,
+                                 type            => "intranet",
+                                 authnotrequired => 0,
+                                 flagsrequired   => { editcatalogue => 1 },
+                                 debug           => 1,
+                             }
+       ); 
+
+my $mode=$input->param('mode');
+if ($mode eq 'job_add') {
+       my $startday   = $input->param('startday');
+       my $startmonth = $input->param('startmonth');
+       my $startyear  = $input->param('startyear');
+       my $starttime  = $input->param('starttime');
+       $starttime  =~ s/\://g;
+       my $start = $startyear . $startmonth . $startday . $starttime;
+       my $report=$input->param('report');
+       my $format=$input->param('format');
+       my $email=$input->param('email');
+       my $base = "/nzkoha/intranet";   # EDIT THIS
+       my $command = "EXPORT KOHA_CONF=\"/nzkoha/etc/koha-kapiti.conf\"; ".$base."/tools/runreport.pl $report $format $email"; # EDIT THIS
+       add_job($start,$command);
+}
+
+if ($mode eq 'job_change'){
+       my $jobid = $input->param('jobid');
+       if ($input->param('delete')){
+               remove_job($jobid);
+       }
+}
+my $jobs = get_jobs();
+my @jobloop;
+ foreach my $job (values %$jobs) {
+                    push @jobloop,$job;
+                }
+@jobloop = sort {$a->{TIME} cmp $b->{TIME}} @jobloop;
+my $reports = get_saved_reports();                                                                                                                     
+$template->param( 'savedreports' => $reports ); 
+$template->param(JOBS => \@jobloop);
+my $time = localtime(time);
+$template->param('time' => $time);
+output_html_with_http_headers $input, $cookie, $template->output;