summaryrefslogtreecommitdiff
path: root/rt/lib/RT/Graph/Tickets.pm
diff options
context:
space:
mode:
Diffstat (limited to 'rt/lib/RT/Graph/Tickets.pm')
-rw-r--r--rt/lib/RT/Graph/Tickets.pm16
1 files changed, 10 insertions, 6 deletions
diff --git a/rt/lib/RT/Graph/Tickets.pm b/rt/lib/RT/Graph/Tickets.pm
index cab429910..b839824f9 100644
--- a/rt/lib/RT/Graph/Tickets.pm
+++ b/rt/lib/RT/Graph/Tickets.pm
@@ -2,7 +2,7 @@
#
# COPYRIGHT:
#
-# This software is Copyright (c) 1996-2011 Best Practical Solutions, LLC
+# This software is Copyright (c) 1996-2012 Best Practical Solutions, LLC
# <sales@bestpractical.com>
#
# (Except where explicitly superseded by other copyright notices)
@@ -58,10 +58,6 @@ RT::Graph::Tickets - view relations between tickets as graphs
=cut
unless ($RT::DisableGraphViz) {
- require IPC::Run;
- IPC::Run->import;
- require IPC::Run::SafeHandles;
- IPC::Run::SafeHandles->import;
require GraphViz;
GraphViz->import;
}
@@ -104,7 +100,7 @@ EOT
sub gv_escape($) {
my $value = shift;
- $value =~ s{(?=")}{\\}g;
+ $value =~ s{(?=["\\])}{\\}g;
return $value;
}
@@ -282,6 +278,14 @@ sub TicketLinks {
ShowLinkDescriptions => 0,
@_
);
+
+ my %valid_links = map { $_ => 1 }
+ qw(Members MemberOf RefersTo ReferredToBy DependsOn DependedOnBy);
+
+ # Validate our link types
+ $args{ShowLinks} = [ grep { $valid_links{$_} } @{$args{ShowLinks}} ];
+ $args{LeadingLink} = 'Members' unless $valid_links{ $args{LeadingLink} };
+
unless ( $args{'Graph'} ) {
$args{'Graph'} = GraphViz->new(
name => 'ticket_links_'. $args{'Ticket'}->id,