[Rt-commit] rt branch, 4.2/seperate-merge-box, created. rt-4.1.19-13-g7a48b71

? sunnavy sunnavy at bestpractical.com
Tue Aug 20 11:16:53 EDT 2013


The branch, 4.2/seperate-merge-box has been created
        at  7a48b71624a9807ad136ab5f4c7a09d32b1530a7 (commit)

- Log -----------------------------------------------------------------
commit 7a48b71624a9807ad136ab5f4c7a09d32b1530a7
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Tue Aug 20 23:06:07 2013 +0800

    move "Merge" link into its own box to make it more visually distinct
    
    see also #25058

diff --git a/share/html/Elements/AddLinks b/share/html/Elements/AddLinks
index b26ba47..631bfda 100644
--- a/share/html/Elements/AddLinks
+++ b/share/html/Elements/AddLinks
@@ -48,7 +48,6 @@
 <%args>
 $Object         => undef
 $CustomFields   => undef
-$Merge          => 0
 $ARGSRef        => $DECODED_ARGS
 </%args>
 <%init>
@@ -68,12 +67,6 @@ my $id = ($Object and $Object->id)
 <i><&|/l&>Enter objects or URIs to link objects to. Separate multiple entries with spaces.</&></i><br />
 % }
 <table>
-% if ($Merge) {
-  <tr>
-    <td class="label"><&|/l&>Merge into</&>:</td>
-    <td class="entry"><input name="<%$id%>-MergeInto" value="<% $ARGSRef->{"$id-MergeInto"} || '' %>" data-autocomplete="Tickets" data-autocomplete-exclude="<% $id %>" /> <i><&|/l&>(only one ticket)</&></i></td>
-  </tr>
-% }
   <tr>
     <td class="label"><& ShowRelationLabel, Object => $Object, Label => loc('Depends on').':', Relation => 'DependsOn' &></td>
     <td class="entry"><input name="<%$id%>-DependsOn" value="<% $ARGSRef->{"$id-DependsOn"} || '' %>" data-autocomplete="Tickets" data-autocomplete-exclude="<% $id %>" data-autocomplete-multiple="1" /></td>
diff --git a/share/html/Search/Bulk.html b/share/html/Search/Bulk.html
index e1b0f9c..fab337f 100644
--- a/share/html/Search/Bulk.html
+++ b/share/html/Search/Bulk.html
@@ -206,6 +206,10 @@ $cfs->LimitToQueue($_) for keys %$seen_queues;
 <& /Ticket/Elements/BulkLinks, Tickets => $Tickets, $ARGS{'AddMoreAttach'} ? %ARGS : () &>
 </&>
 
+<&| /Widgets/TitleBox, title => loc('Merge'), color => '#336633' &>
+<& /Ticket/Elements/EditMerge, Tickets => $Tickets, %ARGS &>
+</&>
+
 <& /Elements/Submit, Label => loc('Update') &>
 
 
diff --git a/share/html/Ticket/Elements/BulkLinks b/share/html/Ticket/Elements/BulkLinks
index f740684..ac87bf0 100644
--- a/share/html/Ticket/Elements/BulkLinks
+++ b/share/html/Ticket/Elements/BulkLinks
@@ -124,10 +124,6 @@
 </i><br />
 <table>
   <tr>
-    <td class="label"><&|/l&>Merge into</&>:</td>
-    <td class="entry"><input name="Ticket-MergeInto" value="<% $ARGS{'Ticket-MergeInto'} || '' %>" /> <i><&|/l&>(only one ticket)</&></i></td>
-  </tr>
-  <tr>
     <td class="label"><&|/l&>Depends on</&>:</td>
     <td class="entry"><input name="Ticket-DependsOn" value="<% $ARGS{'Ticket-DependsOn'} || '' %>" /></td>
   </tr>
diff --git a/share/html/Ticket/ModifyLinks.html b/share/html/Ticket/Elements/EditMerge
similarity index 60%
copy from share/html/Ticket/ModifyLinks.html
copy to share/html/Ticket/Elements/EditMerge
index 677733d..88e4766 100644
--- a/share/html/Ticket/ModifyLinks.html
+++ b/share/html/Ticket/Elements/EditMerge
@@ -45,42 +45,32 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<& /Elements/Header, Title => loc("Link ticket #[_1]", $Ticket->Id) &>
-<& /Elements/Tabs &>
-
-% $m->callback(CallbackName => 'BeforeActionList', Actions => \@results, ARGSRef => \%ARGS, Ticket => $Ticket);
-<& /Elements/ListActions, actions => \@results &>
-
-<form action="ModifyLinks.html" name="ModifyLinks" method="post">
-<input type="hidden" class="hidden" name="id" value="<%$Ticket->id%>" />
-% $m->callback( CallbackName => 'FormStart', ARGSRef => \%ARGS );
-% my (@extra);
-% push @extra, titleright_raw => '<a href="'. RT->Config->Get('WebPath') . '/Ticket/Graphs/index.html?id='.$Ticket->id.'">'.loc('Graph').'</a>' unless RT->Config->Get('DisableGraphViz');
-<&| /Widgets/TitleBox, title => loc('Edit Links'), class=>'ticket-info-links', @extra &>
-<& /Elements/EditLinks, Object => $Ticket, Merge => 1 &>
-</&>
-<& /Elements/Submit, Name => 'SubmitTicket', Label => loc('Save Changes') &>
-</form>
-
-
 
+<table>
+  <tr>
+    <td class="label"><&|/l&>Merge into</&>:</td>
+    <td class="entry"><input name="<% $Name %>" value="<% $Default || '' %>" data-autocomplete="Tickets" data-autocomplete-exclude="<% join( ' ', @excludes) || '' %>" /> <i><&|/l&>(only one ticket. merging is a non-reversible action.)</&></i></td>
+  </tr>
+</table>
 
 <%INIT>
-my $Ticket = LoadTicket($id);
-
-my @results;  
-$m->callback( TicketObj => $Ticket, ARGSRef => \%ARGS, Results => \@results );
-push @results, ProcessTicketLinks( TicketObj => $Ticket, ARGSRef => \%ARGS );
-push @results, ProcessObjectCustomFieldUpdates( TicketObj => $Ticket, ARGSRef => \%ARGS );
-$Ticket->ApplyTransactionBatch;
-
-MaybeRedirectForResults(
-    Actions     => \@results,
-    Arguments   => { id => $id },
-);
+my @excludes;
+if ( $Ticket ) {
+    $Name ||= $Ticket->id . '-MergeInto';
+    @excludes = $Ticket->id;
+}
+elsif ( $Tickets ) {
+    $Name ||= 'Ticket-MergeInto';
+    while ( my $ticket = $Tickets->Next ) {
+        push @excludes, $ticket->id;
+    }
+}
+$Default ||= $ARGS{$Name};
 </%INIT>
-      
-      
+
 <%ARGS>
-$id => undef
+$Ticket => undef
+$Tickets => undef
+$Name => ''
+$Default => ''
 </%ARGS>
diff --git a/share/html/Ticket/ModifyAll.html b/share/html/Ticket/ModifyAll.html
index 82c18a6..3821a87 100644
--- a/share/html/Ticket/ModifyAll.html
+++ b/share/html/Ticket/ModifyAll.html
@@ -79,7 +79,13 @@
 <br />
 
 <&| /Widgets/TitleBox, title => loc('Links'), class=>'ticket-info-links' &>
-<& /Elements/EditLinks, Object => $Ticket, Merge => 1 &>
+<& /Elements/EditLinks, Object => $Ticket &>
+</&>
+
+<br />
+
+<&| /Widgets/TitleBox, title => loc('Merge'), class=>'ticket-info-merge' &>
+<& Elements/EditMerge, Ticket => $Ticket, %ARGS &>
 </&>
 
 <br />
diff --git a/share/html/Ticket/ModifyLinks.html b/share/html/Ticket/ModifyLinks.html
index 677733d..8b3717f 100644
--- a/share/html/Ticket/ModifyLinks.html
+++ b/share/html/Ticket/ModifyLinks.html
@@ -57,8 +57,13 @@
 % my (@extra);
 % push @extra, titleright_raw => '<a href="'. RT->Config->Get('WebPath') . '/Ticket/Graphs/index.html?id='.$Ticket->id.'">'.loc('Graph').'</a>' unless RT->Config->Get('DisableGraphViz');
 <&| /Widgets/TitleBox, title => loc('Edit Links'), class=>'ticket-info-links', @extra &>
-<& /Elements/EditLinks, Object => $Ticket, Merge => 1 &>
+<& /Elements/EditLinks, Object => $Ticket &>
 </&>
+
+<&| /Widgets/TitleBox, title => loc('Merge'), class=>'ticket-info-merge' &>
+<& Elements/EditMerge, Ticket => $Ticket, %ARGS &>
+</&>
+
 <& /Elements/Submit, Name => 'SubmitTicket', Label => loc('Save Changes') &>
 </form>
 
diff --git a/share/static/css/base/ticket.css b/share/static/css/base/ticket.css
index 7345f27..e36890e 100644
--- a/share/static/css/base/ticket.css
+++ b/share/static/css/base/ticket.css
@@ -67,6 +67,7 @@
 .ticket-info-people .titlebox .titlebox-title .left { background-color: #48c;  color: #fff;}
 .ticket-info-requestor .titlebox .titlebox-title .left { white-space: nowrap; background-color: #48c;  color: #fff;}
 .ticket-info-links .titlebox .titlebox-title .left { background-color: #316531;  color: #fff;}
+.ticket-info-merge .titlebox .titlebox-title .left { background-color: #8b4513;  color: #fff;}
 .ticket-info-reminders .titlebox .titlebox-title .left { background-color: #369;  color: #fff;}
 .ticket-info-dates .titlebox .titlebox-title .left { background-color: #633063;  color: #fff;}
 .ticket-info-attachments .titlebox .titlebox-title .left { background-color: #993366;  color: #fff;}

-----------------------------------------------------------------------


More information about the Rt-commit mailing list