Re: [rt-users] Help with a template

2015-12-02 Thread Matt Zagrabelny
On Wed, Dec 2, 2015 at 9:35 AM, Joe Kirby  wrote:
> Matt
>
> I appreciate the suggestion however as a non-perl programmer I am not able
> to transition this to my template

Sure.

> I was hoping to have some command that would replace this line in the
> template so the child ticket could receive all the values from the parent as
> I am creating this dynamical via script/template
>
> ITNM-Topic: {$Tickets{'TOP'}->FirstCustomFieldValue('ITNM-Topic’)}

Just replace the "FirstCustomFieldValue" with "CustomFieldValuesAsString".

-m


Re: [rt-users] Help with a template

2015-12-02 Thread Joe Kirby
Matt

I appreciate the suggestion however as a non-perl programmer I am not able to 
transition this to my template 

I was hoping to have some command that would replace this line in the template 
so the child ticket could receive all the values from the parent as I am 
creating this dynamical via script/template

ITNM-Topic: {$Tickets{'TOP'}->FirstCustomFieldValue('ITNM-Topic’)}

If the code provided does that and my lack of knowledge of this scripting 
language is the issue please just let me know and I will look into other options

Thanks

Joe

Joe Kirby ,  Assistant Vice President, Business Systems
Division of Information Technology (DoIT) 
Support Response -   http://www.umbc.edu/doit 
Administration 627
Office - 410-455-3020 
Email - ki...@umbc.edu

> On Dec 1, 2015, at 5:35 PM, Matt Zagrabelny  wrote:
> 
> On Tue, Dec 1, 2015 at 4:21 PM, Joe Kirby  wrote:
>> I have a need to create a child ticket and pass on the values for a shared
>> custom field.
>> 
>> This works fine when passing a field which is limited to 1 value however I
>> now have a multi-value custom field and I cannot find any examples of how to
>> pass the secondary values if they exist.
> 
> There are a couple of ways.
> 
> 1) Use the built-in method.
> 
> CustomFieldValuesAsString
> 
> more about it can be found in:
> 
> lib/RT/Record.pm
> 
> 2) Have full control over the output.
> 
> Here is an example that builds an HTML list:
> 
> {
> my $cf = $Ticket->LoadCustomFieldByIdentifier('Multimedia Hub
> Equipment');
> my $equipment = $cf->ValuesForObject($Ticket)->ItemsArrayRef;
> 
> $html_equipment = 'No equipment listed.';
> 
> if (@$equipment > 0) {
> $html_equipment = '';
> for my $item (@$equipment) {
> my $content = $item->Content;
> RT::Interface::Web::EscapeHTML(\$content);
> $html_equipment .= ''.$content.'';
> }
> $html_equipment .= '';
> }
> 
> $html_equipment;
> }
> 
> Cheers,
> 
> -m



Re: [rt-users] Help with a template

2015-12-02 Thread Joe Kirby
Thank you so much!!!

This worked great

I really do appreciate it.

Joe

Joe Kirby ,  Assistant Vice President, Business Systems
Division of Information Technology (DoIT) 
Support Response -   http://www.umbc.edu/doit 
Administration 627
Office - 410-455-3020 
Email - ki...@umbc.edu

> On Dec 2, 2015, at 11:14 AM, Matt Zagrabelny  wrote:
> 
> Hi Joe,
> 
> This is a guess - as we don't make use of creating child tickets with 
> templates. 
> 
> Replace the line, "ITNM-Topic: 
> {$Tickets{'TOP'}->CustomFieldValuesAsString('ITNM-Topic’)}" with the 
> following:
> 
> {
>  my $cf = $Tickets{TOP}->LoadCustomFieldByIdentifier('ITNM-Topic');
>  my $topics = $cf->ValuesForObject($Tickets{TOP})->ItemsArrayRef;
> 
>  join "\n",
>  map { "ITNM-Topic: " . $_->Content }
>  @$topics
>  ;
> }
> 
> The idea here is to insert into the template a line of:
> 
> ITNM-Topic: [blah]
> 
> for each value in your CF.
> 
> Alternatively to test things out, use the original line and an additional 
> line to see if you can pass multiple values to a child ticket's CF:
> 
> ITNM-Topic: {$Tickets{'TOP'}->FirstCustomFieldValue('ITNM-Topic’)}
> ITNM-Topic: testing_multiple_values
> 
> Hopefully that child ticket will have two values in its ITNM-Topic CF.
> 
> Hope that helps!
> 
> -m
> 
> 
> On Wed, Dec 2, 2015 at 9:56 AM, Joe Kirby  > wrote:
> Thanks Matt
> 
> When I do this ITNM-Topic: 
> {$Tickets{'TOP'}->CustomFieldValuesAsString('ITNM-Topic’)} I still just get 
> the first 1 in the list for the child ticket. It show fine in the parent 
> ticket of course but is not transferring down to the child.
> 
> I am on 4.2.11 
> 
> I appreciate your quick responses and ideas
> 
> I included a snapshot of the parent and child in case that helped.
> 
>  10.54.57 AM.png>
> 
> Joe
> 
> Joe Kirby ,  Assistant Vice President, Business Systems
> Division of Information Technology (DoIT) 
> Support Response -   http://www.umbc.edu/doit  
> Administration 627
> Office - 410-455-3020  
> Email - ki...@umbc.edu 
>> On Dec 2, 2015, at 10:38 AM, Matt Zagrabelny > > wrote:
>> 
>> On Wed, Dec 2, 2015 at 9:35 AM, Joe Kirby > > wrote:
>>> Matt
>>> 
>>> I appreciate the suggestion however as a non-perl programmer I am not able
>>> to transition this to my template
>> 
>> Sure.
>> 
>>> I was hoping to have some command that would replace this line in the
>>> template so the child ticket could receive all the values from the parent as
>>> I am creating this dynamical via script/template
>>> 
>>> ITNM-Topic: {$Tickets{'TOP'}->FirstCustomFieldValue('ITNM-Topic’)}
>> 
>> Just replace the "FirstCustomFieldValue" with "CustomFieldValuesAsString".
>> 
>> -m
> 
> 



Re: [rt-users] Help with a template

2015-12-02 Thread Matt Zagrabelny
Hi Joe,

This is a guess - as we don't make use of creating child tickets with
templates.

Replace the line, "ITNM-Topic:
{$Tickets{'TOP'}->CustomFieldValuesAsString('ITNM-Topic’)}" with the
following:

{
 my $cf = $Tickets{TOP}->LoadCustomFieldByIdentifier('ITNM-Topic');
 my $topics = $cf->ValuesForObject($Tickets{TOP})->ItemsArrayRef;

 join "\n",
 map { "ITNM-Topic: " . $_->Content }
 @$topics
 ;
}

The idea here is to insert into the template a line of:

ITNM-Topic: [blah]

for each value in your CF.

Alternatively to test things out, use the original line and an additional
line to see if you can pass multiple values to a child ticket's CF:

ITNM-Topic: {$Tickets{'TOP'}->FirstCustomFieldValue('ITNM-Topic’)}
ITNM-Topic: testing_multiple_values

Hopefully that child ticket will have two values in its ITNM-Topic CF.

Hope that helps!

-m


On Wed, Dec 2, 2015 at 9:56 AM, Joe Kirby  wrote:

> Thanks Matt
>
> When I do this ITNM-Topic:
> {$Tickets{'TOP'}->CustomFieldValuesAsString('ITNM-Topic’)} I still just get
> the first 1 in the list for the child ticket. It show fine in the parent
> ticket of course but is not transferring down to the child.
>
> I am on 4.2.11
>
> I appreciate your quick responses and ideas
>
> I included a snapshot of the parent and child in case that helped.
>
>
> Joe
>
> Joe Kirby ,  Assistant Vice President, Business Systems
> Division of Information Technology (DoIT)
> Support Response -   http://www.umbc.edu/doit
> Administration 627
> Office - 410-455-3020
> Email - ki...@umbc.edu
>
> On Dec 2, 2015, at 10:38 AM, Matt Zagrabelny  wrote:
>
> On Wed, Dec 2, 2015 at 9:35 AM, Joe Kirby  wrote:
>
> Matt
>
> I appreciate the suggestion however as a non-perl programmer I am not able
> to transition this to my template
>
>
> Sure.
>
> I was hoping to have some command that would replace this line in the
> template so the child ticket could receive all the values from the parent
> as
> I am creating this dynamical via script/template
>
> ITNM-Topic: {$Tickets{'TOP'}->FirstCustomFieldValue('ITNM-Topic’)}
>
>
> Just replace the "FirstCustomFieldValue" with "CustomFieldValuesAsString".
>
> -m
>
>
>


Re: [rt-users] Help with a template

2015-12-02 Thread Joe Kirby
Thanks Matt

When I do this ITNM-Topic: 
{$Tickets{'TOP'}->CustomFieldValuesAsString('ITNM-Topic’)} I still just get the 
first 1 in the list for the child ticket. It show fine in the parent ticket of 
course but is not transferring down to the child.

I am on 4.2.11 

I appreciate your quick responses and ideas

I included a snapshot of the parent and child in case that helped.



Joe

Joe Kirby ,  Assistant Vice President, Business Systems
Division of Information Technology (DoIT) 
Support Response -   http://www.umbc.edu/doit 
Administration 627
Office - 410-455-3020 
Email - ki...@umbc.edu

> On Dec 2, 2015, at 10:38 AM, Matt Zagrabelny  wrote:
> 
> On Wed, Dec 2, 2015 at 9:35 AM, Joe Kirby  wrote:
>> Matt
>> 
>> I appreciate the suggestion however as a non-perl programmer I am not able
>> to transition this to my template
> 
> Sure.
> 
>> I was hoping to have some command that would replace this line in the
>> template so the child ticket could receive all the values from the parent as
>> I am creating this dynamical via script/template
>> 
>> ITNM-Topic: {$Tickets{'TOP'}->FirstCustomFieldValue('ITNM-Topic’)}
> 
> Just replace the "FirstCustomFieldValue" with "CustomFieldValuesAsString".
> 
> -m



[rt-users] Help with a template

2015-12-01 Thread Joe Kirby
I have a need to create a child ticket and pass on the values for a shared 
custom field.

This works fine when passing a field which is limited to 1 value however I now 
have a multi-value custom field and I cannot find any examples of how to pass 
the secondary values if they exist.

Here is my current template that brings the first value

Any help is appreciated

Thanks

Joe

===Create-Ticket: DoIT-ITNM-OutReach
Subject: OutReach from: {$Tickets{'TOP'}->Subject}
Referred-To-By: {$Tickets{'TOP'}->Id}
Queue: 2234
InitialPriority: 99
FinalPriority: 99
Status: resolved
Requestor: {$Tickets{'TOP'}->RequestorAddresses}
AdminCc: {$Tickets{'TOP'}->Owner}
ITNM-Contact-Type: {$Tickets{'TOP'}->FirstCustomFieldValue('ITNM-Contact-Type')}
ITNM-Topic: {$Tickets{'TOP'}->FirstCustomFieldValue('ITNM-Topic')}
Content: The Online Learning team has performed an outreach and would like to 
track this for planning purposes. Please refer to the linked ticket for 
specific details.
ENDOFCONTENT


Joe Kirby ,  Assistant Vice President, Business Systems
Division of Information Technology (DoIT) 
Support Response -   http://www.umbc.edu/doit 
Administration 627
Office - 410-455-3020 
Email - ki...@umbc.edu



Re: [rt-users] Help with a template

2015-12-01 Thread Matt Zagrabelny
On Tue, Dec 1, 2015 at 4:21 PM, Joe Kirby  wrote:
> I have a need to create a child ticket and pass on the values for a shared
> custom field.
>
> This works fine when passing a field which is limited to 1 value however I
> now have a multi-value custom field and I cannot find any examples of how to
> pass the secondary values if they exist.

There are a couple of ways.

1) Use the built-in method.

CustomFieldValuesAsString

more about it can be found in:

lib/RT/Record.pm

2) Have full control over the output.

Here is an example that builds an HTML list:

{
 my $cf = $Ticket->LoadCustomFieldByIdentifier('Multimedia Hub
Equipment');
 my $equipment = $cf->ValuesForObject($Ticket)->ItemsArrayRef;

 $html_equipment = 'No equipment listed.';

 if (@$equipment > 0) {
 $html_equipment = '';
 for my $item (@$equipment) {
 my $content = $item->Content;
 RT::Interface::Web::EscapeHTML(\$content);
 $html_equipment .= ''.$content.'';
 }
 $html_equipment .= '';
 }

 $html_equipment;
 }

Cheers,

-m