Re: Template snippet causes template to silently fail

Alex Hall <[email protected]>
Newsgroups gmane.comp.bug-tracking.request-tracker.user
Message-ID <CA+Q8_JdO270Ld6v41hUKAznLhGVbcK-UBJtn87iT9CUkR=Xorw@mail.gmail.com>
Thanks for the suggestions, but I'm still seeing the same exact problem. If
I put the code in, the email based on this template fails to send. The log,
however, remains absent any error or warning messages around the time of
each attempt I make. I'll paste my latest try below, but note that I've
tried $Transaction in place of $self->TransactionObj and gotten the same
result.


<p>Content:
{
my $transactionType = $self->TransactionObj->Type;
if ($transactionType eq 'Correspond') { $self->TransactionObj->Correspond
} elsif ($transactionType eq 'Comment') { $self->TransactionObj->Comment
} else { "No content to display."
}
}
<br>
</p>


On Wed, Oct 26, 2016 at 7:52 PM, Landon Stewart <[email protected]>
wrote:

> On Oct 26, 2016, at 2:29 PM, Alex Hall <[email protected]> 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 ®
> 📧 [email protected]
> 🌍 www.internap.com
>
>


-- 
Alex Hall
Automatic Distributors, IT department
[email protected]

---------
RT 4.4 and RTIR training sessions, and a new workshop day! https://bestpractical.com/training
* Boston - October 24-26
* Los Angeles - Q1 2017
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.