[rt-users] Scrip to automatically set Owner based on a Custom Field

jrummel jrummel at imapp.com
Fri Oct 30 15:23:37 EDT 2009


Thank you all so much for your time.  I got it to work!

Expanding on it further:

Say I have 40 products, and 5 users.  Each of these 5 users works on more
than one product.

Would I then have to make 5 different scrips with "OR" statements in them? 
Ideally, I would like to be able to add a column to the CustomFieldValues
table containing a value of 1-5.  Then make a small table called UserOwner
or something with 2 columns:

one column with values 1-5 called "id" (relating to the added column in
CustomFieldValues), and one column with usernames called "Name".

I guess that's a long way of asking if there is a way to accomplish this in
1 scrip by way of an SQL statement?  Hopefully I explained that somewhat
coherently.

Thanks again!



Carlos Garcia Montoro wrote:
> 
> I did something similar. If the custom field had a particular value, 
> then the owner had to be a particular user. I did it using this scrip:
> 
> Custom condition:
> 
> if ($self->TransactionObj->Type eq 'Create' &&
>      $self->TicketObj->FirstCustomFieldValue('Product') eq 'Product A') {
>      return 1;
> }
> return 0;
> 
> Custom Action:
> $self->TicketObj->SetOwner('John Smith');
> return 1;
> 
> Hope it helps,
> Carlos
> 
> Emmanuel Lacour wrote:
>> On Thu, Oct 29, 2009 at 04:50:47PM -0700, jrummel wrote:
>>> Hi everyone,
>>>
>>> I have a select-one Custom Field called "Product" with 5 products in it. 
>>> Based on what product is selected (on create), I would like a specific
>>> user
>>> to be set as the Owner (ex: ticket is created with "Product A" selected,
>>> so
>>> John Smith works on Product A, thus should automatically be the Owner). 
>>> Does anyone know the what my Custom Action would look like to accomplish
>>> this?
>>>
>> 
>> 
>> You should use two customfields, one ticket customfield used to set the
>> product for the ticket, another _user_ customfield to set the list of
>> product a user works on in the user profile. Then your action will
>> compare those values and set the owner.
>> 
>> Here is a not tested code to help you:
>> 
>> my $Ticket = $self->TicketObj;
>> 
>> # Get products selected for this ticket
>> my $T_product = $Ticket->FirstCustomFieldValue ( 'Product' );
>> 
>> # Try to find a User with this product
>> my $user_found = undef;
>> my $Users = RT::Users->new ( $RT::SystemUser );
>> while ( my $User = $Users->Next () )
>> {
>>         my $U_products = $User->CustomFieldValues ( 'Products' );
>>         while ( my $product = $U_products->Next )
>>         {       
>>                 if ( $product->Content eq $T_product )
>>                 {       
>>                     $user_found = $User;
>>                     last;
>>                 }       
>>         }       
>> }
>> 
>> if ( $user_found && $user_found->Id ) {
>>     $RT::Logger->debug("User ".$user_found->Name." found for product
>> ".$T_product." Ticket ".$Ticket->Id );
>>     $Ticket->SetOwner( $user_found );
>> } else {
>>     return 0;
>> }
>> 
>> return 1;
>> 
>> _______________________________________________
>> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users
>> 
>> Community help: http://wiki.bestpractical.com
>> Commercial support: sales at bestpractical.com
>> 
>> 
>> Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
>> Buy a copy at http://rtbook.bestpractical.com
>> 
> 
> -- 
>   _______ _______________________________________________________________
> | __ __ | Carlos García Montoro                    Ingeniero Informático
> |_\_Y_/_| Instituto de Física Corpuscular         Centro Mixto CSIC - UV
> |\_] [_/| Servicios Informáticos
> |  [_]  | Edificio Institutos de Investigación        cgarcia at ific.uv.es
> |C S I C| Apartado de Correos 22085 E-46071 Valencia  Tel: +34 963543706
> |_______| España / Spain                              Fax: +34 963543488
> 
> begin:vcard
> fn;quoted-printable:Carlos Garc=C3=ADa Montoro
> n;quoted-printable:Garc=C3=ADa Montoro;Carlos
> org;quoted-printable;quoted-printable:Instituto de F=C3=ADsica
> Corpuscular;Servicios Inform=C3=A1ticos
> adr;quoted-printable:Apartado de Correos 22085;;Edificio Institutos de
> Investigaci=C3=B3n;Valencia;Valencia;E-46071;Spain
> email;internet:Carlos.Garcia at ific.uv.es
> tel;work:(+34) 96 354 37 06
> x-mozilla-html:TRUE
> version:2.1
> end:vcard
> 
> 
> _______________________________________________
> http://lists.bestpractical.com/cgi-bin/mailman/listinfo/rt-users
> 
> Community help: http://wiki.bestpractical.com
> Commercial support: sales at bestpractical.com
> 
> 
> Discover RT's hidden secrets with RT Essentials from O'Reilly Media. 
> Buy a copy at http://rtbook.bestpractical.com
> 

-- 
View this message in context: http://old.nabble.com/Scrip-to-automatically-set-Owner-based-on-a-Custom-Field-tp26122827p26135648.html
Sent from the Request Tracker - User mailing list archive at Nabble.com.




More information about the rt-users mailing list