From f2c8126866641d9b1dab7559113f7a5ee91277b8 Mon Sep 17 00:00:00 2001 From: Chris Cormack Date: Mon, 29 Oct 2007 13:19:56 -0500 Subject: [PATCH] Adding scheduler Signed-off-by: Chris Cormack Signed-off-by: Joshua Ferraro --- .../prog/en/modules/tools/tools-home.tmpl | 3 + tools/scheduler.pl | 72 +++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100755 tools/scheduler.pl diff --git a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tmpl b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tmpl index 98046f75f0..88c05af97f 100644 --- a/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tmpl +++ b/koha-tmpl/intranet-tmpl/prog/en/modules/tools/tools-home.tmpl @@ -53,6 +53,9 @@
Log viewer
Browse the system logs
+ +
Scheduler
+
Schedule tasks to run
diff --git a/tools/scheduler.pl b/tools/scheduler.pl new file mode 100755 index 0000000000..4d655803cc --- /dev/null +++ b/tools/scheduler.pl @@ -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; -- 2.39.5