From 48dfb6b284a7b0cab01e7c141408080f8376f405 Mon Sep 17 00:00:00 2001 From: Eric Bollengier Date: Thu, 8 Nov 2007 20:17:29 +0000 Subject: [PATCH] ebl Add Prev/Next (display only 1000 lines) button to Job Log view git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@5878 91ce42f0-d328-0410-95d8-f526ca767f89 --- gui/bweb/ReleaseNotes | 2 + gui/bweb/lang/es/tpl/display_client_job.tpl | 65 ----------------- gui/bweb/lang/es/tpl/display_log.tpl | 71 +++++++++++++++++++ gui/bweb/lang/fr/tpl/display_client_job.tpl | 65 ----------------- gui/bweb/lang/fr/tpl/display_log.tpl | 71 +++++++++++++++++++ gui/bweb/lib/Bweb.pm | 50 ++++++------- gui/bweb/script/bweb-postgresql.sql | 20 ++++++ .../script/upgrade-2.2_3.0_postgresql.sql | 19 +++++ gui/bweb/tpl/display_client_job.tpl | 65 ----------------- gui/bweb/tpl/display_log.tpl | 71 +++++++++++++++++++ gui/debian/changelog | 1 + 11 files changed, 281 insertions(+), 219 deletions(-) delete mode 100644 gui/bweb/lang/es/tpl/display_client_job.tpl delete mode 100644 gui/bweb/lang/fr/tpl/display_client_job.tpl delete mode 100644 gui/bweb/tpl/display_client_job.tpl diff --git a/gui/bweb/ReleaseNotes b/gui/bweb/ReleaseNotes index 1ecd637ad1..fe08902b62 100644 --- a/gui/bweb/ReleaseNotes +++ b/gui/bweb/ReleaseNotes @@ -1,4 +1,6 @@ Release Notes for bweb 2.2 +2007/11/08 + - Add Prev/Next on job log output 2007/10/31 - Add a error filter to Job zoom view diff --git a/gui/bweb/lang/es/tpl/display_client_job.tpl b/gui/bweb/lang/es/tpl/display_client_job.tpl deleted file mode 100644 index ba62845fd3..0000000000 --- a/gui/bweb/lang/es/tpl/display_client_job.tpl +++ /dev/null @@ -1,65 +0,0 @@ -
-
-

ültimos jobs de () -

-
-
- -
- - - backup size - - - backup duration - - - backup rate - -
- - - diff --git a/gui/bweb/lang/es/tpl/display_log.tpl b/gui/bweb/lang/es/tpl/display_log.tpl index f71f2098c9..22164090c0 100644 --- a/gui/bweb/lang/es/tpl/display_log.tpl +++ b/gui/bweb/lang/es/tpl/display_log.tpl @@ -6,4 +6,75 @@
 
   
+ + + + diff --git a/gui/bweb/lang/fr/tpl/display_client_job.tpl b/gui/bweb/lang/fr/tpl/display_client_job.tpl deleted file mode 100644 index 0440f5546b..0000000000 --- a/gui/bweb/lang/fr/tpl/display_client_job.tpl +++ /dev/null @@ -1,65 +0,0 @@ -
-
-

Historique de () -

-
-
- -
- - - taille des sauvegardes - - - durée des sauvegardes - - - vitesse des sauvegardes - -
- - - diff --git a/gui/bweb/lang/fr/tpl/display_log.tpl b/gui/bweb/lang/fr/tpl/display_log.tpl index d093f58a38..d4ffea3f3e 100644 --- a/gui/bweb/lang/fr/tpl/display_log.tpl +++ b/gui/bweb/lang/fr/tpl/display_log.tpl @@ -6,4 +6,75 @@
 
   
+ + + + diff --git a/gui/bweb/lib/Bweb.pm b/gui/bweb/lib/Bweb.pm index 2df26caabd..40a54f93e2 100644 --- a/gui/bweb/lib/Bweb.pm +++ b/gui/bweb/lib/Bweb.pm @@ -3736,17 +3736,8 @@ sub get_job_log if ($arg->{limit} == 100) { $arg->{limit} = 1000; } - - my $t = CGI::param('time') || $self->{info}->{display_log_time} || ''; - - # display only Error and Warning messages - my $filter = ''; - if (CGI::param('error')) { - $filter = " AND LogText $self->{sql}->{MATCH} 'Error|Warning' "; - } - # get security filter - $filter .= $self->get_client_filter(); + my $filter = $self->get_client_filter(); my $query = " SELECT Job.Name as name, Client.Name as clientname @@ -3760,33 +3751,44 @@ SELECT Job.Name as name, Client.Name as clientname return $self->error("Can't find $arg->{jobid} in catalog"); } + # display only Error and Warning messages + $filter = ''; + if (CGI::param('error')) { + $filter = " AND LogText $self->{sql}->{MATCH} 'Error|Warning' "; + } + + my $logtext; + if (CGI::param('time') || $self->{info}->{display_log_time}) { + $logtext = 'LogText'; + } else { + $logtext = $self->dbh_strcat('Time', ' ', 'LogText') + } + $query = " -SELECT Time AS time, LogText AS log - FROM Log - WHERE ( Log.JobId = $arg->{jobid} - OR (Log.JobId = 0 AND Time >= (SELECT StartTime FROM Job WHERE JobId=$arg->{jobid}) +SELECT count(1) AS nbline, JobId AS jobid, group_concat($logtext) AS lines + FROM ( + SELECT JobId, Time, LogText + FROM Log + WHERE ( Log.JobId = $arg->{jobid} + OR (Log.JobId = 0 AND Time >= (SELECT StartTime FROM Job WHERE JobId=$arg->{jobid}) AND Time <= (SELECT COALESCE(EndTime,NOW()) FROM Job WHERE JobId=$arg->{jobid}) ) ) $filter ORDER BY LogId LIMIT $arg->{limit} OFFSET $arg->{offset} + ) AS temp + GROUP BY JobId + "; - my $log = $self->dbh_selectall_arrayref($query); + my $log = $self->dbh_selectrow_hashref($query); unless ($log) { return $self->error("Can't get log for jobid $arg->{jobid}"); } - my $logtxt; - if ($t) { - # log contains \n - $logtxt = join("", map { ($_->[0] . ' ' . $_->[1]) } @$log ) ; - } else { - $logtxt = join("", map { $_->[1] } @$log ) ; - } - - $self->display({ lines=> $logtxt, + $self->display({ lines=> $log->{lines}, + nbline => $log->{nbline}, jobid => $arg->{jobid}, name => $row->{name}, client => $row->{clientname}, diff --git a/gui/bweb/script/bweb-postgresql.sql b/gui/bweb/script/bweb-postgresql.sql index ecd20e50a5..3170cae449 100644 --- a/gui/bweb/script/bweb-postgresql.sql +++ b/gui/bweb/script/bweb-postgresql.sql @@ -2,6 +2,26 @@ -- -------------------------------------------------- -- Upgrade from 2.2 -- -------------------------------------------------- + +CREATE FUNCTION concat (text, text) RETURNS text AS ' +DECLARE +result text; +BEGIN +IF $1 is not null THEN +result := $1 || $2; +END IF; + +RETURN result; +END; +' LANGUAGE plpgsql; + +CREATE AGGREGATE group_concat( +sfunc = concat, +basetype = text, +stype = text, +initcond = '' +); + BEGIN; CREATE TABLE bweb_user ( diff --git a/gui/bweb/script/upgrade-2.2_3.0_postgresql.sql b/gui/bweb/script/upgrade-2.2_3.0_postgresql.sql index 5c7decee12..f9eccb752f 100644 --- a/gui/bweb/script/upgrade-2.2_3.0_postgresql.sql +++ b/gui/bweb/script/upgrade-2.2_3.0_postgresql.sql @@ -2,6 +2,25 @@ -- Upgrade from 2.2 -- -------------------------------------------------- +CREATE FUNCTION concat (text, text) RETURNS text AS ' +DECLARE +result text; +BEGIN +IF $1 is not null THEN +result := $1 || $2; +END IF; + +RETURN result; +END; +' LANGUAGE plpgsql; + +CREATE AGGREGATE group_concat( +sfunc = concat, +basetype = text, +stype = text, +initcond = '' +); + BEGIN; CREATE TABLE bweb_user ( diff --git a/gui/bweb/tpl/display_client_job.tpl b/gui/bweb/tpl/display_client_job.tpl deleted file mode 100644 index 33199f279f..0000000000 --- a/gui/bweb/tpl/display_client_job.tpl +++ /dev/null @@ -1,65 +0,0 @@ -
-
-

Last jobs for () -

-
-
- -
- - - backup size - - - backup duration - - - backup rate - -
- - - diff --git a/gui/bweb/tpl/display_log.tpl b/gui/bweb/tpl/display_log.tpl index 251a7b094a..28ec41acdf 100644 --- a/gui/bweb/tpl/display_log.tpl +++ b/gui/bweb/tpl/display_log.tpl @@ -6,4 +6,75 @@
 
   
+ + + + diff --git a/gui/debian/changelog b/gui/debian/changelog index cc0ab0ca5f..238e7c25e1 100644 --- a/gui/debian/changelog +++ b/gui/debian/changelog @@ -1,6 +1,7 @@ bweb (2.2.6-1) stable; urgency=low * Replace VolStatus by Enabled in volume location * Add Enabled in volume update and zoom + * Add Prev/Next on job log output * Add a error filter to Job zoom view -- Eric Bollengier Tue, 30 Oct 2007 22:15:47 +0000 -- 2.39.5