[rt-users] RT 3.8.10 is setting a CF value on new ticket creation?
Jeff Blaine
jblaine at kickflop.net
Wed Aug 10 09:04:59 EDT 2011
On 8/9/2011 5:28 PM, Kevin Falcone wrote:
> On Tue, Aug 09, 2011 at 02:59:44PM -0400, Jeff Blaine wrote:
>> I'm confused and can't see that I am doing anything
>> wrong. Either I *am* doing something wrong, or there's
>> a really bizarre bug in 3.8.10. Surely it's the former.
>
> Since you don't say what the condition of the Scrip is, it's hard to
> know what the TransactionObj actually is, and whether or not it's
> relevant.
>
> But without knowing more about the contents of Transactions and
> ObjectCustomFieldValues I'd be guessing at problems.
Not that I think it matters (because disabling this scrip
still shows Discovery Method being set somewhere at ticket
creation)... but FWIW
===================================================================
Condition: On Create
Action: User Defined
Template: Global template: Blank
Stage: TransactionCreate
===================================================================
my $requestor_address = lc($self->TicketObj->RequestorAddresses);
my $subject = lc($self->TicketObj->Subject);
my %subj2discmethod = (
'foo rule' => 'Foo Sensor',
'active proxy' => 'Proxy',
);
my $discmethodset = 0;
foreach my $key (keys %subj2discmethod) {
if ($subject =~ $key) {
$RT::Logger->info("Subject '$subject' setting 'Discovery
Method' to '$subj2discmethod{$key}'");
my $cf = RT::CustomField->new($RT::SystemUser);
$cf->LoadByName(Name => 'Discovery Method');
$self->TicketObj->AddCustomFieldValue(Field => $cf,
Value => $subj2discmethod{$key},
RecordTransaction => 0);
return 1;
}
}
$RT::Logger->info("No Discovery Method set by scrip 13. No matches.
Subject was '$subject' and requestor was '$requestor_address'");
my $trans = $self->TransactionObj;
my $ticket = $self->TicketObj;
my $testcf = new RT::CustomField($RT::SystemUser);
$testcf->LoadByName(Queue => $ticket->QueueObj->id, Name => "Discovery
Method");
my $oldv = trim($self->TransactionObj->OldValue());
my $newv = trim($self->TransactionObj->NewValue());
$RT::Logger->info("Old value '$oldv' for Discovery Method. New value
'$newv'");
return 1;
===================================================================
More information about the rt-users
mailing list