UntouchedInHours Module

Please, can anyone help me out with this…I’m running rt 3.2.2 on redhat linux 8.0, perl 5.8.6, mode_perl 1 on apache 1.1.9 and mysql 4.1.9 and I’m trying to use the UntouchedInHours module from rt-crontool. However, I get the following error anytime i try to run this command from rt-crontool:

[Wed Feb 2 08:43:28 2005] [crit]: Failed to load module RT::Condition::UntouchedInHours. () at ./rt-crontool line 162.
(/opt/rt3/lib/RT.pm:276)
[Wed Feb 2 08:48:34 2005] [crit]: Failed to load module RT::Condition::UntouchedInHours. () at ./rt-crontool line 162.
(/opt/rt3/lib/RT.pm:276)
[Wed Feb 2 08:48:50 2005] [crit]: Failed to load module RT::Condition::UntouchedInHours. () at ./rt-crontool line 162.
(/opt/rt3/lib/RT.pm:276)
[Wed Feb 2 08:52:46 2005] [crit]: Failed to load module RT::Condition::UntouchedInHours. () at ./rt-crontool line 162.
(/opt/rt3/lib/RT.pm:276)

The command I’m running from rt-crontool is:

./rt-crontool --search RT::Search::FromSQL --search-arg “Queue=‘VSATFaults’ AND Status!='resolved” --condition RT::Condition::UntouchedInHours --condition-arg 2 --action RT:Action::RecordCorrespondence -template-id 13"

The UntouchedInHours module I got from RT Wiki is:

package RT::Condition::UntouchedInHours;require RT::Condition::Generic; use strict;use vars qw/@ISA/;# We inherit from RT::Condition::Generic so we don’t have to write (and maintain) # all the other stuff that goes into a condition@ISA = qw(RT::Condition::Generic); =head2 IsApplicableIf the ticket’s LastUpdated is more than n hours ago=cut# We just need to include this one function. I could have put everything in here but in# order to demonstrate the use of external functions, I’ve created the local_ageinhours# function. The function subtracts the LastUpdated time (as an Epoch timestamp) from the# current time stamp, then turns these seconds into hours.# The main function then just checks if this number is greater or equal to the argument# the crontool passed in.# # Note that the main function MUST be called ‘IsApplicable’. For complex conditions it # may be best to create other functions as I’ve done here - so long as they’re called # from IsApplicable.# I’d suggest naming your
own functions with a ‘local_’ prefix so as to be certain not# to overwrite any current or future core function.sub IsApplicable { my $self = shift; if ( local_ageInHours($self->TicketObj) >= $self->Argument ) { # Returning true (1) indicates that this condition is true return 1; } else { # Returning undef indicates that this condition is false return undef; }}sub local_ageInHours { my $ticketObj = shift; return (time - $self->TicketObj->LastUpdated->Unix) / (60*60);}# The following could be omitted. They’re there to allow overrides from Vendor and Local# but as this isn’t a core module, they’re just there for completeness :)eval “require RT::Condition::UntouchedInHours_Vendor”;die $@ if ($@ && $@ !~ qr{^Can’t locate RT/Condition/UntouchedInHours_Vendor.pm});eval “require RT::Condition::UntouchedInHours_Local”;die $@ if ($@ && $@ !~ qr{^Can’t locate RT/Condition/UntouchedInHours_Local.pm});# If you weren’t already aware, all perl modules need to
evaluate to true. So we# force it to evaluate to true by finishing with a ‘1’.1;

Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around