Hey everyone!
I'm still trying to solve this problem.
The scrip is working fine: Only the pre-defined changes of status are
accepted. Other pre-defined status changes are denied
The problem is that whenever a denied change occurs, the result message
is: Status changed from A to B.
I've tried to do some modifications to Transaction_Overlay.pm in the
part bellow, but with no success.
elsif ( $type =~ /Status/ ) {
if ( $self->Field eq 'Status' ) {
if ( $self->NewValue eq 'deleted' ) {
return ( $self->loc( "[_1] deleted", $obj_type ) );
}
else {
return (
$self->loc(
"Status changed from [_1] to [_2]",
"'" . $self->loc( $self->OldValue ) . "'",
"'" . $self->loc( $self->NewValue ) . "'"
)
);
}
}
So, what should I do?
Thanks to all.
Mario Gomide
Mario Gomide wrote:
Hi Kenn, hi Gene!
I had some trouble with the logging part, but I fixed it. Then I had
this problem:
[error]: Scrip Prepare XX died. - Undefined subroutine
&Scalar::Util::weaken called at
/usr/local/rt3/lib/RT/Action/Generic.pm line 107.
This was also fixed after updating Scalar::Util via CPAN with the
command:
#cpan -fi Scalar::Util
but still got nothing... so I rebooted and it began to work, and now
my scrip is running and logging.
Apparently, the scrip is working fine, and now back to my original
problem: When a ticket with status "A" cannot change to status "B",
the result text shows that this status change occurred (Status changed
from A to B), even though it in fact didn't ocurr (the status is
unchanged).
How can I, in this case, show an error message like "ERROR: Status
cannot be changed from A to B! Status remains A." on the results part
after modifying a ticket?
I've tried to set in the scrip, inside the "if" statement:
return $self->loc("TEXT TELLING THE USER HE CANT CHANGE FROM STATUS A
TO B");
but my text doesn't appear... since I'm sort of new to perl and
customizing RT, this was like a blind guess...
Any ideas?
Anyway, thanks so much for your help so far!
Mario
Kenneth Crocker escreveu:
Mario,
Gene is right (he helped me a bunch when I created several scrips
that change ticket status for a workflow design)). The entries to
your log will help a great deal. I had several scrips that made
several changes (one at a time) and when it ran into an error, the
status did not get changed. I'd take a look at your log and see what
is happening. That will help in debugging your code.
Kenn
LBNL
_______________________________________________
http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users
Community help: http://wiki.bestpractical.com
Commercial support: [EMAIL PROTECTED]
Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
Buy a copy at http://rtbook.bestpractical.com