} 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 "<div><table border='0'><tr><td valign='top'>\n";
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
<li><a href="bweb.pl?action=run_job">Defined Jobs</a>
<li><a href="bweb.pl?action=job_group">Jobs by group</a>
<li><a href="bweb.pl?action=overview">Jobs overview</a>
+ <li><a href="bweb.pl?action=missing">Missing Jobs</a>
<li><a href="bweb.pl?action=job">Last Jobs</a> </li>
<li><a href="bweb.pl?action=running">Running Jobs</a>
<li><a href="bweb.pl?action=next_job">Next Jobs</a> </li>
<li><a href="bweb.pl?action=run_job">Jobs Definidos</a>
<li><a href="bweb.pl?action=job_group">Jobs by group</a>
<li><a href="bweb.pl?action=overview">Jobs overview</a>
+ <li><a href="bweb.pl?action=missing">Missing Jobs</a>
<li><a href="bweb.pl?action=job">Últimos Jobs</a> </li>
<li><a href="bweb.pl?action=running">Jobs en Ejecución</a>
<li><a href="bweb.pl?action=next_job">Próximos Jobs</a> </li>
<li><a href="bweb.pl?action=run_job">Jobs définis</a>
<li><a href="bweb.pl?action=job_group">Jobs par groupe</a>
<li><a href="bweb.pl?action=overview">Jobs overview</a>
+ <li><a href="bweb.pl?action=missing">Missing Jobs</a>
<li><a href="bweb.pl?action=job">Historique</a> </li>
<li><a href="bweb.pl?action=running">Jobs en cours</a>
<li><a href="bweb.pl?action=next_job">Prochains jobs</a> </li>
# 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
{
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);
}
}
return @ret;
}
+1;
################################################################
}
} 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;
}
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) = @_;
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");
$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;
print "<b>$arg->{job}:</b><pre>", sort @ret, "</pre><br>";
}
+# 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;
-#: ../tpl/about.tpl:3 ../tpl/begin.tpl:70
+#: ../tpl/about.tpl:3 ../tpl/begin.tpl:72
msgid "About"
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 ""
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 ""
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 ""
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
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 ""
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 ""
msgstr ""
#: ../tpl/display_user.tpl:17
-msgid "Lang:"
+msgid "Language:"
msgstr ""
#: ../tpl/display_user.tpl:26
"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"
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"
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"
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"
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
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"
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"
"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:"
#: ../tpl/display_user.tpl:17
#, fuzzy
-msgid "Lang:"
+msgid "Language:"
msgstr "Log:"
#: ../tpl/display_user.tpl:26
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 <eric@eb.homelinux.org>\n"
"Language-Team: French\n"
"MIME-Version: 1.0\n"
"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"
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"
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"
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"
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
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"
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"
"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 :"
#: ../tpl/display_user.tpl:17
#, fuzzy
-msgid "Lang:"
+msgid "Language:"
msgstr "Log :"
#: ../tpl/display_user.tpl:26
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
<li><a href="bweb.pl?action=run_job">__Defined Jobs__</a>
<li><a href="bweb.pl?action=job_group">__Jobs by group__</a>
<li><a href="bweb.pl?action=overview">__Jobs overview__</a>
+ <li><a href="bweb.pl?action=missing">__Missing Jobs__</a>
<li><a href="bweb.pl?action=job">__Last Jobs__</a> </li>
<li><a href="bweb.pl?action=running">__Running Jobs__</a>
<li><a href="bweb.pl?action=next_job">__Next Jobs__</a> </li>