From 0b0730bd098e6cf8920db392a434d093bf4fdc7a Mon Sep 17 00:00:00 2001 From: Eric Bollengier Date: Thu, 27 Dec 2007 20:14:38 +0000 Subject: [PATCH] ebl Add Jobs -> Missing Job feature. Now, you can check if jobs are missing or have to be re-run. git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@6146 91ce42f0-d328-0410-95d8-f526ca767f89 --- gui/bweb/cgi/bweb.pl | 22 +----- gui/bweb/lang/en/tpl/begin.tpl | 1 + gui/bweb/lang/es/tpl/begin.tpl | 1 + gui/bweb/lang/fr/tpl/begin.tpl | 1 + gui/bweb/lib/Bweb.pm | 138 +++++++++++++++++++++++++++++---- gui/bweb/po/bweb.pot | 118 ++++++++++++++++++---------- gui/bweb/po/es.po | 120 ++++++++++++++++++---------- gui/bweb/po/fr.po | 121 +++++++++++++++++++---------- gui/bweb/technotes-2.3 | 2 + gui/bweb/tpl/begin.tpl | 1 + 10 files changed, 365 insertions(+), 160 deletions(-) diff --git a/gui/bweb/cgi/bweb.pl b/gui/bweb/cgi/bweb.pl index 1dc1a42b02..54805a151a 100755 --- a/gui/bweb/cgi/bweb.pl +++ b/gui/bweb/cgi/bweb.pl @@ -457,6 +457,9 @@ if ($action eq 'begin') { # main display } elsif ($action eq 'next_job2') { $bweb->display_next_job(); +} elsif ($action eq 'missing') { + $bweb->display_missing_job(); + } elsif ($action eq 'overview') { $bweb->can_do('r_view_job'); print "
\n"; @@ -496,27 +499,8 @@ __END__ TODO : - o Affichage des job en cours, termines - o Affichage du detail d'un job (status client) - o Acces aux log d'une sauvegarde - o Cancel d'un job - o Lancement d'un job - - o Affichage des medias (pool, cf bacweb) - o Affichage de la liste des cartouches - o Affichage d'un autochangeur - o Mise a jour des slots - o Label barcodes o Affichage des medias qui ont besoin d'etre change - - o Affichage des stats sur les dernieres sauvegardes (cf bacula-web) - o Affichage des stats sur un type de job o Affichage des infos de query.sql - Affichage des du TapeAlert sur le site - Recuperation des erreurs SCSI de /var/log/kern.log - - o update d'un volume - o update d'un pool - - o Configuration des autochanger a la main dans un hash dumper diff --git a/gui/bweb/lang/en/tpl/begin.tpl b/gui/bweb/lang/en/tpl/begin.tpl index 9e4e77c69d..d8934435c0 100644 --- a/gui/bweb/lang/en/tpl/begin.tpl +++ b/gui/bweb/lang/en/tpl/begin.tpl @@ -34,6 +34,7 @@ if ('Main' == ('_' + '_Main_' + '_')) {
  • Defined Jobs
  • Jobs by group
  • Jobs overview +
  • Missing Jobs
  • Last Jobs
  • Running Jobs
  • Next Jobs
  • diff --git a/gui/bweb/lang/es/tpl/begin.tpl b/gui/bweb/lang/es/tpl/begin.tpl index cf836acecf..4b8631e541 100644 --- a/gui/bweb/lang/es/tpl/begin.tpl +++ b/gui/bweb/lang/es/tpl/begin.tpl @@ -34,6 +34,7 @@ if ('Principal' == ('_' + '_Main_' + '_')) {
  • Jobs Definidos
  • Jobs by group
  • Jobs overview +
  • Missing Jobs
  • Últimos Jobs
  • Jobs en Ejecución
  • Próximos Jobs
  • diff --git a/gui/bweb/lang/fr/tpl/begin.tpl b/gui/bweb/lang/fr/tpl/begin.tpl index 0ed0935adf..5584043150 100644 --- a/gui/bweb/lang/fr/tpl/begin.tpl +++ b/gui/bweb/lang/fr/tpl/begin.tpl @@ -34,6 +34,7 @@ if ('Accueil' == ('_' + '_Main_' + '_')) {
  • Jobs définis
  • Jobs par groupe
  • Jobs overview +
  • Missing Jobs
  • Historique
  • Jobs en cours
  • Prochains jobs
  • diff --git a/gui/bweb/lib/Bweb.pm b/gui/bweb/lib/Bweb.pm index 461921ae2a..c0bb76dbae 100644 --- a/gui/bweb/lib/Bweb.pm +++ b/gui/bweb/lib/Bweb.pm @@ -1056,17 +1056,22 @@ sub new # we compare the current schedule date with begin and end # in a float form ex: 20071212.1243 > 20070101 if ($self->{begin} and $self->{end}) { + ($self->{fbegin}, $self->{fend}) = ($self->{begin}, $self->{end}); + $self->{fbegin} =~ s/(-|:)//g; $self->{fbegin} =~ s/ /./; + $self->{fend} =~ s/(-|:)//g; $self->{fend} =~ s/ /./; + } - $self->{begin} =~ s/(-|:)//g; - $self->{begin} =~ s/ /./; - $self->{end} =~ s/(-|:)//g; - $self->{end} =~ s/ /./; + bless($self,$class); - } else { - delete $self->{begin}; - delete $self->{end}; + if ($self->{bconsole}) { + my $sel = $self->{name}?"=\"$self->{name}\"":''; + my $b = $self->{bconsole}; + my $out = $b->send_cmd("show schedule$sel"); + $self->parse_scheds(split(/\r?\n/, $out)); + undef $self->{bconsole}; # useless now } - return bless($self,$class); + + return $self; } # cleanup and add a schedule @@ -1213,11 +1218,11 @@ sub get_events { foreach my $min (@{$s->{mins}}) # minute { - if ($self->{begin}) { + if ($self->{fbegin}) { no integer; my $d = sprintf('%d%0.2d%0.2d.%0.2d%0.2d', $year,$m,$md,$h,$min); - next if ($d < $self->{begin} or $d > $self->{end}); + next if ($d < $self->{fbegin} or $d > $self->{fend}); } push @ret, sprintf($format, $year,$m,$md,$h,$min); } @@ -1226,6 +1231,7 @@ sub get_events } return @ret; } +1; ################################################################ @@ -1776,7 +1782,7 @@ sub get_form } } elsif (exists $opt_t{$i}) { # 1: hh:min optionnal, 2: hh:min required my $when = CGI::param($i) || ''; - if ($when =~ /(\d{4}-\d{2}-\d{2}( \d{2}:\d{2}:\d{2}))/) { + if ($when =~ /(\d{4}-\d{2}-\d{2}( \d{2}:\d{2}:\d{2})?)/) { if ($opt_t{$i} == 1 or defined $2) { $ret{$i} = $1; } @@ -2976,6 +2982,22 @@ sub get_roles return 1; } +sub can_view_client +{ + my ($self, $client) = @_; + + my $filter = $self->get_client_filter(); + if (!$filter) { + return 1; + } + my $cont = $self->dbh_selectrow_hashref(" + SELECT 1 + FROM Client $filter + WHERE Name = '$client' +"); + return defined $cont; +} + sub cant_do { my ($self, $action) = @_; @@ -4576,6 +4598,7 @@ sub run_job_now sub display_next_job { my ($self) = @_; + my $arg = $self->get_form(qw/job begin end/); if (!$arg->{job}) { return $self->error("Can't get job name"); @@ -4593,9 +4616,8 @@ sub display_next_job $jpool = $1; } - my $out = $b->send_cmd("show schedule=\"$jsched\""); - my $sched = new Bweb::Sched(begin => $arg->{begin}, end => $arg->{end}); - $sched->parse_scheds(split(/\r?\n/, $out)); + my $sched = new Bweb::Sched(bconsole => $b, name => $jsched, + begin => $arg->{begin}, end => $arg->{end}); my $ss = $sched->get_scheds($jsched); my @ret; @@ -4610,4 +4632,92 @@ sub display_next_job print "$arg->{job}:
    ", sort @ret, "

    "; } +# check jobs against their schedule +sub check_job +{ + my ($self, $sched, $schedname, $job, $job_pool, $client) = @_; + return undef if (!$self->can_view_client($client)); + + my $sch = $sched->get_scheds($schedname); + return undef if (!$sch); + + my $end = $sched->{end}; # this backup must have start before the next one + my @ret; + foreach my $s (@$sch) { + my $pool = $sched->get_pool($s) || $job_pool; + my $level = $sched->get_level($s); + my ($l) = ($level =~ m/^(.)/); # we keep the first letter + my $evts = $sched->get_event($s); + + foreach my $evt (reverse @$evts) { + my $all = $self->dbh_selectrow_hashref(" + SELECT 1 + FROM Job JOIN Pool USING (PoolId) JOIN Client USING (ClientId) + WHERE Job.StartTime >= '$evt' + AND Job.StartTime < '$end' + AND Job.Type = 'B' + AND Job.Name = '$job' + AND Job.JobStatus = 'T' + AND Job.Level = '$l' +" . ($pool?" AND Pool.Name = '$pool' ":'') . " + AND Client.Name = '$client' + LIMIT 1 +"); + if ($all) { +# print "ok $job "; + } else { + push @{$self->{tmp}}, {date => $evt, level => $level, + type => 'Backup', name => $job, + pool => $pool, volume => $pool}; + } + $end = $evt; + } + } +} + +sub display_missing_job +{ + my ($self) = @_; + my $arg = $self->get_form(qw/begin end/); + + if (!$arg->{begin}) { # TODO: change this + $arg->{begin} = strftime('%F %T', localtime(time - 24*60*60 )); + } + if (!$arg->{end}) { + $arg->{end} = strftime('%F %T', localtime(time)); + } + $self->{tmp} = []; # check_job use this for result + + my $bconsole = $self->get_bconsole(); + + my $sched = new Bweb::Sched(bconsole => $bconsole, + begin => $arg->{begin}, + end => $arg->{end}); + + my $job = $bconsole->send_cmd("show job"); + my ($jname, $jsched, $jclient, $jpool); + foreach my $j (split(/\r?\n/, $job)) { + if ($j =~ /Job: name=([\w\d\-]+?) JobType=/i) { + if ($jname and $jsched) { + $self->check_job($sched, $jsched, $jname, $jpool, $jclient); + } + $jname = $1; + $jclient = $jpool = $jsched = undef; + } elsif ($j =~ /Client: name=(.+?) address=/i) { + $jclient = $1; + } elsif ($j =~ /Pool: name=([\w\d\-]+) PoolType=/i) { + $jpool = $1; + } elsif ($j =~ /Schedule: name=([\w\d\-]+)/i) { + $jsched = $1; + } + } + $self->display({ + id => $cur_id++, + title => "Missing Job (since $arg->{begin} to $arg->{end})", + list => $self->{tmp}, + }, "scheduled_job.tpl"); + + delete $self->{tmp}; +} + 1; diff --git a/gui/bweb/po/bweb.pot b/gui/bweb/po/bweb.pot index 413b8fb56d..6e84d4ea1a 100644 --- a/gui/bweb/po/bweb.pot +++ b/gui/bweb/po/bweb.pot @@ -1,4 +1,4 @@ -#: ../tpl/about.tpl:3 ../tpl/begin.tpl:70 +#: ../tpl/about.tpl:3 ../tpl/begin.tpl:72 msgid "About" msgstr "" @@ -6,7 +6,7 @@ msgstr "" msgid "New" msgstr "" -#: ../tpl/ach_add.tpl:3 ../tpl/begin.tpl:54 ../tpl/config_view.tpl:26 +#: ../tpl/ach_add.tpl:3 ../tpl/begin.tpl:56 ../tpl/config_view.tpl:27 msgid "Autochanger" msgstr "" @@ -46,7 +46,7 @@ msgstr "" msgid "drive index" msgstr "" -#: ../tpl/ach_add.tpl:46 ../tpl/config_edit.tpl:60 ../tpl/groups_edit.tpl:25 +#: ../tpl/ach_add.tpl:46 ../tpl/config_edit.tpl:67 ../tpl/groups_edit.tpl:25 #: ../tpl/location_add.tpl:26 ../tpl/location_edit.tpl:28 msgid "Save" msgstr "" @@ -186,7 +186,7 @@ msgstr "" msgid "Drive Name" msgstr "" -#: ../tpl/add_media.tpl:3 ../tpl/begin.tpl:48 +#: ../tpl/add_media.tpl:3 ../tpl/begin.tpl:50 msgid "Add Media" msgstr "" @@ -226,7 +226,9 @@ msgid "Main" msgstr "" #: ../tpl/begin.tpl:20 -msgid "Update your configuration to use the correct tpl directory" +msgid "" +"Update your configuration to use the correct tpl directory (You are using " +"devel tpl)" msgstr "" #: ../tpl/begin.tpl:26 ../tpl/begin.tpl:28 ../tpl/btime.tpl:94 @@ -256,81 +258,93 @@ msgstr "" msgid "Jobs overview" msgstr "" -#: ../tpl/begin.tpl:37 ../tpl/display_job.tpl:2 +#: ../tpl/begin.tpl:37 +msgid "Missing Jobs" +msgstr "" + +#: ../tpl/begin.tpl:38 ../tpl/display_job.tpl:2 msgid "Last Jobs" msgstr "" -#: ../tpl/begin.tpl:38 ../tpl/running_job.tpl:3 +#: ../tpl/begin.tpl:39 ../tpl/running_job.tpl:3 msgid "Running Jobs" msgstr "" -#: ../tpl/begin.tpl:39 ../tpl/scheduled_job.tpl:3 +#: ../tpl/begin.tpl:40 ../tpl/scheduled_job.tpl:3 msgid "Next Jobs" msgstr "" -#: ../tpl/begin.tpl:40 +#: ../tpl/begin.tpl:41 msgid "Launch brestore" msgstr "" -#: ../tpl/begin.tpl:40 ../tpl/display_form_job.tpl:102 +#: ../tpl/begin.tpl:41 ../tpl/display_form_job.tpl:102 msgid "Restore" msgstr "" -#: ../tpl/begin.tpl:43 ../tpl/display_media.tpl:3 +#: ../tpl/begin.tpl:42 +msgid "Try bresto" +msgstr "" + +#: ../tpl/begin.tpl:42 +msgid "Web Restore" +msgstr "" + +#: ../tpl/begin.tpl:45 ../tpl/display_media.tpl:3 msgid "Media" msgstr "" -#: ../tpl/begin.tpl:45 ../tpl/display_pool.tpl:3 +#: ../tpl/begin.tpl:47 ../tpl/display_pool.tpl:3 msgid "Pools" msgstr "" -#: ../tpl/begin.tpl:46 ../tpl/display_location.tpl:3 +#: ../tpl/begin.tpl:48 ../tpl/display_location.tpl:3 msgid "Locations" msgstr "" -#: ../tpl/begin.tpl:47 +#: ../tpl/begin.tpl:49 msgid "All Media" msgstr "" -#: ../tpl/begin.tpl:49 +#: ../tpl/begin.tpl:51 msgid "Eject Media" msgstr "" -#: ../tpl/begin.tpl:50 +#: ../tpl/begin.tpl:52 msgid "Load Media" msgstr "" -#: ../tpl/begin.tpl:62 ../tpl/display_groups.tpl:16 ../tpl/graph.tpl:3 +#: ../tpl/begin.tpl:64 ../tpl/display_groups.tpl:16 ../tpl/graph.tpl:3 #: ../tpl/stats.tpl:2 msgid "Statistics" msgstr "" -#: ../tpl/begin.tpl:63 ../tpl/begin.tpl:65 ../tpl/config_edit.tpl:3 +#: ../tpl/begin.tpl:65 ../tpl/begin.tpl:67 ../tpl/config_edit.tpl:3 #: ../tpl/config_view.tpl:3 msgid "Configuration" msgstr "" -#: ../tpl/begin.tpl:66 +#: ../tpl/begin.tpl:68 msgid "Manage users" msgstr "" -#: ../tpl/begin.tpl:71 +#: ../tpl/begin.tpl:73 msgid "Logged as" msgstr "" -#: ../tpl/begin.tpl:73 +#: ../tpl/begin.tpl:75 msgid "Search media" msgstr "" -#: ../tpl/begin.tpl:73 +#: ../tpl/begin.tpl:75 msgid "Search client" msgstr "" -#: ../tpl/begin.tpl:73 +#: ../tpl/begin.tpl:75 msgid "search..." msgstr "" -#: ../tpl/begin.tpl:73 +#: ../tpl/begin.tpl:75 msgid "Search media or client" msgstr "" @@ -627,81 +641,101 @@ msgstr "" msgid "Bweb Configuration" msgstr "" -#: ../tpl/config_edit.tpl:39 ../tpl/config_view.tpl:17 +#: ../tpl/config_edit.tpl:36 ../tpl/config_view.tpl:16 msgid "" "This folder must be writable by apache user and must be accessible on /bweb/" "fv" msgstr "" -#: ../tpl/config_edit.tpl:41 ../tpl/config_view.tpl:18 +#: ../tpl/config_edit.tpl:38 ../tpl/config_view.tpl:17 msgid "You can choose the Job table that you want to use to get statistics" msgstr "" -#: ../tpl/config_edit.tpl:47 +#: ../tpl/config_edit.tpl:44 msgid "Use a wiki for jobs documentation?" msgstr "" -#: ../tpl/config_edit.tpl:50 +#: ../tpl/config_edit.tpl:49 ../tpl/config_view.tpl:21 +msgid "language:" +msgstr "" + +#: ../tpl/config_edit.tpl:51 ../tpl/display_user.tpl:20 +msgid "English" +msgstr "" + +#: ../tpl/config_edit.tpl:52 ../tpl/display_user.tpl:21 +msgid "French" +msgstr "" + +#: ../tpl/config_edit.tpl:53 ../tpl/display_user.tpl:22 +msgid "Spanish" +msgstr "" + +#: ../tpl/config_edit.tpl:57 msgid "Display log timestamp" msgstr "" -#: ../tpl/config_edit.tpl:53 +#: ../tpl/config_edit.tpl:60 msgid "Use user managment in bweb. Read INSTALL first" msgstr "" -#: ../tpl/config_edit.tpl:55 +#: ../tpl/config_edit.tpl:62 msgid "Use user acl in bweb. Read INSTALL first" msgstr "" -#: ../tpl/config_view.tpl:20 +#: ../tpl/config_view.tpl:19 msgid "use a wiki for jobs documentation?" msgstr "" #: ../tpl/config_view.tpl:21 -msgid "display timestamp in job log" +msgid "Default language" msgstr "" #: ../tpl/config_view.tpl:22 +msgid "display timestamp in job log" +msgstr "" + +#: ../tpl/config_view.tpl:23 msgid "user managment" msgstr "" -#: ../tpl/config_view.tpl:22 +#: ../tpl/config_view.tpl:23 msgid "security:" msgstr "" -#: ../tpl/config_view.tpl:23 +#: ../tpl/config_view.tpl:24 msgid "user filter" msgstr "" -#: ../tpl/config_view.tpl:23 +#: ../tpl/config_view.tpl:24 msgid "security acl:" msgstr "" -#: ../tpl/config_view.tpl:24 +#: ../tpl/config_view.tpl:25 msgid "debug:" msgstr "" -#: ../tpl/config_view.tpl:43 ../tpl/config_view.tpl:56 +#: ../tpl/config_view.tpl:44 ../tpl/config_view.tpl:57 #: ../tpl/display_groups.tpl:12 ../tpl/display_location.tpl:10 #: ../tpl/display_media.tpl:25 ../tpl/display_media_zoom.tpl:21 #: ../tpl/display_users.tpl:12 msgid "Edit" msgstr "" -#: ../tpl/config_view.tpl:44 ../tpl/display_job_zoom.tpl:11 +#: ../tpl/config_view.tpl:45 ../tpl/display_job_zoom.tpl:11 msgid "Delete" msgstr "" -#: ../tpl/config_view.tpl:45 ../tpl/display_media.tpl:26 +#: ../tpl/config_view.tpl:46 ../tpl/display_media.tpl:26 #: ../tpl/display_pool.tpl:8 ../tpl/running_job.tpl:11 msgid "View" msgstr "" -#: ../tpl/config_view.tpl:57 +#: ../tpl/config_view.tpl:58 msgid "Add autochanger" msgstr "" -#: ../tpl/config_view.tpl:61 +#: ../tpl/config_view.tpl:62 msgid "info:" msgstr "" @@ -1181,7 +1215,7 @@ msgid "Comment:" msgstr "" #: ../tpl/display_user.tpl:17 -msgid "Lang:" +msgid "Language:" msgstr "" #: ../tpl/display_user.tpl:26 diff --git a/gui/bweb/po/es.po b/gui/bweb/po/es.po index 050b3c1090..0868c19930 100644 --- a/gui/bweb/po/es.po +++ b/gui/bweb/po/es.po @@ -12,7 +12,7 @@ msgstr "" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" -#: ../tpl/about.tpl:3 ../tpl/begin.tpl:70 +#: ../tpl/about.tpl:3 ../tpl/begin.tpl:72 msgid "About" msgstr "Acerca" @@ -20,7 +20,7 @@ msgstr "Acerca" msgid "New" msgstr "Nueva" -#: ../tpl/ach_add.tpl:3 ../tpl/begin.tpl:54 ../tpl/config_view.tpl:26 +#: ../tpl/ach_add.tpl:3 ../tpl/begin.tpl:56 ../tpl/config_view.tpl:27 msgid "Autochanger" msgstr "Autochanger" @@ -62,7 +62,7 @@ msgstr "Index" msgid "drive index" msgstr "index" -#: ../tpl/ach_add.tpl:46 ../tpl/config_edit.tpl:60 ../tpl/groups_edit.tpl:25 +#: ../tpl/ach_add.tpl:46 ../tpl/config_edit.tpl:67 ../tpl/groups_edit.tpl:25 #: ../tpl/location_add.tpl:26 ../tpl/location_edit.tpl:28 msgid "Save" msgstr "Save" @@ -210,7 +210,7 @@ msgstr "Index" msgid "Drive Name" msgstr "Drive usage" -#: ../tpl/add_media.tpl:3 ../tpl/begin.tpl:48 +#: ../tpl/add_media.tpl:3 ../tpl/begin.tpl:50 msgid "Add Media" msgstr "Add Media" @@ -250,7 +250,9 @@ msgid "Main" msgstr "Principal" #: ../tpl/begin.tpl:20 -msgid "Update your configuration to use the correct tpl directory" +msgid "" +"Update your configuration to use the correct tpl directory (You are using " +"devel tpl)" msgstr "" #: ../tpl/begin.tpl:26 ../tpl/begin.tpl:28 ../tpl/btime.tpl:94 @@ -280,83 +282,97 @@ msgstr "Jobs by group" msgid "Jobs overview" msgstr "Jobs overview" -#: ../tpl/begin.tpl:37 ../tpl/display_job.tpl:2 +#: ../tpl/begin.tpl:37 +#, fuzzy +msgid "Missing Jobs" +msgstr "Jobs en Ejecución" + +#: ../tpl/begin.tpl:38 ../tpl/display_job.tpl:2 msgid "Last Jobs" msgstr "Últimos Jobs" -#: ../tpl/begin.tpl:38 ../tpl/running_job.tpl:3 +#: ../tpl/begin.tpl:39 ../tpl/running_job.tpl:3 msgid "Running Jobs" msgstr "Jobs en Ejecución" -#: ../tpl/begin.tpl:39 ../tpl/scheduled_job.tpl:3 +#: ../tpl/begin.tpl:40 ../tpl/scheduled_job.tpl:3 msgid "Next Jobs" msgstr "Próximos Jobs" -#: ../tpl/begin.tpl:40 +#: ../tpl/begin.tpl:41 msgid "Launch brestore" msgstr "Launch brestore" -#: ../tpl/begin.tpl:40 ../tpl/display_form_job.tpl:102 +#: ../tpl/begin.tpl:41 ../tpl/display_form_job.tpl:102 msgid "Restore" msgstr "Recuperación" -#: ../tpl/begin.tpl:43 ../tpl/display_media.tpl:3 +#: ../tpl/begin.tpl:42 +msgid "Try bresto" +msgstr "" + +#: ../tpl/begin.tpl:42 +#, fuzzy +msgid "Web Restore" +msgstr "Recuperación" + +#: ../tpl/begin.tpl:45 ../tpl/display_media.tpl:3 msgid "Media" msgstr "Medios" -#: ../tpl/begin.tpl:45 ../tpl/display_pool.tpl:3 +#: ../tpl/begin.tpl:47 ../tpl/display_pool.tpl:3 msgid "Pools" msgstr "Pools" -#: ../tpl/begin.tpl:46 ../tpl/display_location.tpl:3 +#: ../tpl/begin.tpl:48 ../tpl/display_location.tpl:3 msgid "Locations" msgstr "Ubicaciones" -#: ../tpl/begin.tpl:47 +#: ../tpl/begin.tpl:49 msgid "All Media" msgstr "Todos los Medios" -#: ../tpl/begin.tpl:49 +#: ../tpl/begin.tpl:51 msgid "Eject Media" msgstr "Expulsar Medio" -#: ../tpl/begin.tpl:50 +#: ../tpl/begin.tpl:52 msgid "Load Media" msgstr "Cargar Medio" -#: ../tpl/begin.tpl:62 ../tpl/display_groups.tpl:16 ../tpl/graph.tpl:3 +#: ../tpl/begin.tpl:64 ../tpl/display_groups.tpl:16 ../tpl/graph.tpl:3 #: ../tpl/stats.tpl:2 msgid "Statistics" msgstr "Estadísticas" -#: ../tpl/begin.tpl:63 ../tpl/begin.tpl:65 ../tpl/config_edit.tpl:3 +#: ../tpl/begin.tpl:65 ../tpl/begin.tpl:67 ../tpl/config_edit.tpl:3 #: ../tpl/config_view.tpl:3 msgid "Configuration" msgstr "Configuración" -#: ../tpl/begin.tpl:66 +#: ../tpl/begin.tpl:68 msgid "Manage users" msgstr "Manage users" -#: ../tpl/begin.tpl:71 +#: ../tpl/begin.tpl:73 msgid "Logged as" msgstr "Usuario" -#: ../tpl/begin.tpl:73 +#: ../tpl/begin.tpl:75 #, fuzzy msgid "Search media" msgstr "buscar medio" -#: ../tpl/begin.tpl:73 +#: ../tpl/begin.tpl:75 #, fuzzy msgid "Search client" msgstr "buscar medio" -#: ../tpl/begin.tpl:73 +#: ../tpl/begin.tpl:75 msgid "search..." msgstr "" -#: ../tpl/begin.tpl:73 +#: ../tpl/begin.tpl:75 #, fuzzy msgid "Search media or client" msgstr "buscar medio" @@ -660,7 +676,7 @@ msgstr "Opciones Generales" msgid "Bweb Configuration" msgstr "Configuración Bweb" -#: ../tpl/config_edit.tpl:39 ../tpl/config_view.tpl:17 +#: ../tpl/config_edit.tpl:36 ../tpl/config_view.tpl:16 msgid "" "This folder must be writable by apache user and must be accessible on /bweb/" "fv" @@ -668,76 +684,96 @@ msgstr "" "Este directorio debe tener permisos de escritura para el usuario apache y " "debe ser accesible en /bweb/fv" -#: ../tpl/config_edit.tpl:41 ../tpl/config_view.tpl:18 +#: ../tpl/config_edit.tpl:38 ../tpl/config_view.tpl:17 msgid "You can choose the Job table that you want to use to get statistics" msgstr "You can choose the Job table that you want to use to get statistics" -#: ../tpl/config_edit.tpl:47 +#: ../tpl/config_edit.tpl:44 msgid "Use a wiki for jobs documentation?" msgstr "Use a wiki for jobs documentation?" -#: ../tpl/config_edit.tpl:50 +#: ../tpl/config_edit.tpl:49 ../tpl/config_view.tpl:21 +msgid "language:" +msgstr "" + +#: ../tpl/config_edit.tpl:51 ../tpl/display_user.tpl:20 +msgid "English" +msgstr "" + +#: ../tpl/config_edit.tpl:52 ../tpl/display_user.tpl:21 +msgid "French" +msgstr "" + +#: ../tpl/config_edit.tpl:53 ../tpl/display_user.tpl:22 +msgid "Spanish" +msgstr "" + +#: ../tpl/config_edit.tpl:57 msgid "Display log timestamp" msgstr "Display log timestamp" -#: ../tpl/config_edit.tpl:53 +#: ../tpl/config_edit.tpl:60 msgid "Use user managment in bweb. Read INSTALL first" msgstr "Use user managment in bweb. Read INSTALL first" -#: ../tpl/config_edit.tpl:55 +#: ../tpl/config_edit.tpl:62 msgid "Use user acl in bweb. Read INSTALL first" msgstr "Use user acl in bweb. Read INSTALL first" -#: ../tpl/config_view.tpl:20 +#: ../tpl/config_view.tpl:19 #, fuzzy msgid "use a wiki for jobs documentation?" msgstr "use a wiki for jobs documentation?" #: ../tpl/config_view.tpl:21 +msgid "Default language" +msgstr "" + +#: ../tpl/config_view.tpl:22 msgid "display timestamp in job log" msgstr "display timestamp in job log" -#: ../tpl/config_view.tpl:22 +#: ../tpl/config_view.tpl:23 msgid "user managment" msgstr "user managment" -#: ../tpl/config_view.tpl:22 +#: ../tpl/config_view.tpl:23 msgid "security:" msgstr "" -#: ../tpl/config_view.tpl:23 +#: ../tpl/config_view.tpl:24 msgid "user filter" msgstr "user filter" -#: ../tpl/config_view.tpl:23 +#: ../tpl/config_view.tpl:24 msgid "security acl:" msgstr "" -#: ../tpl/config_view.tpl:24 +#: ../tpl/config_view.tpl:25 msgid "debug:" msgstr "borrar" -#: ../tpl/config_view.tpl:43 ../tpl/config_view.tpl:56 +#: ../tpl/config_view.tpl:44 ../tpl/config_view.tpl:57 #: ../tpl/display_groups.tpl:12 ../tpl/display_location.tpl:10 #: ../tpl/display_media.tpl:25 ../tpl/display_media_zoom.tpl:21 #: ../tpl/display_users.tpl:12 msgid "Edit" msgstr "Editar" -#: ../tpl/config_view.tpl:44 ../tpl/display_job_zoom.tpl:11 +#: ../tpl/config_view.tpl:45 ../tpl/display_job_zoom.tpl:11 msgid "Delete" msgstr "Borrar" -#: ../tpl/config_view.tpl:45 ../tpl/display_media.tpl:26 +#: ../tpl/config_view.tpl:46 ../tpl/display_media.tpl:26 #: ../tpl/display_pool.tpl:8 ../tpl/running_job.tpl:11 msgid "View" msgstr "Ver" -#: ../tpl/config_view.tpl:57 +#: ../tpl/config_view.tpl:58 msgid "Add autochanger" msgstr "Agregar libreria" -#: ../tpl/config_view.tpl:61 +#: ../tpl/config_view.tpl:62 msgid "info:" msgstr "info:" @@ -1249,7 +1285,7 @@ msgstr "Comentario:" #: ../tpl/display_user.tpl:17 #, fuzzy -msgid "Lang:" +msgid "Language:" msgstr "Log:" #: ../tpl/display_user.tpl:26 diff --git a/gui/bweb/po/fr.po b/gui/bweb/po/fr.po index 2a8e11acdf..d1e869b9e4 100644 --- a/gui/bweb/po/fr.po +++ b/gui/bweb/po/fr.po @@ -1,7 +1,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"PO-Revision-Date: 2007-12-23 20:11+0100\n" +"PO-Revision-Date: 2007-12-27 21:13+0100\n" "Last-Translator: Eric \n" "Language-Team: French\n" "MIME-Version: 1.0\n" @@ -9,7 +9,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -#: ../tpl/about.tpl:3 ../tpl/begin.tpl:70 +#: ../tpl/about.tpl:3 ../tpl/begin.tpl:72 msgid "About" msgstr "A propos" @@ -17,7 +17,7 @@ msgstr "A propos" msgid "New" msgstr "Nouvelle" -#: ../tpl/ach_add.tpl:3 ../tpl/begin.tpl:54 ../tpl/config_view.tpl:26 +#: ../tpl/ach_add.tpl:3 ../tpl/begin.tpl:56 ../tpl/config_view.tpl:27 msgid "Autochanger" msgstr "Autochanger" @@ -57,7 +57,7 @@ msgstr "Index" msgid "drive index" msgstr "drive index" -#: ../tpl/ach_add.tpl:46 ../tpl/config_edit.tpl:60 ../tpl/groups_edit.tpl:25 +#: ../tpl/ach_add.tpl:46 ../tpl/config_edit.tpl:67 ../tpl/groups_edit.tpl:25 #: ../tpl/location_add.tpl:26 ../tpl/location_edit.tpl:28 msgid "Save" msgstr "Sauver" @@ -199,7 +199,7 @@ msgstr "Index" msgid "Drive Name" msgstr "Lecteurs" -#: ../tpl/add_media.tpl:3 ../tpl/begin.tpl:48 +#: ../tpl/add_media.tpl:3 ../tpl/begin.tpl:50 msgid "Add Media" msgstr "Ajouter des Medias" @@ -239,7 +239,9 @@ msgid "Main" msgstr "Accueil" #: ../tpl/begin.tpl:20 -msgid "Update your configuration to use the correct tpl directory" +msgid "" +"Update your configuration to use the correct tpl directory (You are using " +"devel tpl)" msgstr "" #: ../tpl/begin.tpl:26 ../tpl/begin.tpl:28 ../tpl/btime.tpl:94 @@ -269,81 +271,94 @@ msgstr "Jobs par groupe" msgid "Jobs overview" msgstr "" -#: ../tpl/begin.tpl:37 ../tpl/display_job.tpl:2 +#: ../tpl/begin.tpl:37 +msgid "Missing Jobs" +msgstr "Jobs absents" + +#: ../tpl/begin.tpl:38 ../tpl/display_job.tpl:2 msgid "Last Jobs" msgstr "Historique" -#: ../tpl/begin.tpl:38 ../tpl/running_job.tpl:3 +#: ../tpl/begin.tpl:39 ../tpl/running_job.tpl:3 msgid "Running Jobs" msgstr "Jobs en cours" -#: ../tpl/begin.tpl:39 ../tpl/scheduled_job.tpl:3 +#: ../tpl/begin.tpl:40 ../tpl/scheduled_job.tpl:3 msgid "Next Jobs" msgstr "Prochains jobs" -#: ../tpl/begin.tpl:40 +#: ../tpl/begin.tpl:41 msgid "Launch brestore" msgstr "Lancer brestore" -#: ../tpl/begin.tpl:40 ../tpl/display_form_job.tpl:102 +#: ../tpl/begin.tpl:41 ../tpl/display_form_job.tpl:102 msgid "Restore" msgstr "Restauration" -#: ../tpl/begin.tpl:43 ../tpl/display_media.tpl:3 +#: ../tpl/begin.tpl:42 +msgid "Try bresto" +msgstr "" + +#: ../tpl/begin.tpl:42 +#, fuzzy +msgid "Web Restore" +msgstr "Restauration" + +#: ../tpl/begin.tpl:45 ../tpl/display_media.tpl:3 msgid "Media" msgstr "Médias" -#: ../tpl/begin.tpl:45 ../tpl/display_pool.tpl:3 +#: ../tpl/begin.tpl:47 ../tpl/display_pool.tpl:3 msgid "Pools" msgstr "Pools de média" -#: ../tpl/begin.tpl:46 ../tpl/display_location.tpl:3 +#: ../tpl/begin.tpl:48 ../tpl/display_location.tpl:3 msgid "Locations" msgstr "Localisations" -#: ../tpl/begin.tpl:47 +#: ../tpl/begin.tpl:49 msgid "All Media" msgstr "Tous les Medias" -#: ../tpl/begin.tpl:49 +#: ../tpl/begin.tpl:51 msgid "Eject Media" msgstr "Externaliser" -#: ../tpl/begin.tpl:50 +#: ../tpl/begin.tpl:52 msgid "Load Media" msgstr "Internaliser" -#: ../tpl/begin.tpl:62 ../tpl/display_groups.tpl:16 ../tpl/graph.tpl:3 +#: ../tpl/begin.tpl:64 ../tpl/display_groups.tpl:16 ../tpl/graph.tpl:3 #: ../tpl/stats.tpl:2 msgid "Statistics" msgstr "Statistiques" -#: ../tpl/begin.tpl:63 ../tpl/begin.tpl:65 ../tpl/config_edit.tpl:3 +#: ../tpl/begin.tpl:65 ../tpl/begin.tpl:67 ../tpl/config_edit.tpl:3 #: ../tpl/config_view.tpl:3 msgid "Configuration" msgstr "Configuration" -#: ../tpl/begin.tpl:66 +#: ../tpl/begin.tpl:68 msgid "Manage users" msgstr "Manage users" -#: ../tpl/begin.tpl:71 +#: ../tpl/begin.tpl:73 msgid "Logged as" msgstr "Logged as" -#: ../tpl/begin.tpl:73 +#: ../tpl/begin.tpl:75 msgid "Search media" msgstr "Chercher un media" -#: ../tpl/begin.tpl:73 +#: ../tpl/begin.tpl:75 msgid "Search client" msgstr "Chercher un client" -#: ../tpl/begin.tpl:73 +#: ../tpl/begin.tpl:75 msgid "search..." msgstr "" -#: ../tpl/begin.tpl:73 +#: ../tpl/begin.tpl:75 msgid "Search media or client" msgstr "Chercher un media ou un client" @@ -642,7 +657,7 @@ msgstr "Options G msgid "Bweb Configuration" msgstr "Configuration Bweb" -#: ../tpl/config_edit.tpl:39 ../tpl/config_view.tpl:17 +#: ../tpl/config_edit.tpl:36 ../tpl/config_view.tpl:16 msgid "" "This folder must be writable by apache user and must be accessible on /bweb/" "fv" @@ -650,75 +665,95 @@ msgstr "" "Ce répertoire doit être accessible en ecriture pour apache et être sous /" "bweb/fv" -#: ../tpl/config_edit.tpl:41 ../tpl/config_view.tpl:18 +#: ../tpl/config_edit.tpl:38 ../tpl/config_view.tpl:17 msgid "You can choose the Job table that you want to use to get statistics" msgstr "Vous pouvez utiliser une autre table que Job pour vos statistiques" -#: ../tpl/config_edit.tpl:47 +#: ../tpl/config_edit.tpl:44 msgid "Use a wiki for jobs documentation?" msgstr "Utiliser un wiki pour documenter les jobs ?" -#: ../tpl/config_edit.tpl:50 +#: ../tpl/config_edit.tpl:49 ../tpl/config_view.tpl:21 +msgid "language:" +msgstr "" + +#: ../tpl/config_edit.tpl:51 ../tpl/display_user.tpl:20 +msgid "English" +msgstr "" + +#: ../tpl/config_edit.tpl:52 ../tpl/display_user.tpl:21 +msgid "French" +msgstr "" + +#: ../tpl/config_edit.tpl:53 ../tpl/display_user.tpl:22 +msgid "Spanish" +msgstr "" + +#: ../tpl/config_edit.tpl:57 msgid "Display log timestamp" msgstr "Afficher l'heure des logs" -#: ../tpl/config_edit.tpl:53 +#: ../tpl/config_edit.tpl:60 msgid "Use user managment in bweb. Read INSTALL first" msgstr "Active la gestion des utilisateurs dans bweb. Lire le manuel avant." -#: ../tpl/config_edit.tpl:55 +#: ../tpl/config_edit.tpl:62 msgid "Use user acl in bweb. Read INSTALL first" msgstr "" -#: ../tpl/config_view.tpl:20 +#: ../tpl/config_view.tpl:19 msgid "use a wiki for jobs documentation?" msgstr "Utiliser un wiki pour documenter les jobs ?" #: ../tpl/config_view.tpl:21 -msgid "display timestamp in job log" +msgid "Default language" msgstr "" #: ../tpl/config_view.tpl:22 +msgid "display timestamp in job log" +msgstr "" + +#: ../tpl/config_view.tpl:23 msgid "user managment" msgstr "" -#: ../tpl/config_view.tpl:22 +#: ../tpl/config_view.tpl:23 msgid "security:" msgstr "" -#: ../tpl/config_view.tpl:23 +#: ../tpl/config_view.tpl:24 msgid "user filter" msgstr "user filter" -#: ../tpl/config_view.tpl:23 +#: ../tpl/config_view.tpl:24 msgid "security acl:" msgstr "" -#: ../tpl/config_view.tpl:24 +#: ../tpl/config_view.tpl:25 msgid "debug:" msgstr "debug :" -#: ../tpl/config_view.tpl:43 ../tpl/config_view.tpl:56 +#: ../tpl/config_view.tpl:44 ../tpl/config_view.tpl:57 #: ../tpl/display_groups.tpl:12 ../tpl/display_location.tpl:10 #: ../tpl/display_media.tpl:25 ../tpl/display_media_zoom.tpl:21 #: ../tpl/display_users.tpl:12 msgid "Edit" msgstr "Modifier" -#: ../tpl/config_view.tpl:44 ../tpl/display_job_zoom.tpl:11 +#: ../tpl/config_view.tpl:45 ../tpl/display_job_zoom.tpl:11 msgid "Delete" msgstr "Supprimer" -#: ../tpl/config_view.tpl:45 ../tpl/display_media.tpl:26 +#: ../tpl/config_view.tpl:46 ../tpl/display_media.tpl:26 #: ../tpl/display_pool.tpl:8 ../tpl/running_job.tpl:11 msgid "View" msgstr "Voir" -#: ../tpl/config_view.tpl:57 +#: ../tpl/config_view.tpl:58 msgid "Add autochanger" msgstr "Ajouter une robotique" -#: ../tpl/config_view.tpl:61 +#: ../tpl/config_view.tpl:62 msgid "info:" msgstr "info :" @@ -1207,7 +1242,7 @@ msgstr "Commentaire :" #: ../tpl/display_user.tpl:17 #, fuzzy -msgid "Lang:" +msgid "Language:" msgstr "Log :" #: ../tpl/display_user.tpl:26 diff --git a/gui/bweb/technotes-2.3 b/gui/bweb/technotes-2.3 index f01ff769be..9ddeabf23d 100644 --- a/gui/bweb/technotes-2.3 +++ b/gui/bweb/technotes-2.3 @@ -1,4 +1,6 @@ 27Dec07 +ebl Add Jobs -> Missing Job feature. Now, you can + check if jobs are missing or have to be re-run. ebl Add begin/end param to Bweb::Sched object ebl Fix a couple of small bug in GBalloon module when we don't find any valid job diff --git a/gui/bweb/tpl/begin.tpl b/gui/bweb/tpl/begin.tpl index eb0f7fd85e..032cc9f6da 100644 --- a/gui/bweb/tpl/begin.tpl +++ b/gui/bweb/tpl/begin.tpl @@ -34,6 +34,7 @@ if ('__Main__' == ('_' + '_Main_' + '_')) {
  • __Defined Jobs__
  • __Jobs by group__
  • __Jobs overview__ +
  • __Missing Jobs__
  • __Last Jobs__
  • __Running Jobs__
  • __Next Jobs__
  • -- 2.39.5