[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