diff --git a/html/Callbacks/ElapsedBusinessTime/Elements/RT__Ticket/ColumnMap/Once b/html/Callbacks/ElapsedBusinessTime/Elements/RT__Ticket/ColumnMap/Once
index b74340d..56a9605 100644
--- a/html/Callbacks/ElapsedBusinessTime/Elements/RT__Ticket/ColumnMap/Once
+++ b/html/Callbacks/ElapsedBusinessTime/Elements/RT__Ticket/ColumnMap/Once
@@ -1,5 +1,20 @@
<%init>
RT->Logger->error("Adding ElapsedBusinessTime to COLUMN_MAP");
+$COLUMN_MAP->{'ElapsedBusinessHours'} = {
+ title => 'Elapsed Business (Hr)', # loc
+ attribute => 'Elapsed Business (Hr)',
+ value => sub {
+ my $ticket = shift;
+
+ use RT::Extension::ElapsedBusinessTime;
+
+ return RT::Extension::ElapsedBusinessTime->calc(
+ Ticket => $ticket,
+ CurrentUser => $session{CurrentUser},
+ Units => 'Hour',
+ );
+ }
+};
$COLUMN_MAP->{'ElapsedBusinessMinutes'} = {
title => 'Elapsed Business (Min)', # loc
attribute => 'Elapsed Business (Min)',
diff --git a/html/Callbacks/ElapsedBusinessTime/Search/Elements/BuildFormatString/Default b/html/Callbacks/ElapsedBusinessTime/Search/Elements/BuildFormatString/Default
index 5527f41..08a4718 100644
--- a/html/Callbacks/ElapsedBusinessTime/Search/Elements/BuildFormatString/Default
+++ b/html/Callbacks/ElapsedBusinessTime/Search/Elements/BuildFormatString/Default
@@ -1,6 +1,6 @@
<%INIT>
-RT->Logger->error("Adding ElapsedBusinessTime to fields");
-push @{$Fields}, 'ElapsedBusinessMinutes', 'ElapsedBusinessTime';
+RT->Logger->error("Adding ElapsedBusiness options to fields");
+push @{$Fields}, 'ElapsedBusinessHours', 'ElapsedBusinessMinutes', 'ElapsedBusinessTime';
%INIT>
<%ARGS>
$Fields => undef
diff --git a/lib/RT/Extension/ElapsedBusinessTime.pm b/lib/RT/Extension/ElapsedBusinessTime.pm
index c1a80e7..6649971 100644
--- a/lib/RT/Extension/ElapsedBusinessTime.pm
+++ b/lib/RT/Extension/ElapsedBusinessTime.pm
@@ -22,7 +22,7 @@ try {
countrycode => $country,
);
- $dh->is_holiday(2017, 1, 1);
+ $dh->is_holiday(year => 2017, month => 1, day => 1);
} catch {
RT->Logger->error("Unable to instantiate Date::Holidays: $_");
$dh = undef;
@@ -30,7 +30,15 @@ try {
sub calc {
my $class = shift;
- my %args = ( Ticket => undef, CurrentUser => undef, DurationAsString => 0, Show => 4, Short => 1, @_);
+ my %args = (
+ Ticket => undef,
+ CurrentUser => undef,
+ DurationAsString => 0,
+ Show => 4,
+ Short => 1,
+ Units => 'Minute',
+ @_
+ );
my $elapsed_business_time = 0;
my $last_state_change = $args{Ticket}->CreatedObj;
@@ -70,7 +78,13 @@ sub calc {
Short => $args{Short},
);
} else {
- return sprintf("%d:%02d", int($elapsed_business_time / 60), $elapsed_business_time % 60);
+ if ($args{Units} eq 'Hour') {
+ return sprintf("%d:%02d", int($elapsed_business_time / 3600), $elapsed_business_time % 3600);
+ } elsif ($args{Units} eq 'Second') {
+ return $elapsed_business_time;
+ } else {
+ return sprintf("%d:%02d", int($elapsed_business_time / 60), $elapsed_business_time % 60);
+ }
}
}