[rt-users] Faking {$Transaction->Content()}

Mike Johnson mike.johnson at nosm.ca
Thu Jul 7 09:59:08 EDT 2011


Just trying to peice together the workflow from the last few emails, sorry
if I simplify it too much...

- previous owner comments on ticket with attachments
- somehow the owner changes(sounds like the previous owner may do this...
not sure though)
- email fires to new owner notifying him he owns this ticket
- new owner uses email to communicate with requestor

Your end state is
- owner changed
- requestor gets attachments
- new owner has a conduit to communicate to requestor via email

The last part of that workflow makes me assume you have a scrip that
notifies requestor on correspondence, so to me, the only thing that you need
to do to get your end state, make the previous owner add the attachments as
a correspondence instead of comment.

If your end state also requires the new owner to have a copy of the
attachments in his email, the previous owner can do a 1 time cc to the new
owner when he's sending the reply with the attachments.

If typing in the new owner's email address isn't reliable, there is an
extension out there that does autocomplete, might be of some use? I've only
looked at it once... not sure if it can be configured out of the box to do
what you need, but it would be a starting point.

Not sure if you can get the attachments from a previous transaction, but a
little user training may make it so you don't have to.

Thanks!
Mike.
On Tue, Jul 5, 2011 at 6:33 PM, Mauricio Tavares <raubvogel at gmail.com>wrote:

> On Tue, Jul 5, 2011 at 6:25 PM, Kenneth Crocker <kfcrocker at lbl.gov> wrote:
> > Mauricio,
> >
> > Why not just keep it simple and send them an email with some simple
> ticket
> > info and the ticket id so they can just link to the ticket and see
> whatever
> > info they need. They are going to need to go into the ticket anyway.
> > Clicking a link to the ticket won't take anymore time than clicking any
> > attachment in the email. AND if the ticket has several attachments (as
> many
> > of ours do), this simplifies the process a great deal.
> >
>      I agree; I actually have that working (well the text part of the
> comment is shown on the ticket and then the non-text attachments are
> provided as links). Problem is that is what they want is the new
> ticket owner to get a complete copy of the last ticket correspondence
> so he can reply to it and it will be sent to the requestor. New owner
> should not need to go to the RT web interface to do that. And that has
> turned out to be a bit more challenging than I originally expected. :)
>
> > Just a thought.
> >
> > Kenn
> >
> > On Tue, Jul 5, 2011 at 3:01 PM, Mauricio Tavares <raubvogel at gmail.com>
> > wrote:
> >>
> >> On Tue, Jul 5, 2011 at 5:55 PM, Mauricio Tavares <raubvogel at gmail.com>
> >> wrote:
> >> > On Tue, Jul 5, 2011 at 5:51 PM, Kenneth Crocker <kfcrocker at lbl.gov>
> >> > wrote:
> >> >> Mauricio,
> >> >>
> >> >> Who are you sending the email to?
> >> >>
> >> >   The new ticket owner.
> >> >
> >>      Something on these lines (not claiming to be proper or correct)
> >> is what I am trying to do:
> >>
> >> {
> >>   my $Transactions = $Ticket->Transactions;
> >>   $RT::Logger->debug("Find Transaction");
> >>   $Transactions->Limit( FIELD => 'Type',
> >>                          VALUE => "Correspond"
> >>                        );
> >>   $Transaction = $Transactions->Last;
> >>   $RT::Logger->debug("Found Transaction : $Transaction");
> >> }To: { $Ticket->OwnerObj->EmailAddress }
> >> Subject: { $Ticket->Subject() }
> >> RT-Attach-Message: yes
> >>
> >> But I am not able to feed the $Transaction I want (the one I got above
> >> the headers) to RT-Attach-Message.
> >>
> >> >> Kenn
> >> >> LBNL
> >> >>
> >> >> On Tue, Jul 5, 2011 at 12:35 PM, Mauricio Tavares <
> raubvogel at gmail.com>
> >> >> wrote:
> >> >>>
> >> >>> On Tue, Jul 5, 2011 at 2:31 PM, Kenneth Crocker <kfcrocker at lbl.gov>
> >> >>> wrote:
> >> >>> > Mauricio,
> >> >>> >
> >> >>> > What is it you want to do? It sounds like you want to put the last
> >> >>> > correspondence of a ticket into an email/template when the owner
> of
> >> >>> > a
> >> >>> > ticket
> >> >>> > is changed. Is that right? Technically, there WAS a transaction
> >> >>> > record
> >> >>> > created, but since it only involved an owner change, that's the
> only
> >> >>> > info on
> >> >>> > the transaction record.
> >> >>> >
> >> >>> > If this is what you want to do, it CAN be done fairly easily with
> a
> >> >>> > scrip.
> >> >>> > What you want to do is pull up the last comment transaction
> entered
> >> >>> > for
> >> >>> > that
> >> >>> > ticket. You can do that IN a template.
> >> >>> >
> >> >>>      Well, this what I want do do:
> >> >>>
> >> >>> If ticket owner changed
> >> >>>   Send the last correspondence of a ticket into an email/template
> (as
> >> >>> correspondence) to the new ticket owner.
> >> >>>
> >> >>> When I mean last correspondence I do want to include every
> attachment
> >> >>> (.zip files, jpg, etc)  it came with (like what you would get by
> >> >>> having RT-Attach-Message: yes), not only the textual content (which
> is
> >> >>> what you would get by doing $Transaction->Content).
> >> >>>
> >> >>> From what I understand, $Transaction->Content (and
> RT-Attach-Message:
> >> >>> yes) need the last Transaction to be a correspondence type to do
> their
> >> >>> magic. But since the transaction associated with owner changing does
> >> >>> not generate a correspondence, I cannot use them as they are. Well,
> as
> >> >>> you pointed out, getting the text part of the last correspondence
> and
> >> >>> creating a correspondence with that as the content is, quite easy.
> The
> >> >>> non-text attachments are causing me problems.
> >> >>>
> >> >>> In my test script I grabbed only the transactions in that ticket
> with
> >> >>> correspondence in them and am able to see which attachments the last
> >> >>> correspondence had. That really does not do me any good but at least
> >> >>> made me feel happy that I was able to find the attachments. :)
> >> >>>
> >> >>> > Hope this helps.
> >> >>> >
> >> >>> > Kenn
> >> >>> > LBNL
> >> >>> >
> >> >>> > On Thu, Jun 30, 2011 at 2:59 PM, Mauricio Tavares
> >> >>> > <raubvogel at gmail.com>
> >> >>> > wrote:
> >> >>> >>
> >> >>> >>      From what I understand (thanks trs), in an on Owner Change
> >> >>> >> event
> >> >>> >> you cannot rely on using {$Transaction->Content()} to copy the
> last
> >> >>> >> message/correspondence in a given ticket because no transaction
> was
> >> >>> >> created. So, how can you fake it in an template? If the content
> was
> >> >>> >> only a text file, it is not hard to do it, but what happens when
> >> >>> >> you
> >> >>> >> also have attachments? I wrote the following template,
> >> >>> >>
> >> >>> >> {
> >> >>> >>   my $thingie = "Attachments:";
> >> >>> >>   my $Transactions = $Ticket->Transactions;
> >> >>> >>
> >> >>> >>   $Transactions->Limit( FIELD => 'Type',
> >> >>> >>                           VALUE => "Correspond"
> >> >>> >>                         );
> >> >>> >>   # $Rt::Logger->debug("Find Transaction");
> >> >>> >>   my $TransactionObj = $Transactions->Last;
> >> >>> >>      my $AttachmentsObj =
> >> >>> >> RT::Attachments->new($TransactionObj->CurrentUser);
> >> >>> >>      $AttachmentsObj->Limit( FIELD => 'TransactionID',
> >> >>> >>                              VALUE => $TransactionObj->id
> >> >>> >>                            );
> >> >>> >>      while ( my $a = $AttachmentsObj->Next ) {
> >> >>> >>         $thingie .= "\nFound an attachment with encoding " .
> >> >>> >> $a->ContentType . " and ID " . $a->id;
> >> >>> >>         if ( $a->ContentType eq 'text/plain' || $a->ContentType
> eq
> >> >>> >> 'text/html'){
> >> >>> >>            $thingie .= "\nContent:\n" . $a->Content;
> >> >>> >>         }
> >> >>> >>         elseif ( $a->ContentType eq 'multipart/mixed') {
> >> >>> >>         }
> >> >>> >>         else {
> >> >>> >>            $thingie .= "\n" . $RT::WebURL ."/Ticket/Attachment/".
> >> >>> >> $a->TransactionId ."/". $a->id ."/". $a->Filename;
> >> >>> >>            $thingie .= "\n    ";
> >> >>> >>         }
> >> >>> >>      }
> >> >>> >>   $thingie;
> >> >>> >> }
> >> >>> >>
> >> >>> >> which finds the attachments and put links for the non-text (from
> >> >>> >> http://requesttracker.wikia.com/wiki/AddAttachmentLinksToMail)
> >> >>> >> attachments, but what I really want is, well, emulate
> >> >>> >> {$Transaction->Content()}. Would anyone have any pointers?
> >> >>> >>
> >> >>> >> --------
> >> >>> >> 2011 Training: http://bestpractical.com/services/training.html
> >> >>> >
> >> >>> >
> >> >>> >
> >> >>> > --------
> >> >>> > 2011 Training: http://bestpractical.com/services/training.html
> >> >>> >
> >> >>
> >> >>
> >> >>
> >> >> --------
> >> >> 2011 Training: http://bestpractical.com/services/training.html
> >> >>
> >> >
> >
> >
> >
> > --------
> > 2011 Training: http://bestpractical.com/services/training.html
> >
>
> --------
> 2011 Training: http://bestpractical.com/services/training.html
>



-- 
Mike Johnson
Datatel Programmer/Analyst
Northern Ontario School of Medicine
955 Oliver Road
Thunder Bay, ON   P7B 5E1
Phone: (807) 766-7331
Email: mike.johnson at nosm.ca
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.bestpractical.com/pipermail/rt-users/attachments/20110707/733dac57/attachment.htm>


More information about the rt-users mailing list