[Rt-commit] rt branch, 4.4/hide-unset-fields-in-display, created. rt-4.0.0rc7-252-g6ee2617

Alex Vandiver alexmv at bestpractical.com
Wed Dec 4 10:56:58 EST 2013


The branch, 4.4/hide-unset-fields-in-display has been created
        at  6ee26179a62795d4f36f7d85092cbffa46d8a830 (commit)

- Log -----------------------------------------------------------------
commit 052d3f444e6d36deaadf638b1c815781909144d2
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Mon May 16 11:21:47 2011 +0800

    overdue html fix

diff --git a/share/html/Ticket/Elements/ShowDates b/share/html/Ticket/Elements/ShowDates
index 68117e1..09a4eec 100755
--- a/share/html/Ticket/Elements/ShowDates
+++ b/share/html/Ticket/Elements/ShowDates
@@ -66,7 +66,7 @@
     <td class="label"><&|/l&>Due</&>:</td>\
 % my $due = $Ticket->DueObj;
 % if ( $due && $due->Unix > 0 && $due->Diff < 0 ) {
-    <td class="value"><% $due->AsString  %></span></td>
+    <td class="value"><span class="overdue"><% $due->AsString  %></span></td>
 % } else {
     <td class="value"><% $due->AsString  %></td>
 % }

commit 08f5368bbba913231bb7b270c721210096add357
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri May 13 10:56:18 2011 +0800

    we missed .overdue css before

diff --git a/share/html/NoAuth/css/base/misc.css b/share/html/NoAuth/css/base/misc.css
index ea03202..1e48abd 100644
--- a/share/html/NoAuth/css/base/misc.css
+++ b/share/html/NoAuth/css/base/misc.css
@@ -108,3 +108,7 @@ fieldset.cfedit {
     font-family: arial,helvetica,sans-serif !important;
 }
 
+.overdue {
+    color: red;
+}
+

commit d60bf72eec0a2b2c0e4edcf6f5792e666ca34723
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Thu May 12 14:11:36 2011 +0800

    hide possible empty fields for people|dates|links

diff --git a/share/html/Elements/ShowLinks b/share/html/Elements/ShowLinks
index c35cabc..78b9a0f 100755
--- a/share/html/Elements/ShowLinks
+++ b/share/html/Elements/ShowLinks
@@ -46,13 +46,7 @@
 %#
 %# END BPS TAGGED BLOCK }}}
 <table>
-  <tr>
-    <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Depends on'), Relation => 'DependsOn' &>:\
-% if ($can_create) {
-        <span class="create">(<a href="<%$clone->{'DependsOn-new'}%>"><% loc('Create') %></a>)</span>
-% }
-    </td>
-    <td class="value">
+% if ( $can_create || $Ticket->DependsOn->Count ) {
 <%PERL>
 my ( @active, @inactive, @not_tickets );
 for my $link ( @{ $Ticket->DependsOn->ItemsArrayRef } ) {
@@ -70,6 +64,13 @@ for my $link ( @{ $Ticket->DependsOn->ItemsArrayRef } ) {
     }
 }
 </%PERL>
+  <tr>
+    <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Depends on'), Relation => 'DependsOn' &>:\
+% if ($can_create) {
+        <span class="create">(<a href="<%$clone->{'DependsOn-new'}%>"><% loc('Create') %></a>)</span>
+% }
+    </td>
+    <td class="value">
 <ul>
 % for my $Link (@not_tickets, @active, @inactive) {
 <li><& ShowLink, URI => $Link &></li>
@@ -77,6 +78,9 @@ for my $link ( @{ $Ticket->DependsOn->ItemsArrayRef } ) {
 </ul>
     </td>
   </tr>
+% }
+
+% if ( $can_create || $Ticket->DependedOnBy->Count ) {
   <tr>
     <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Depended on by'), Relation => 'DependedOnBy' &>:\
 % if ($can_create) {
@@ -91,6 +95,9 @@ for my $link ( @{ $Ticket->DependsOn->ItemsArrayRef } ) {
 </ul>
     </td>
   </tr>
+% }
+
+% if ( $can_create || $Ticket->MemberOf->Count ) {
   <tr>
     <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Parents'), Relation => 'Parents' &>:\
 % if ($can_create) {
@@ -99,6 +106,9 @@ for my $link ( @{ $Ticket->DependsOn->ItemsArrayRef } ) {
     </td>
     <td class="value"><& /Ticket/Elements/ShowParents, Ticket => $Ticket &></td>
   </tr>
+% }
+
+% if ( $can_create || $Ticket->Members->Count ) {
   <tr>
     <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Children'), Relation => 'Children' &>:\
 % if ($can_create) {
@@ -107,6 +117,9 @@ for my $link ( @{ $Ticket->DependsOn->ItemsArrayRef } ) {
     </td>
     <td class="value"><& /Ticket/Elements/ShowMembers, Ticket => $Ticket &></td>
   </tr>
+% }
+
+% if ( $can_create || $Ticket->RefersTo->Count ) {
   <tr>
     <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Refers to'), Relation => 'RefersTo' &>:\
 % if ($can_create) {
@@ -121,6 +134,10 @@ for my $link ( @{ $Ticket->DependsOn->ItemsArrayRef } ) {
 </ul>
     </td>
   </tr>
+% }
+
+
+% if ( $can_create || $Ticket->ReferredToBy->Count ) {
   <tr>
     <td class="labeltop"><& ShowRelationLabel, id => $id, Label => loc('Referred to by'), Relation => 'ReferredToBy' &>:\
 % if ($can_create) {
@@ -136,6 +153,8 @@ for my $link ( @{ $Ticket->DependsOn->ItemsArrayRef } ) {
 </ul>
     </td>
   </tr>
+% }
+
 % # Allow people to add more rows to the table
 % $m->callback( %ARGS );
 </table>
diff --git a/share/html/Ticket/Elements/ShowDates b/share/html/Ticket/Elements/ShowDates
index 09a4eec..a97ec87 100755
--- a/share/html/Ticket/Elements/ShowDates
+++ b/share/html/Ticket/Elements/ShowDates
@@ -50,18 +50,33 @@
     <td class="label"><&|/l&>Created</&>:</td>\
     <td class="value"><% $Ticket->CreatedObj->AsString %></td>
   </tr>
+% if ( $Ticket->StartsObj->Unix ) {
   <tr class="date starts">
     <td class="label"><&|/l&>Starts</&>:</td>\
     <td class="value"><% $Ticket->StartsObj->AsString %></td>
   </tr>
+% }
+% if ( $Ticket->StartedObj->Unix ) {
   <tr class="date started">
     <td class="label"><&|/l&>Started</&>:</td>\
     <td class="value"><% $Ticket->StartedObj->AsString %></td>
   </tr>
+% }
+
+
+% if ( $Ticket->ToldObj->Unix || $Ticket->CurrentUserHasRight('ModifyTicket') ) {
   <tr class="date told">
-    <td class="label"><a href="<% RT->Config->Get('WebPath') %>/Ticket/Display.html?id=<% $Ticket->id %>&Action=SetTold"><&|/l&>Last Contact</&></a>:</td>\
-    <td class="value"><% $Ticket->ToldObj->AsString %></td>
+    <td class="label">
+% if ( $Ticket->CurrentUserHasRight('ModifyTicket' ) ) {
+<a href="<% RT->Config->Get('WebPath') %>/Ticket/Display.html?id=<% $Ticket->id %>&Action=SetTold"><&|/l&>Last Contact</&></a>:
+% } else {
+<&|/l&>Last Contact</&>:
+% }
+</td><td class="value"><% $Ticket->ToldObj->AsString %></td>
   </tr>
+% }
+
+% if ( $Ticket->DueObj->Unix ) {
   <tr class="date due">
     <td class="label"><&|/l&>Due</&>:</td>\
 % my $due = $Ticket->DueObj;
@@ -71,10 +86,15 @@
     <td class="value"><% $due->AsString  %></td>
 % }
   </tr>
+% }
+
+% if ( $Ticket->ResolvedObj->Unix ) {
   <tr class="date resolved">
     <td class="label"><&|/l&>Closed</&>:</td>\
     <td class="value"><% $Ticket->ResolvedObj->AsString  %></td>
   </tr>
+% }
+
   <tr class="date updated">
     <td class="label"><&|/l&>Updated</&>:</td>\
 % my $UpdatedString = $Ticket->LastUpdated ? loc("[_1] by [_2]", $Ticket->LastUpdatedAsString, $m->scomp('/Elements/ShowUser', User => $Ticket->LastUpdatedByObj)) : loc("Never");
diff --git a/share/html/Ticket/Elements/ShowPeople b/share/html/Ticket/Elements/ShowPeople
index cb5fb32..c2cbd94 100755
--- a/share/html/Ticket/Elements/ShowPeople
+++ b/share/html/Ticket/Elements/ShowPeople
@@ -58,14 +58,18 @@
     <td class="labeltop"><&|/l&>Requestors</&>:</td>
     <td class="value"><& ShowGroupMembers, Group => $Ticket->Requestors, Ticket => $Ticket &></td>
   </tr>
+% if ( $Ticket->Cc->MembersObj->Count ) {
   <tr>
     <td class="labeltop"><&|/l&>Cc</&>:</td>
     <td class="value"><& ShowGroupMembers, Group => $Ticket->Cc, Ticket => $Ticket &></td>
   </tr>
+% }
+% if ( $Ticket->AdminCc->MembersObj->Count ) {
   <tr>
     <td class="labeltop"><&|/l&>AdminCc</&>:</td>
     <td class="value"><& ShowGroupMembers, Group => $Ticket->AdminCc, Ticket => $Ticket &></td>
   </tr>
+% }
 </table>
 <%INIT>
 </%INIT>

commit 6ee26179a62795d4f36f7d85092cbffa46d8a830
Author: sunnavy <sunnavy at bestpractical.com>
Date:   Fri Jul 8 13:36:51 2011 +0800

    tests of hiding unset fields

diff --git a/t/web/ticket_display_unset_fields.t b/t/web/ticket_display_unset_fields.t
new file mode 100644
index 0000000..7f7caf8
--- /dev/null
+++ b/t/web/ticket_display_unset_fields.t
@@ -0,0 +1,77 @@
+use strict;
+use warnings;
+
+use RT::Test tests => 36;
+
+my @link_labels = (
+    'Depends on',
+    'Depended on by',
+    'Parents',
+    'Children',
+    'Refers to',
+    'Referred to by',
+);
+
+my $foo = RT::Test->create_ticket(
+    Queue   => 'General',
+    Subject => 'test display page',
+);
+my $dep = RT::Test->create_ticket(
+    Queue   => 'General',
+    Subject => 'dep ticket',
+);
+my $bar = RT::Test->create_ticket(
+    Queue     => 'General',
+    Subject   => 'depend ticket',
+    Starts    => '2011-07-08 00:00:00',
+    Started   => '2011-07-09 00:00:00',
+    Told      => '2011-07-10 00:00:00',
+    Resolved  => '2011-07-11 00:00:00',
+    Due       => '2011-07-12 00:00:00',
+    Cc        => 'foo at example.com',
+    AdminCc   => 'admin at example.com',
+    DependsOn => [ $dep->id ],
+);
+
+my ( $baseurl, $m ) = RT::Test->started_ok;
+
+diag "test with root";
+{
+    $m->login;
+    $m->goto_ticket( $foo->id );
+
+    for my $label (qw/Starts Started Closed Cc AdminCc/) {
+        $m->content_lacks( "$label:", "lacks $label as value is unset" );
+    }
+
+    # there is one Due: in reminder
+    $m->content_unlike( qr/Due:.*Due:/s, "lacks Due as value is unset" );
+
+    $m->content_contains( "Last Contact", "has Told as root can set it" );
+    for my $label (@link_labels) {
+        $m->content_contains( "$label", "has $label as root can create" );
+    }
+
+    $m->goto_ticket( $bar->id );
+    for my $label (qw/Starts Started Closed Cc AdminCc/) {
+        $m->content_contains( "$label:", "has $label as value is set" );
+    }
+    $m->content_like( qr/Due:.*Due:/s, "has Due as value is set" );
+}
+
+diag "test without ModifyTicket right";
+{
+    my $user =
+      RT::Test->load_or_create_user( Name => 'foo', Password => 'password' );
+    RT::Test->set_rights( Principal => $user, Right => ['ShowTicket'] );
+    $m->login( 'foo', 'password', logout => 1 );
+    $m->goto_ticket( $foo->id );
+    $m->content_lacks( "Last Contact", "lacks Told as it is unset" );
+    for my $label ( @link_labels ) {
+        $m->content_lacks( $label, "lacks $label as it is unset" );
+    }
+
+    $m->goto_ticket( $bar->id );
+    $m->content_contains( "Depends on", "has Depends on as it is set" );
+}
+

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


More information about the rt-commit mailing list