[rt-users] rt3, rt-crontool, "Parse" error - here I come again!

dap99 at i-55.com dap99 at i-55.com
Thu Jan 15 18:33:17 EST 2004


I found a posting about this issue in the archives, but no resolution.

I am running rt3 (actually, rt3-elixus-9632 via FreeBSD ports). When I try
to run bin/rt-crontool I get an error:

# bin/rt-crontool --search RT::Search::ActiveTicketsInQueue --search-arg
general --condition RT::Condition::Overdue --condition-arg 1 --action
RT::Action::SendEmail --action-arg All --verbose

194:
197:
198:
199:
200:
203:
207:
270: Condition matches...[Thu Jan 15 23:23:48 2004] [crit]: Can't call
method "Parse" on an undefined value at
/usr/local/rt3/lib/RT/Action/SendEmail.pm line 221.
 (/usr/local/rt3/lib/RT.pm:254)

I do have the default Correspondence and Comment addresses set in
etc/RT_SiteConfig.pm. Also, this ticket is owned by a user with an email
address in RT.

Okay, so obviously there is an undefined value, so in SendEmail.pm I
changed:


    my ( $result, $message ) = $self->TemplateObj->Parse(
                                         Argument       => $self->Argument,
                                         TicketObj      => $self->TicketObj,
                                         TransactionObj =>
$self->TransactionObj
    );

To:

if (!defined($self->Argument)) {
        print "self Argument not defined\n";
}
if (!defined($self->TicketObj)) {
        print "self TicketObj not defined\n";
}
if (!defined($self->TransactionObj)) {
        print "self TransactionObj not defined\n";
}

    my ( $result, $message ) = $self->TemplateObj->Parse(
                                         Argument       => $self->Argument,
                                         TicketObj      => $self->TicketObj,
                                         TransactionObj =>
$self->TransactionObj
    );

And got:

...
198:
199:
200:
203:
207:
270: Condition matches...self TransactionObj not defined
[Thu Jan 15 23:25:23 2004] [crit]: Can't call method "Parse" on an undefined
value at /usr/local/rt3/lib/RT/Action/SendEmail.pm line 221.
 (/usr/local/rt3/lib/RT.pm:254)

So $self->TransactionObj is not defined. What would cause this?

P.S. What does --condition-arg 1 do for RT::Condition::Overdue? Also, I
don't see where in SendMail.pm the action arg "All" has a defined meaning.
What are the options for that? Just point me to the right file to read, and
I'll do it. :)





More information about the rt-users mailing list