On Oct 26, 2016, at 2:29 PM, Alex Hall <ah...@autodist.com<mailto:ah...@autodist.com>> wrote:
Hi all, The way our company uses RT, there's no need to distinguish between comments and replies, and users may use either one without realizing the difference. In my new email template, I want to show whichever was set. My template works fine without the two if statements I'm trying to use, but as soon as I put them in, it fails. The odd thing is that, though the email using the template is never sent, I don't get any errors at all. When I was missing a dollar sign earlier, I got an error--an error not really related to the dollar sign, but an error. Now, though, I get nothing whatsoever. Here's the snippet: { if (my $transactionCorrespond = $Transaction->correspond) { $transactionCorrespond } elsif (my $transactionComment = $Transaction->comment) { $transactionComment } } I don't know what's so wrong with that bit of code, but there must be something. I don't really speak Perl, and the only page I've found thus far that enumerates the Transaction object properties isn't overly helpful, so I'm guessing at the properties I need. Can anyone see what I've done wrong here? Thanks. Since $Transaction is a thing then $Transaction->correspond is empty since it's not a thing. This is why you'll get no errors. Try this: { if ($self->TransactionObj->Type eq 'Correspond') { # something } elsif ($self->TransactionObj->Type eq 'Comment') { # something else } else { # Not a Comment or Correspond transaction } } Or something that actually does exactly what your pseudocode does: { $self->TransactionObj->Type } I have found these very helpful in the past: https://rt-wiki.bestpractical.com/wiki/CustomConditionSnippets -- Landon Stewart Lead Analyst - Abuse and Security Management INTERNAP ® 📧 lstew...@internap.com<mailto:lstew...@internap.com> 🌍 www.internap.com<http://www.internap.com>
--------- RT 4.4 and RTIR training sessions, and a new workshop day! https://bestpractical.com/training * Boston - October 24-26 * Los Angeles - Q1 2017