[rt-users] Business::Hours anyone?
Robert Long
rlong at bluegecko.net
Wed Apr 25 17:12:13 EDT 2007
Try it like this:
$hours->business_hours(
0 => { Name => 'Sunday', Start => undef, End => undef },
1 => { Name => 'Monday', Start => '08:00', End => '16:30' },
2 => { Name => 'Tuesday', Start => '08:00', End => '16:30' },
3 => { Name => 'Wednesday', Start => '08:00', End => '16:30' },
4 => { Name => 'Thursday', Start => '15:00', End => '23:30' },
5 => { Name => 'Friday', Start => '15:00', End => '23:30' },
6 => { Name => 'Saturday', Start => undef, End => undef }
);
( notice the missing "{" and "}" )
.r'
Gene LeDuc wrote:
> Hi Robert,
>
> When a ticket is created I want to include a statement in the e-mail
> to the requestor that the ticket should be closed in 5 business days,
> and if they haven't heard back from us by then to call us. I'm using
> Business::Hours to compute "then" and have basically copied the
> example from the wiki. The problem I'm having is that the
> "add_seconds" method is returning -1, which the docs seem to say means
> that the result is more than 30 days in the future.
>
> Here's my code:
>
> my $days = 5;
> my $seconds = $days * 8.5 * 60 * 60;
> $RT::Logger->debug("$MyName: days: $days, seconds: $seconds");
> my $hours = Business::Hours->new();
> $hours->business_hours(
> { 0 => { Name => 'Sunday', Start => undef, End => undef },
> 1 => { Name => 'Monday', Start => '08:00', End => '16:30' },
> 2 => { Name => 'Tuesday', Start => '08:00', End => '16:30' },
> 3 => { Name => 'Wednesday', Start => '08:00', End => '16:30' },
> 4 => { Name => 'Thursday', Start => '15:00', End => '23:30' },
> 5 => { Name => 'Friday', Start => '15:00', End => '23:30' },
> 6 => { Name => 'Saturday', Start => undef, End => undef }
> } );
> my $curtime = time;
> my $duetime = $hours->add_seconds ($curtime, $seconds);
> $RT::Logger->debug("$MyName: curtime: $curtime, duetime: $duetime");
>
> And here's what I'm seeing in my logs:
>
> [Wed Apr 25 20:05:00 2007] [debug]: Scrip DNS:35:Commit (New
> Ticket): days: 5, seconds: 153000 ((eval 362):30)
> [Wed Apr 25 20:05:00 2007] [debug]: Scrip DNS:35:Commit (New
> Ticket): curtime: 1177531500, duetime: -1 ((eval 362):43)
>
> I expect the $duetime result to be ($curtime + 5 business days), or
> exactly 1 real week from $curtime. Any thoughts on where I should
> start looking?
>
> Thanks,
> Gene
>
> At 10:39 AM 4/25/2007, Robert Long wrote:
>> Gene LeDuc wrote:
>> > Hi All,
>> >
>> > If anyone has used the Business::Hours module successfully, I have
>> > what should be a pretty simple question.
>> >
>> > Thanks,
>> > Gene
>> >
>> >
>> >
>> Yeah, I use the Business:Hours in a medium complex setting, what is your
>> question (I'd rather keep it on the list so if anyone else has the
>> same/similar question it'll get answered here)
>>
>> .r'
>
>
More information about the rt-users
mailing list