[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