[rt-devel] Problems using LimitXXX Statements
Bruce Campbell
bruce_campbell at ripe.net
Thu Feb 7 13:58:44 EST 2002
On Tue, 29 Jan 2002, Julian Hein wrote:
> 2) The second thing was a script the should be run by cron and send a
> mail to every user owning at ticket with a due date of today. I modified
> tickets to very date one could think of and user all operators (=><) but
> i allways got the same tickets or no ticket. Any ideas?
>
> my $tickets = new RT::Tickets($RT::SystemUser);
> $tickets->LimitStatus(VALUE => 'open');
> $tickets->LimitStatus(VALUE => 'new');
> $tickets->LimitStatus(VALUE => 'stalled');
> $tickets->LimitDate(FIELD => 'Due', OPERATOR => '=', VALUE => $now);
Ah. The 'Due' column is datetime. So your script will happily match
anything thats 'Due' that very second (ignoring that $now should be
$now->ISO). This is possibly not what you want.
Assuming that you run this script once per day, you should be able to:
my $yesterday = $now;
$yesterday->AddDays(-1);
$tickets->LimitDate(FIELD => 'Due',
OPERATOR => '>=',
VALUE => $yesterday->ISO,
ENTRYAGGREGATOR => 'AND' );
$tickets->LimitDate(FIELD => 'Due',
OPERATOR => '<=',
VALUE => $now->ISO,
ENTRYAGGREGATOR => 'AND' );
That will match anything due within the last 24hrs, and it should be
simple to change it to match anything due within the next 24 hours as
well.
Regards,
--
Bruce Campbell RIPE
Systems/Network Engineer NCC
www.ripe.net - PGP562C8B1B Operations
More information about the Rt-devel
mailing list