summaryrefslogtreecommitdiff
path: root/rt/lib/RT/Graph
diff options
context:
space:
mode:
authorIvan Kohler <ivan@freeside.biz>2012-07-02 14:24:21 -0700
committerIvan Kohler <ivan@freeside.biz>2012-07-02 14:24:21 -0700
commit85e677b86fc37c54e6de2b06340351a28f5a5916 (patch)
tree11148e2c292bd1a43b7cf6c2f5212a6ca8b03e75 /rt/lib/RT/Graph
parente5ab051ccdb7637d8dd2f0ed9b4fe9aaaf1d1100 (diff)
parent92aedddd3684167abb60cd3f1d77bbc156c592e6 (diff)
Merge branch 'master' of git.freeside.biz:/home/git/freeside
Diffstat (limited to 'rt/lib/RT/Graph')
-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,