[prev in list] [next in list] [prev in thread] [next in thread]
List: bacula-commits
Subject: [Bacula-commits] SF.net SVN: bacula: [6145] trunk/gui/bweb
From: ricozz () users ! sourceforge ! net
Date: 2007-12-27 14:03:10
Message-ID: E1J7tKI-0000RZ-AO () sc8-pr-svn2 ! sourceforge ! net
[Download RAW message or body]
Revision: 6145
http://bacula.svn.sourceforge.net/bacula/?rev=6145&view=rev
Author: ricozz
Date: 2007-12-27 06:03:09 -0800 (Thu, 27 Dec 2007)
Log Message:
-----------
ebl Add begin/end param to Bweb::Sched object
Modified Paths:
--------------
trunk/gui/bweb/lib/Bweb.pm
trunk/gui/bweb/technotes-2.3
Modified: trunk/gui/bweb/lib/Bweb.pm
===================================================================
--- trunk/gui/bweb/lib/Bweb.pm 2007-12-27 10:46:20 UTC (rev 6144)
+++ trunk/gui/bweb/lib/Bweb.pm 2007-12-27 14:03:09 UTC (rev 6145)
@@ -1031,7 +1031,7 @@
my $b = $bweb->get_bconsole();
my $s = $b->send_cmd("show schedule");
- my $sched = new Bweb::Sched();
+ my $sched = new Bweb::Sched(begin => '2007-01-01', end => '2007-01-02 12:00');
$sched->parse_scheds(split(/\r?\n/, $s));
@@ -1048,6 +1048,27 @@
};
=cut
+sub new
+{
+ my ($class, @arg) = @_;
+ my $self = $class->SUPER::new(@arg);
+
+ # 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->{begin} =~ s/(-|:)//g;
+ $self->{begin} =~ s/ /./;
+ $self->{end} =~ s/(-|:)//g;
+ $self->{end} =~ s/ /./;
+
+ } else {
+ delete $self->{begin};
+ delete $self->{end};
+ }
+ return bless($self,$class);
+}
+
# cleanup and add a schedule
sub add_sched
{
@@ -1192,6 +1213,12 @@
{
foreach my $min (@{$s->{mins}}) # minute
{
+ if ($self->{begin}) {
+ 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});
+ }
push @ret, sprintf($format, $year,$m,$md,$h,$min);
}
}
@@ -1696,6 +1723,10 @@
voluseduration=> 1,
volretention => 1,
);
+ my %opt_t = (when => 2, # option with time
+ begin => 1, # 1 hh:min are optionnal
+ end => 1, # 2 hh:min are required
+ );
foreach my $i (@what) {
if (exists $opt_i{$i}) {# integer param
@@ -1743,7 +1774,14 @@
if ($value =~ /^\s*(\d+\s+\w+)$/) {
$ret{$i} = $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 ($opt_t{$i} == 1 or defined $2) {
+ $ret{$i} = $1;
+ }
+ }
+ }
}
if ($what{slots}) {
@@ -1762,13 +1800,6 @@
}
}
- if ($what{when}) {
- my $when = CGI::param('when') || '';
- if ($when =~ /(\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2})/) {
- $ret{when} = $1;
- }
- }
-
if ($what{lang}) {
my $lang = CGI::param('lang') || 'en';
if ($lang =~ /^(\w\w)$/) {
@@ -4545,7 +4576,7 @@
sub display_next_job
{
my ($self) = @_;
- my $arg = $self->get_form(qw/job/);
+ my $arg = $self->get_form(qw/job begin end/);
if (!$arg->{job}) {
return $self->error("Can't get job name");
}
@@ -4563,7 +4594,7 @@
}
my $out = $b->send_cmd("show schedule=\"$jsched\"");
- my $sched = new Bweb::Sched();
+ my $sched = new Bweb::Sched(begin => $arg->{begin}, end => $arg->{end});
$sched->parse_scheds(split(/\r?\n/, $out));
my $ss = $sched->get_scheds($jsched);
Modified: trunk/gui/bweb/technotes-2.3
===================================================================
--- trunk/gui/bweb/technotes-2.3 2007-12-27 10:46:20 UTC (rev 6144)
+++ trunk/gui/bweb/technotes-2.3 2007-12-27 14:03:09 UTC (rev 6145)
@@ -1,4 +1,5 @@
27Dec07
+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
This was sent by the SourceForge.net collaborative development platform, the world's \
largest Open Source development site.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Bacula-commits mailing list
Bacula-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bacula-commits
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic