[rt-users] SetPriority oddities.
Marc Andersen
maa at govcert.dk
Wed Jun 30 14:57:17 EDT 2010
Hi Kenn
Thank you for the input. It might very well be some kind of cache problem.
To follow up on the example below where I type in 100 as priority.
By using RT::Logger i see the following:
Jun 30 18:55:34 ubuntu RT: Priority_after_SetPri: 50 ((eval 3725):17)
Jun 30 18:55:34 ubuntu RT: TransPriority_after_SetPri_oldvalue: 50
((eval 3725):18)
Jun 30 18:55:34 ubuntu RT: TransPriority_after_SetPri_newvalue: 100
((eval 3725):19)
The logs are right after the SetPriority method has been called. The
first log line checks what the actual priority is:
$RT::Logger->error("Priority_after_SetPri: ".$self->TicketObj->Priority);
The next two lines I check what the old and new values of the
transactionobject is and was:
$RT::Logger->error("TransPriority_after_SetPri_oldvalue:
".$self->TransactionObj->OldValue);
$RT::Logger->error("TransPriority_after_SetPri_newvalue:
".$self->TransactionObj->NewValue);
So you can see there is some confusion in RT about what the values are.
The priority itself is 50....but the new value of the transactionobject
is 100.
I simply do not know if this will present some problem further down the
road or if I should file it as cosmetic (maybe a bug?).
I guess what I need is a scrip that ignores anything typed into the
priority field in this case (with a more complicated condition check in
the final script).
Any ideas?
Btw: Can anyone reproduce this behaviour?
br
Marc
On 2010-06-29 19:01, Kenneth Crocker wrote:
> Marc,
>
> I could be wrong but I suspect that what you are seeing after you made a
> change has to do with what is in cache.
>
> Your scrip code was for "Cleanup" so after RT made your change to 100,
> the "Cleanup" scrip came along and changed it back to 50, but cache
> still has what you TYPED into that field.
>
> That's my best guess. Hope it helps.
>
> Kenn
> LBNL
>
> On Tue, Jun 29, 2010 at 6:41 AM, Marc Andersen <maa at govcert.dk
> <mailto:maa at govcert.dk>> wrote:
>
> Hi everyone
>
> I've been trying to wrap my head around RT for a couple of days now
> (actually RT-IR).
> Currently I am trying to add some business logic (yes...scrips :) ).
>
> I noted some oddities while trying to set my priority field using custom
> fields. I can essentially get it to work, but I have not been able to
> figure out why I run into the problem below.
>
> So I made up a very simple scrip to illustrate my point:
>
> Condition: on Transaction
> Action: User defined
> Global Template: Blank
> Stage: Transaction Batch
>
> Custom action cleanup code:
> $self->TicketObj->SetPriority (50);
>
>
> Then I set about to test it:
>
> 1)
> Create ticket --> ticket gets created and priority is 50.
>
> 2)
> Edit ticket --> I update anything but the priority in the ticket, just
> to trigger the script. For instance by changing the tickets subject. -->
> Save changes --> Priority remains 50.
>
> 3)
> Edit ticket --> this time I update the priority field and set it to,
> say, 100. The expected outcome: priority will be set to 50 by the script
> --> Save changes --> actual outcome: the priority field _seems_ to be
> set to 100, although the script was triggered (confirmed by using
> RT::Logger).
>
> 4)
> Now this is where I get confused. Somehow, my script was overruled in
> 3). However, as soon as I access the ticket again by navigating to the
> ticket, i.e. clicking on display or selecting the ticket in the left
> menu bar or otherwise navigating around, the priority will be at 50,
> without my scrip running again.
>
> So my guess is, that my script actually saved the right priority in the
> database, but didn't update some essential object when displaying the
> ticket right after pressing 'Save Changes'
>
> Does anybody know what is happening here?
>
> Please bear in mind that the scrip here just illustrates my point and is
> not the actual final scrip I want to use in production (which would be
> setting the priority through several custom fields).
>
> Hope somebody has an answer.
>
> regards
Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
Buy a copy at http://rtbook.bestpractical.com
> Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
> Buy a copy at http://rtbook.bestpractical.com
--
Marc Andersen
IT Security Analyst
Direct: + 45 3545 0164
E-mail: maa at govcert.dk
The Danish GovCERT
Ministry of Science, Technology
and Innovation
National IT and Telecom Agency
Holsteinsgade 63
DK-2100 København O
Tel.: +45 3545 0000
Fax: +45 3545 0010
E-mail: itst at itst.dk
www.itst.dk
More information about the rt-users
mailing list