Scrip action - currentUser

HI
I’m trying to auto open tickets only for users who don’t have ticket
modification rights

if I remove

$self->TicketObj->CurrentUserHasRight(‘ModifyTicket’)

it works, otherwise I get following error in rt.log

[Fri Apr 30 05:57:34 2004] [info]: RT::Scrip=HASH(0x9606ec8): Couldn’t prepare Open Tickets for Users (/usr/local/apps/rt-3.0.8//lib/RT/Scrip_Overlay.pm:346)

Is it possible to access the current users from the scrip action???

Thanks

package RT::Action::AutoOpenForUsers;
require RT::Action::Generic;

use strict;
use vars qw/@ISA/;
@ISA=qw(RT::Action::Generic);

#Do what we need to do and send it out.

#What does this type of Action does

{{{ sub Describe

sub Describe {
my $self = shift;
return (ref $self );
}

}}}

{{{ sub Prepare

sub Prepare {
my $self = shift;

# if the user has status change right don't auto change it for them
# if the ticket is already open or new then don't (re)open either.

if ( ($self->TicketObj->CurrentUserHasRight('ModifyTicket'))
     || ( $self->TicketObj->Status eq 'open' )
     || ( $self->TicketObj->Status eq 'new' ) ) {

    return undef;
}
else {
    return (1);
}

}

}}}

sub Commit {
my $self = shift;
my $oldstatus = $self->TicketObj->Status();

my $newstatus = ($oldstatus eq 'stalled') ? 'open' : 'new';

$self->TicketObj->__Set( Field => 'Status', Value => $newstatus );
$self->TicketObj->_NewTransaction(
                     Type     => 'Status',
                     Field    => 'Status',
                     OldValue => $oldstatus,
                     NewValue => $newstatus,
                     Data => 'Ticket auto-opened ticket for users'
    );


return(1);

}

eval “require RT::Action::AutoOpenForUsers_Vendor”;
die $@ if ($@ && $@ !~ qr{^Can’t locate RT/Action/AutoOpenForUsers_Vendor.pm});
eval “require RT::Action::AutoOpenForUsers_Local”;
die $@ if ($@ && $@ !~ qr{^Can’t locate RT/Action/AutoOpenForUsers_Local.pm});

1;

mysql> select * from ScripActions where id=16;
| id | Name | Description | ExecModule | Argument | Creator | Created | LastUpdatedBy | LastUpdated |
| 16 | Open Tickets for Users | Open tickets on correspondence | AutoOpenForUsers | NULL | 0 | NULL | 0 | NULL |

warm regards
Vinita Vigine Murugiah
Email : vinita@cs.mu.oz.au Ph : (03) 8344 1273