Re: [rt-users] Getting customfield value for a ticket

2010-06-24 Thread Wolfram Huettermann

Johan Sjöberg wrote:


Hi.

We have a custom field named ”Customer” that we set for our tickets. I 
am trying to modify this report to summarize time worked per customer 
during the given time period: 
http://wiki.bestpractical.com/view/TimeWorkedReport


The problem I have is to get the custom field value for a ticket.

I have a Ticket “Object” that is created by

my $t = new RT::Ticket($session{'CurrentUser'});

$t-Load($tr-ObjectId);

After that I want to get the Custom Field value for this ticket. I can 
see the data in the ObjectCustomFieldValues table, but I do not know 
how to get the information I want.


I have the ticket id in $t-id and the CustomField id is 19.

I have tried using the different functions available in the RT perl 
modules, but have been unable to get it right.


I know very little perl, so I have been working at a trial and error 
basis.


Do you have any tips for me on how to get it to work?

Best Regards,

Johan Sjöberg




Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
Buy a copy at http://rtbook.bestpractical.com

Hello Johann,

Use $t-Content if this custom field only stores one value.

Greetings,

Wolfram




Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
Buy a copy at http://rtbook.bestpractical.com


Re: [rt-users] Getting customfield value for a ticket

2010-06-24 Thread Johan Sjöberg


-Original Message-
From: Wolfram Huettermann [mailto:wolfram.huetterm...@desy.de] 
Sent: den 24 juni 2010 15:48
To: Johan Sjöberg
Cc: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Getting customfield value for a ticket

Johan Sjöberg wrote:

 Hi.

 We have a custom field named Customer that we set for our tickets. I 
 am trying to modify this report to summarize time worked per customer 
 during the given time period: 
 http://wiki.bestpractical.com/view/TimeWorkedReport

 The problem I have is to get the custom field value for a ticket.

 I have a Ticket Object that is created by

 my $t = new RT::Ticket($session{'CurrentUser'});

 $t-Load($tr-ObjectId);

 After that I want to get the Custom Field value for this ticket. I can 
 see the data in the ObjectCustomFieldValues table, but I do not know 
 how to get the information I want.

 I have the ticket id in $t-id and the CustomField id is 19.

 I have tried using the different functions available in the RT perl 
 modules, but have been unable to get it right.

 I know very little perl, so I have been working at a trial and error 
 basis.

 Do you have any tips for me on how to get it to work?

 Best Regards,

 Johan Sjöberg

 


 Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
 Buy a copy at http://rtbook.bestpractical.com
Hello Johann,

Use $t-Content if this custom field only stores one value.

Greetings,

Wolfram

Hi.

Does that work when $t is a ticket? Won't that just return the content of the 
ticket? If there even is a Content property for the ticket.
BTW, I am using RT 3.8.2 if that matters.

/Johan




Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
Buy a copy at http://rtbook.bestpractical.com


Re: [rt-users] Getting customfield value for a ticket

2010-06-24 Thread Kevin Falcone
On Thu, Jun 24, 2010 at 03:38:50PM +0200, Johan Sjöberg wrote:
We have a custom field named Customer that we set for our tickets. I am 
 trying to modify
this report to summarize time worked per customer during the given time 
 period:
[1]http://wiki.bestpractical.com/view/TimeWorkedReport
 
 
 
The problem I have is to get the custom field value for a ticket.
 
 
 
I have a Ticket Object that is created by
 
my $t = new RT::Ticket($session{'CurrentUser'});
 
   $t-Load($tr-ObjectId);
 
 
 
After that I want to get the Custom Field value for this ticket. I can see 
 the data in the
ObjectCustomFieldValues table, but I do not know how to get the 
 information I want.
 
I have the ticket id in $t-id and the CustomField id is 19.
 
I have tried using the different functions available in the RT perl 
 modules, but have been
unable to get it right.
 
I know very little perl, so I have been working at a trial and error basis.
 
 
 
Do you have any tips for me on how to get it to work?

All of the methods you might want for this are defined in RT::Record
and you can read their documentation with 
perldoc /opt/rt3/lib/RT/Record.pm

Try searching for CustomFieldValue

-kevin


pgp5gqTTJFTLe.pgp
Description: PGP signature

Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
Buy a copy at http://rtbook.bestpractical.com

Re: [rt-users] Getting customfield value for a ticket

2010-06-24 Thread Johan Sjöberg

-Original Message-
From: rt-users-boun...@lists.bestpractical.com 
[mailto:rt-users-boun...@lists.bestpractical.com] On Behalf Of Kevin Falcone
Sent: den 24 juni 2010 16:03
To: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Getting customfield value for a ticket

On Thu, Jun 24, 2010 at 03:38:50PM +0200, Johan Sjöberg wrote:
We have a custom field named Customer that we set for our tickets. I am 
 trying to modify
this report to summarize time worked per customer during the given time 
 period:
[1]http://wiki.bestpractical.com/view/TimeWorkedReport
 
 
 
The problem I have is to get the custom field value for a ticket.
 
 
 
I have a Ticket Object that is created by
 
my $t = new RT::Ticket($session{'CurrentUser'});
 
   $t-Load($tr-ObjectId);
 
 
 
After that I want to get the Custom Field value for this ticket. I can see 
 the data in the
ObjectCustomFieldValues table, but I do not know how to get the 
 information I want.
 
I have the ticket id in $t-id and the CustomField id is 19.
 
I have tried using the different functions available in the RT perl 
 modules, but have been
unable to get it right.
 
I know very little perl, so I have been working at a trial and error basis.
 
 
 
Do you have any tips for me on how to get it to work?

All of the methods you might want for this are defined in RT::Record
and you can read their documentation with 
perldoc /opt/rt3/lib/RT/Record.pm

Try searching for CustomFieldValue

-kevin

Thanks for your reply. However, I cannot get perldoc to work, when I run 
perldoc /opt/rt3/lib/RT/Record.pm I get
No documentation found for /opt/rt3/lib/RT/Record.pm.
I have verified that Record.pm is in the specified directory. Could this be 
because my RT is installed using the RPM packages from 
http://www.tlviewer.org/rt3/rt-3.8.2/ and that the docs are missing?

/Johan 

Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
Buy a copy at http://rtbook.bestpractical.com


Re: [rt-users] Getting customfield value for a ticket

2010-06-24 Thread Johan Sjöberg


-Original Message-
From: rt-users-boun...@lists.bestpractical.com 
[mailto:rt-users-boun...@lists.bestpractical.com] On Behalf Of Johan Sjöberg
Sent: den 24 juni 2010 16:35
To: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Getting customfield value for a ticket



-Original Message-
From: rt-users-boun...@lists.bestpractical.com 
[mailto:rt-users-boun...@lists.bestpractical.com] On Behalf Of Johan Sjöberg
Sent: den 24 juni 2010 16:16
To: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Getting customfield value for a ticket


-Original Message-
From: rt-users-boun...@lists.bestpractical.com 
[mailto:rt-users-boun...@lists.bestpractical.com] On Behalf Of Kevin Falcone
Sent: den 24 juni 2010 16:03
To: rt-users@lists.bestpractical.com
Subject: Re: [rt-users] Getting customfield value for a ticket

On Thu, Jun 24, 2010 at 03:38:50PM +0200, Johan Sjöberg wrote:
We have a custom field named Customer that we set for our tickets. I am 
 trying to modify
this report to summarize time worked per customer during the given time 
 period:
[1]http://wiki.bestpractical.com/view/TimeWorkedReport
 
 
 
The problem I have is to get the custom field value for a ticket.
 
 
 
I have a Ticket Object that is created by
 
my $t = new RT::Ticket($session{'CurrentUser'});
 
   $t-Load($tr-ObjectId);
 
 
 
After that I want to get the Custom Field value for this ticket. I can see 
 the data in the
ObjectCustomFieldValues table, but I do not know how to get the 
 information I want.
 
I have the ticket id in $t-id and the CustomField id is 19.
 
I have tried using the different functions available in the RT perl 
 modules, but have been
unable to get it right.
 
I know very little perl, so I have been working at a trial and error basis.
 
 
 
Do you have any tips for me on how to get it to work?

All of the methods you might want for this are defined in RT::Record
and you can read their documentation with 
perldoc /opt/rt3/lib/RT/Record.pm

Try searching for CustomFieldValue

-kevin

Thanks for your reply. However, I cannot get perldoc to work, when I run 
perldoc /opt/rt3/lib/RT/Record.pm I get
No documentation found for /opt/rt3/lib/RT/Record.pm.
I have verified that Record.pm is in the specified directory. Could this be 
because my RT is installed using the RPM packages from 
http://www.tlviewer.org/rt3/rt-3.8.2/ and that the docs are missing?

/Johan 

Sorry, I did only check that the path to the pm files was correct. I do not 
have any Record.pm anywhere on the server...

/Johan

I solved it. Perldoc was an easier way to understand things than reading the 
code.

This is how I did it, if anyone is interested:
---snip
# what customer is this?
   my $c = ;
   my $cfs = $t-CustomFieldValues;
   while (my $cf = $cfs-Next) {
if ($cf-CustomField == 19) {
   $c = $cf-Content;
}
   }
---snip

/Johan


Discover RT's hidden secrets with RT Essentials from O'Reilly Media.
Buy a copy at http://rtbook.bestpractical.com