[Rt-commit] [svn] r1569 - Business-SLA/trunk/lib/Business

leira at pallas.eruditorum.org leira at pallas.eruditorum.org
Mon Sep 27 22:12:55 EDT 2004


Author: leira
Date: Mon Sep 27 22:12:55 2004
New Revision: 1569

Modified:
   Business-SLA/trunk/lib/Business/SLA.pm
Log:
Add logic to allow starting immediately at the start of the next business day.


Modified: Business-SLA/trunk/lib/Business/SLA.pm
==============================================================================
--- Business-SLA/trunk/lib/Business/SLA.pm	(original)
+++ Business-SLA/trunk/lib/Business/SLA.pm	Mon Sep 27 22:12:55 2004
@@ -121,7 +121,7 @@
     if ($self->{'hash'} && $self->{'hash'}->{$sla}) {
 	$minutes = $self->{'hash'}->{$sla}->{'RealMinutes'};
     } else {
-	$minutes = 0;
+	$minutes = undef;
     }
 
     return $minutes;
@@ -131,11 +131,15 @@
     my $self = shift;
     my $sla = shift;
 
+    if (!$self->BusinessHours) {
+	return undef;
+    }
+
     my $minutes;
     if ($self->{'hash'} && $self->{'hash'}->{$sla}) {
 	$minutes = $self->{'hash'}->{$sla}->{'BusinessMinutes'};
     } else {
-	$minutes = 0;
+	$minutes = undef;
     }
 
     return $minutes;
@@ -144,8 +148,9 @@
 sub Starts {
     my $self = shift;
     my $date = shift;
+    my $sla = shift;
 
-    if ($self->BusinessHours()) {
+    if (defined $self->AddBusinessMinutes($sla)) {
 	return $self->BusinessHours()->first_after($date);
     } else {
 	return $date;
@@ -160,9 +165,9 @@
     # find start time
     my $due = $self->Starts($date);
 
-    my $bh = $self->BusinessHours();
-
-    if ($bh) {
+    # don't add business minutes unless we have some set
+    if (defined $self->AddBusinessMinutes($sla)) {
+	my $bh = $self->BusinessHours();
 	$due = $bh->add_seconds($due, 
 				60 * $self->AddBusinessMinutes($sla));
     } else {


More information about the Rt-commit mailing list