I made a scrip to set a value on CF when changing owner, but is not
working.
Does somebody can help me.
My code bellow:
use RT::Ticket;
use RT::CustomField;
my $Ticket = $self->TicketObj;
my $CFName = ‘Tipo de Defacement’;
my $QueueObj = $Ticket->QueueObj;
my $CFObj = RT::CustomField->new( $QueueObj->$self->CurrentUser );
$CFObj->LoadByNameAndQueue( Name => $CFName, Queue => $QueueObj->id );
$Ticket->AddCustomFieldValue( Field => $CFObj->id,
Value => “Desfiguracao de Sitio”,
RecordTransaction => 1);
Thanks.
I made a scrip to set a value on CF when changing owner, but is not
working.
Does somebody can help me.
My code bellow:
use RT::Ticket;
use RT::CustomField;
my $Ticket = $self->TicketObj;
my $CFName = ‘Tipo de Defacement’;
my $QueueObj = $Ticket->QueueObj;
my $CFObj = RT::CustomField->new( $QueueObj->$self->CurrentUser );
Have you looked in your error logs? That should always be the first step.
The line “$QueueObj->$self->CurrentUser” above, while valid Perl, is
really not at all what you want there (it’s using the value of $self as
a method name).
Either $QueueObj->CurrentUser or $self->CurrentUser is probably sufficient.
Thomas
Mauricio,
Try this:
Condition: Owner Change
Action: User-defined
Template: Global Blank
Stage: TransactionBatch
Custom Prep Code:
set the CF Default value
my $trans = $self->TransactionObj;
my $ticket = $self->TicketObj;
my $cf_obj = RT::CustomField->new($RT::SystemUser);
my $cf_name = “Tipo de Defacement”;
my $cf_value = “Desfiguracao de Sitio”;
$cf_obj->LoadByName(Name=>$cf_name);
$RT::Logger->debug(“Loaded$cf_obj->Name = “. $cf_obj->Name() .”\n”);
$ticket->AddCustomFieldValue(Field=>$cf_obj, Value=>$cf_value,
RecordTransaction=>0);
return 1;
Custom Cleanup Code:
return 1;
This works for us.
Kenn
LBNLOn Tue, Mar 1, 2011 at 5:04 AM, mauricio.leite@planalto.gov.br wrote:
I made a scrip to set a value on CF when changing owner, but is not
working.
Does somebody can help me.
My code bellow:
use RT::Ticket;
use RT::CustomField;
my $Ticket = $self->TicketObj;
my $CFName = ‘Tipo de Defacement’;
my $QueueObj = $Ticket->QueueObj;
my $CFObj = RT::CustomField->new( $QueueObj->$self->CurrentUser );
$CFObj->LoadByNameAndQueue( Name => $CFName, Queue => $QueueObj->id );
$Ticket->AddCustomFieldValue( Field => $CFObj->id,
Value => “Desfiguracao de Sitio”,
RecordTransaction => 1);
Thanks.