[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