MakeClicky:Fedex
Jump to navigation
Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
make a "local" MakeClicky callback. On Debian/Ubuntu packaged RT, the path for local mods is /usr/local/share/request-tracker3.8
Local callbacks go under: /usr/local/share/request-tracker3.8/html/Callbacks/Default
The makeClicky callbacks in particular go in the file: /usr/local/share/request-tracker3.8/html/Callbacks/Default/Elements/MakeClicky/Default
Put the following in that file in order to have 2 MakeClicky callbacks -- link_ticket and link_fedex. Remember to edit your RT_SiteConfig.pm file to activate your specific MakeClicky callbacks by name, like this:
Set(@Active_MakeClicky, qw(short_ticket_link markup_fedex));
Restart Apache after making the callback file (below) and editting the config file (above). Then whenever someone says "Fedex #333" in a ticket, it will automatically be a link to tracking for 333.
--- callback file named "Default" begins after this line --- <%ARGS> $types => [] $actions => {} </%ARGS> <%INIT> my $web_path = RT->Config->Get('WebPath'); # action that takes "Ticket #NNN" as argument and returns link to the ticket $actions->{'link_ticket'} = sub { my %args = @_; # use Data::Dumper; $RT::Logger->error(Dumper \%args); my $id = $args{all_matches}[1]; return qq{<a href="$web_path/Ticket/Display.html?id=$id">$args{value}</a>}; }; # action that takes "Fedex #NNN" as argument and returns link to fedex tracking $actions->{'link_fedex'} = sub { my %args = @_; # use Data::Dumper; $RT::Logger->error(Dumper \%args); my $id = $args{all_matches}[1]; return qq{<a target="_new" href="http://www.fedex.com/Tracking?tracknumbers=$id">$args{value}</a>}; }; # add action to the list push @$types, ( { name => 'short_ticket_link', # name, that should be used in config to activate action regex => qr{ticket\s+#(\d+)}i, # regular expression that matches text 'ticket #xxx' action => 'link_ticket', # name of the action that should be applied }, { name => 'markup_fedex', # name, that should be used in config to activate action regex => qr{Fedex\s+#(\d+)}i, # regular expression that matches text 'fedex #xxx' action => 'link_fedex', # name of the action that should be applied }, ); </%INIT>