Problem with custom condition in scrip

Hello,

I’ve been attempting to instruct rt to send emails ‘On Correspond’ to
‘Requestors’ and ‘Ccs’,
only if the email address of the user generating the transaction matches a
predetermined list (@domain1 or @domain2)

Following, the code I wrote for the ‘custom condition’:

#— begin code —
if ( $self->TransactionObj->Type ne ‘Create’
&&
!grep { $self->CurrentUser->EmailAddress =~ /$_$/ }
(‘@domain1’,‘@domain2’)
) {
return 0;
}

return 1;
#-- end code –

This is the “Basics” section of the scrip:
Description: On Correspond Notify Requestors and Ccs
Condition: User Defined
Action: Notify Requestors and Ccs
Template: Correspondence
Global
Enabled

Additionally, for testing purposes I took care of setting user@domain1 as a
‘requestor’

I’ve tested the code snippet on a regular perl script and it works 100% of
the time, however
RT is not doing what I need.

Any help will be highly appreciated

Hugo Escobar

[image: AFS_logo.png]

Follow us on Facebook and Linked-In

[image: facebook-24x24.png]http://www.facebook.com/pages/Miami-FL/ASSOCIATION-FINANCIAL/64952991864
[image: linkedin-24x24.png] http://www.linkedin.com/companies/1006276

Hello,

I’ve been attempting to instruct rt to send emails ‘On Correspond’ to
‘Requestors’ and ‘Ccs’,
only if the email address of the user generating the transaction matches a
predetermined list (@domain1 or @domain2)

Following, the code I wrote for the ‘custom condition’:

#— begin code —
if ( $self->TransactionObj->Type ne ‘Create’
&&
!grep { $self->CurrentUser->EmailAddress =~ /$_$/ }
(‘@domain1’,‘@domain2’)
) {
return 0;
}

return 1;

RT->Logger->error($self->CurrentUser->EmailAddress); to see what the
email address is. It isn’t who you think it is. You want
$self->TransactionObj->CreatorObj->EmailAddress

Your check of ne ‘Create’ is also sort of non-sensical since it’ll
apply to transactions such as setting a status or changing a CF.

-kevin

Right, I wasn’t getting the email address. it works now.
ThanksOn Thu, May 22, 2014 at 4:35 PM, Kevin Falcone falcone@bestpractical.comwrote:

On Wed, May 21, 2014 at 10:12:03PM -0400, Hugo Escobar wrote:

Hello,

I’ve been attempting to instruct rt to send emails ‘On Correspond’ to
‘Requestors’ and ‘Ccs’,
only if the email address of the user generating the transaction matches
a
predetermined list (@domain1 or @domain2)

Following, the code I wrote for the ‘custom condition’:

#— begin code —
if ( $self->TransactionObj->Type ne ‘Create’
&&
!grep { $self->CurrentUser->EmailAddress =~ /$_$/ }
(‘@domain1’,‘@domain2’)
) {
return 0;
}

return 1;

RT->Logger->error($self->CurrentUser->EmailAddress); to see what the
email address is. It isn’t who you think it is. You want
$self->TransactionObj->CreatorObj->EmailAddress

Your check of ne ‘Create’ is also sort of non-sensical since it’ll
apply to transactions such as setting a status or changing a CF.

-kevin


RT Training - Boston, September 9-10
http://bestpractical.com/training

Hugo Escobar

[image: AFS_logo.png]

Follow us on Facebook and Linked-In

[image: facebook-24x24.png]http://www.facebook.com/pages/Miami-FL/ASSOCIATION-FINANCIAL/64952991864
[image: linkedin-24x24.png] http://www.linkedin.com/companies/1006276