[Rt-commit] rt branch, 4.4/hide-empty-value-pref, created. rt-4.2.12-373-g8238700
? sunnavy
sunnavy at bestpractical.com
Fri Oct 30 14:25:46 EDT 2015
The branch, 4.4/hide-empty-value-pref has been created
at 82387001e740195a3f812b8c0267260911ec0643 (commit)
- Log -----------------------------------------------------------------
commit 82387001e740195a3f812b8c0267260911ec0643
Author: sunnavy <sunnavy at bestpractical.com>
Date: Sat Oct 31 02:06:41 2015 +0800
new option HideUnsetFieldsOnDisplay
let's give this choice to users.
Fixes: I#31328
diff --git a/etc/RT_Config.pm.in b/etc/RT_Config.pm.in
index 47315ab..d1177d2 100644
--- a/etc/RT_Config.pm.in
+++ b/etc/RT_Config.pm.in
@@ -1612,8 +1612,16 @@ transitioned to another inactive status.
Set($HideResolveActionsWithDependencies, 0);
-=back
+=item C<$HideUnsetFieldsOnDisplay>
+
+This determines if we should hide unset fields on ticket display page.
+Set this to 1 to hide unset fields.
+
+=cut
+
+Set($HideUnsetFieldsOnDisplay, 0);
+=back
=head2 Articles
diff --git a/lib/RT/Config.pm b/lib/RT/Config.pm
index bcf4189..2a38572 100644
--- a/lib/RT/Config.pm
+++ b/lib/RT/Config.pm
@@ -471,6 +471,15 @@ our %META;
Description => 'Enable quote folding?' # loc
}
},
+ HideUnsetFieldsOnDisplay => {
+ Section => 'Ticket display',
+ Overridable => 1,
+ SortOrder => 11,
+ Widget => '/Widgets/Form/Boolean',
+ WidgetArguments => {
+ Description => 'Hide unset fields?' # loc
+ }
+ },
# User overridable locale options
DateTimeFormat => {
diff --git a/share/html/Elements/ShowLinks b/share/html/Elements/ShowLinks
index 5287813..8f881b0 100644
--- a/share/html/Elements/ShowLinks
+++ b/share/html/Elements/ShowLinks
@@ -47,7 +47,7 @@
%# END BPS TAGGED BLOCK }}}
<table>
% for my $type (@display) {
-% if ( $clone{$type} || $Object->$type->Count ) {
+% if ( !RT->Config->Get('HideUnsetFieldsOnDisplay', $session{CurrentUser}) || $clone{$type} || $Object->$type->Count ) {
<tr>
<td class="labeltop">
<& ShowRelationLabel, Object => $Object, Label => $labels{$type}.':', Relation => $type &>
diff --git a/share/html/Ticket/Elements/ShowDates b/share/html/Ticket/Elements/ShowDates
index 03e3225..925af6b 100644
--- a/share/html/Ticket/Elements/ShowDates
+++ b/share/html/Ticket/Elements/ShowDates
@@ -51,21 +51,21 @@
<td class="value"><% $Ticket->CreatedObj->AsString %></td>
</tr>
% $m->callback( %ARGS, CallbackName => 'AfterCreated', TicketObj => $Ticket );
-% if ( $Ticket->StartsObj->Unix ) {
+% if ( !$hide_unset_fields || $Ticket->StartsObj->Unix ) {
<tr class="date starts">
<td class="label"><&|/l&>Starts</&>:</td>\
<td class="value"><% $Ticket->StartsObj->AsString %></td>
</tr>
% $m->callback( %ARGS, CallbackName => 'AfterStarts', TicketObj => $Ticket );
% }
-% if ( $Ticket->StartedObj->Unix ) {
+% if ( !$hide_unset_fields || $Ticket->StartedObj->Unix ) {
<tr class="date started">
<td class="label"><&|/l&>Started</&>:</td>\
<td class="value"><% $Ticket->StartedObj->AsString %></td>
</tr>
% $m->callback( %ARGS, CallbackName => 'AfterStarted', TicketObj => $Ticket );
% }
-% if ( $Ticket->ToldObj->Unix || $Ticket->CurrentUserHasRight('ModifyTicket') ) {
+% if ( !$hide_unset_fields || $Ticket->ToldObj->Unix || $Ticket->CurrentUserHasRight('ModifyTicket') ) {
<tr class="date told">
<td class="label">
% if ( $Ticket->CurrentUserHasRight('ModifyTicket' ) ) {
@@ -78,11 +78,11 @@
% $m->callback( %ARGS, CallbackName => 'AfterTold', TicketObj => $Ticket );
% }
-% if ( $Ticket->DueObj->Unix ) {
+% if ( !$hide_unset_fields || $Ticket->DueObj->Unix ) {
<tr class="date due">
<td class="label"><&|/l&>Due</&>:</td>\
% my $due = $Ticket->DueObj;
-% if ( $due && $due->IsSet && $due->Diff < 0 && $Ticket->QueueObj->IsActiveStatus($Ticket->Status) ) {
+% if ( !$hide_unset_fields || $due && $due->IsSet && $due->Diff < 0 && $Ticket->QueueObj->IsActiveStatus($Ticket->Status) ) {
<td class="value"><span class="overdue"><% $due->AsString %></span></td>
% } else {
<td class="value"><% $due->AsString %></td>
@@ -91,7 +91,7 @@
% $m->callback( %ARGS, CallbackName => 'AfterDue', TicketObj => $Ticket );
% }
-% if ( $Ticket->ResolvedObj->Unix ) {
+% if ( !$hide_unset_fields || $Ticket->ResolvedObj->Unix ) {
<tr class="date resolved">
<td class="label"><&|/l&>Closed</&>:</td>\
<td class="value"><% $Ticket->ResolvedObj->AsString %></td>
@@ -117,6 +117,8 @@ $Ticket => undef
$UpdatedLink => 1
</%ARGS>
<%INIT>
+my $hide_unset_fields = RT->Config->Get('HideUnsetFieldsOnDisplay', $session{CurrentUser});
+
if ($UpdatedLink and $Ticket) {
my $txns = $Ticket->Transactions;
$txns->OrderByCols(
diff --git a/share/html/Ticket/Elements/ShowPeople b/share/html/Ticket/Elements/ShowPeople
index 52ea2c5..eea509d 100644
--- a/share/html/Ticket/Elements/ShowPeople
+++ b/share/html/Ticket/Elements/ShowPeople
@@ -58,13 +58,13 @@
<td class="labeltop"><&|/l&>Requestors</&>:</td>
<td class="value"><& ShowGroupMembers, Group => $Ticket->Requestors, Ticket => $Ticket &></td>
</tr>
-% if ( $Ticket->Cc->MembersObj->Count ) {
+% if ( !$hide_unset_fields || $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 ) {
+% if ( !$hide_unset_fields || $Ticket->AdminCc->MembersObj->Count ) {
<tr>
<td class="labeltop"><&|/l&>AdminCc</&>:</td>
<td class="value"><& ShowGroupMembers, Group => $Ticket->AdminCc, Ticket => $Ticket &></td>
@@ -73,6 +73,7 @@
<& /Ticket/Elements/ShowCustomFields, Ticket => $Ticket, Grouping => 'People', Table => 0 &>
</table>
<%INIT>
+my $hide_unset_fields = RT->Config->Get('HideUnsetFieldsOnDisplay', $session{CurrentUser});
</%INIT>
<%ARGS>
$Ticket => undef
diff --git a/t/web/ticket_display_unset_fields.t b/t/web/ticket_display_unset_fields.t
index 655c9d5..448056e 100644
--- a/t/web/ticket_display_unset_fields.t
+++ b/t/web/ticket_display_unset_fields.t
@@ -1,7 +1,7 @@
use strict;
use warnings;
-use RT::Test tests => undef;
+use RT::Test tests => undef, config => 'Set( $HideUnsetFieldsOnDisplay, 1 );';
my @link_labels = (
'Depends on',
-----------------------------------------------------------------------
More information about the rt-commit
mailing list