On 07/07/2011 07:21 PM, John Alberts wrote:
> Thanks for the tip. It led me in the right direction and I ended up with
> this, which finally works.
>
> my $T_Obj = $self->TicketObj;
> my $a = RT::Attachments->new($self->TransactionObj->CurrentUser);
> my $b = RT::Attachments->new($self->TransactionObj->CurrentUser);
> my $AttachObj = $self->TransactionObj->Attachments;
> while ( $a = $AttachObj->Next ) {
> $b = $a;
> next unless $a->Filename eq "env-vars.txt";
> }
> my $content = $b->Content;
The above will fail when env-vars.txt isn't the last attachment RT
parsed. Try this (untested) much simpler version:
my $attachments = $self->TransactionObj->Attachments;
my $content;
while (my $attach = $attachments->Next) {
if ($attach->Filename eq "env-vars.txt") {
$content = $attach->Content;
last; # we found it, no need to keep looking
}
}
# use $content for whatever you'd like here
There are better, faster ways to do this than looping over the
attachments, but looping is the easiest to understand.
Thomas
--------
2011 Training: http://bestpractical.com/services/training.html