[rt-users] Set user rights with scrip?
Bill Chever
wchever at terracottatech.com
Mon Jun 19 14:14:14 EDT 2006
Todd,
That's great and thanks for the quick reply. Excuse my ignorance, but how
do I get from the Requestors RT Group to the UserObj? In this case, I'm
assuming only one Requestor.
$self->TicketObj->Requestors->< missing this >$UserObj->SetPrivileged(0);
return 1;
Bill
-----Original Message-----
From: Todd Chapman [mailto:todd at chaka.net]
Sent: Monday, June 19, 2006 10:23 AM
To: Bill Chever
Cc: rt-users at lists.bestpractical.com
Subject: Re: [rt-users] Set user rights with scrip?
On Mon, Jun 19, 2006 at 10:01:31AM -0700, Bill Chever wrote:
> RT is so cool.
>
> >From the wiki;
> "A ScripAction can access and change the current instance of the
> following
> objects:
>
> Scrip
> Ticket
> Transaction
> Template "
>
> I need to be able to affect a user's access rights with a scrip.
>
> Scenario:
> I want to allow anyone to send requests into Support Like most you, I
> get lots of messages offering me PE patches, Viagra, and partnerships
> with African ex-dignitaries I need an easy way to manage and reduce
> spam without missing that possible "We love your product and have $1M
> to spend."
>
> Solution:
> Have SpamAssasin insert **Possible SPAM** into the Subject line of
> suspected spam (working) Have RT check the Subject line and if
> 'Possible SPAM' is present, move the ticket to the 'Trash' queue while
> also bypassing the AutoReply and Notify scrips (working)
>
> At some pre-defined schedule, have a human look at the Trash queue,
> use Update multiple tickets, check all and set Status to 'deleted.'
>
> One very cool thing I've discovered is that if a user exists in RT,
> and you uncheck "Let this user access RT", the next time that same
> user attempts to send a message, RT will reject it, not create the
> ticket, and send the user a terse note explaining that they do not
> have create ticket rights. That would enable me to prevent any more
> spam from that same user, and save my ticket numbers in the process.
>
> So I want to create a script that does -
>
> Condition: Status eq 'deleted' and Queue eq 'Trash'
> Action: $RequestorObj->SetRights("Access",0)
>
> Or similar. Is it possible? Right now I can accomplish this
> manually, but mass updates are so much better.
>
Yes, this can be done. Create a scrip on the Trash queue. Custom condition
of $self->TransactionObj->Type eq 'Status' and $self->TicketObj->Status eq
'deleted'.
$self->TicketObj->Requestors will give an RT::Group of requestors. For each
requestor you can get the RT:User object at call $UserObj->SetPrivileged(0).
-Todd
More information about the rt-users
mailing list