[Rt-commit] r12136 - in rt/branches/3.8-TESTING: html/Elements
jesse at bestpractical.com
jesse at bestpractical.com
Wed May 7 15:38:48 EDT 2008
Author: jesse
Date: Wed May 7 15:38:33 2008
New Revision: 12136
Modified:
rt/branches/3.8-TESTING/ (props changed)
rt/branches/3.8-TESTING/html/Elements/ShowLinks
Log:
r30494 at 31b: jesse | 2008-05-05 18:48:35 -0400
* Clean up the 'ShowLinks' component to have correct logic (but more importantly, to have LESS logic)
Modified: rt/branches/3.8-TESTING/html/Elements/ShowLinks
==============================================================================
--- rt/branches/3.8-TESTING/html/Elements/ShowLinks (original)
+++ rt/branches/3.8-TESTING/html/Elements/ShowLinks Wed May 7 15:38:33 2008
@@ -47,7 +47,7 @@
%# END BPS TAGGED BLOCK }}}
<table>
<tr>
- <td class="labeltop"><&|/l&>Depends on</&>: (<a href="<%$clone->{'new-DependsOn'}%>"><% loc('Create') %></a>)</td>
+ <td class="labeltop"><&|/l&>Depends on</&>: (<a href="<%$clone->{'DependsOn-new'}%>"><% loc('Create') %></a>)</td>
<td class="value">
<ul>
% while (my $Link = $Ticket->DependsOn->Next) {
@@ -57,7 +57,7 @@
</td>
</tr>
<tr>
- <td class="labeltop"><&|/l&>Depended on by</&>: (<a href="<%$clone->{'DependsOn-new'}%>"><% loc('Create') %></a>)</td>
+ <td class="labeltop"><&|/l&>Depended on by</&>: (<a href="<%$clone->{'new-DependsOn'}%>"><% loc('Create') %></a>)</td>
<td class="value">
<ul>
% while (my $Link = $Ticket->DependedOnBy->Next) {
@@ -67,8 +67,7 @@
</td>
</tr>
<tr>
- <td class="labeltop"><&|/l&>Parents</&>: (<a href="<%$clone->{'new-MemberOf'}%>"><% loc('Create') %></a>)</td>
-
+ <td class="labeltop"><&|/l&>Parents</&>: (<a href="<%$clone->{'MemberOf-new'}%>"><% loc('Create') %></a>)</td>
<td class="value">
<ul>
% while (my $Link = $Ticket->MemberOf->Next) {
@@ -78,11 +77,11 @@
</td>
</tr>
<tr>
- <td class="labeltop"><&|/l&>Children</&>: (<a href="<%$clone->{'MemberOf-new'}%>"><% loc('Create') %></a>)</td>
+ <td class="labeltop"><&|/l&>Children</&>: (<a href="<%$clone->{'new-MemberOf'}%>"><% loc('Create') %></a>)</td>
<td class="value"><& /Ticket/Elements/ShowMembers, Ticket => $Ticket &></td>
</tr>
<tr>
- <td class="labeltop"><&|/l&>Refers to</&>: (<a href="<%$clone->{'new-RefersTo'}%>"><% loc('Create') %></a>)</td>
+ <td class="labeltop"><&|/l&>Refers to</&>: (<a href="<%$clone->{'RefersTo-new'}%>"><% loc('Create') %></a>)</td>
<td class="value">
<ul>
% while (my $Link = $Ticket->RefersTo->Next) {
@@ -92,7 +91,7 @@
</td>
</tr>
<tr>
- <td class="labeltop"><&|/l&>Referred to by</&>: (<a href="<%$clone->{'RefersTo-new'}%>"><% loc('Create') %></a>)</td>
+ <td class="labeltop"><&|/l&>Referred to by</&>: (<a href="<%$clone->{'new-RefersTo'}%>"><% loc('Create') %></a>)</td>
<td class="value">
<ul>
% while (my $Link = $Ticket->ReferredToBy->Next) {
@@ -111,44 +110,16 @@
<%INIT>
-my $clone;
+my $clone = {};
my $path = RT->Config->Get('WebPath') . '/Ticket/Create.html?Queue='. $Ticket->Queue .'&CloneTicket='. $Ticket->id;
-my $members = $Ticket->Members;
-my ( @members, @members_of, @refers, @refers_by, @depends, @depends_by );
-while ( my $member = $members->Next ) {
- push @members, $member->LocalBase;
-}
-$clone->{'MemberOf-new'} = $path . '&MemberOf-new=' . join '%20', @members, $Ticket->id;
-
-my $members_of = $Ticket->MemberOf;
-while ( my $member_of = $members_of->Next ) {
- push @members_of, $member_of->LocalTarget;
-}
-$clone->{'new-MemberOf'} = $path . '&new-MemberOf=' . join '%20', @members_of, $Ticket->id;
-
-my $refers = $Ticket->RefersTo;
-while ( my $refer = $refers->Next ) {
- push @refers, $refer->LocalTarget;
-}
-$clone->{'new-RefersTo'} = $path . '&new-RefersTo=' . join '%20', @refers, $Ticket->id;
-
-my $refers_by = $Ticket->ReferredToBy;
-while ( my $refer_by = $refers_by->Next ) {
- push @refers_by, $refer_by->LocalBase;
-}
-$clone->{'RefersTo-new'} = $path . '&RefersTo-new=' . join '%20', @refers_by, $Ticket->id;
-
-my $depends = $Ticket->DependsOn;
-while ( my $depend = $depends->Next ) {
- push @depends, $depend->LocalTarget;
-}
-$clone->{'new-DependsOn'} = $path . '&new-DependsOn=' . join '%20', @depends, $Ticket->id;
-my $depends_by = $Ticket->DependedOnBy;
-while ( my $depend_by = $depends_by->Next ) {
- push @depends_by, $depend_by->LocalBase;
+for my $relation (qw(MemberOf Members DependsOn DependedOnBy RefersTo ReferredToBy)){
+ my $mode = $RT::Ticket::LINKTYPEMAP{$relation}->{Mode};
+ my $type = $RT::Ticket::LINKTYPEMAP{$relation}->{Type};
+ my $other = "Local".$mode;
+ my $field = $mode eq 'Base' ? 'new-'. $type : $type.'-new';
+ $clone->{$field} = $path . "&$field=" . join ('%20', (map { $_->$other()} @{ $Ticket->$relation->ItemsArrayRef}), $Ticket->id);
}
-$clone->{'DependsOn-new'} = $path . '&DependsOn-new=' . join '%20', @depends_by, $Ticket->id;
</%INIT>
More information about the Rt-commit
mailing list