diff options
Diffstat (limited to 'rt/share/html')
-rw-r--r-- | rt/share/html/Admin/CustomFields/Modify.html | 11 | ||||
-rw-r--r-- | rt/share/html/Admin/Elements/EditCustomFieldUILocation | 66 | ||||
-rw-r--r-- | rt/share/html/Elements/EditCustomFieldTimeValue | 16 | ||||
-rw-r--r-- | rt/share/html/Elements/ShowCustomFieldTimeValue | 4 | ||||
-rwxr-xr-x | rt/share/html/Ticket/Display.html | 2 | ||||
-rw-r--r-- | rt/share/html/Ticket/Elements/EditTransactionCustomFields | 12 | ||||
-rwxr-xr-x | rt/share/html/Ticket/Update.html | 20 |
7 files changed, 122 insertions, 9 deletions
diff --git a/rt/share/html/Admin/CustomFields/Modify.html b/rt/share/html/Admin/CustomFields/Modify.html index f53e4d7bb..5ef32127b 100644 --- a/rt/share/html/Admin/CustomFields/Modify.html +++ b/rt/share/html/Admin/CustomFields/Modify.html @@ -82,6 +82,14 @@ Default => $CustomFieldObj->LookupType, &> </td></tr> +% if ( $CustomFieldObj->Id +% and $CustomFieldObj->LookupType =~ /RT::Transaction/ ) { +<tr><td class="label"><&|/l&>Display with</&></td> +<td><& /Admin/Elements/EditCustomFieldUILocation, + CustomField => $CustomFieldObj &> +</td></tr> +% } + <tr><td class="label"><&|/l&>Validation</&></td> <td><& /Widgets/ComboBox, Name => 'Pattern', @@ -191,6 +199,8 @@ if ( $ARGS{'Update'} && $id ne 'new' ) { $CustomFieldObj->SetBasedOn( $BasedOn ); + $CustomFieldObj->SetUILocation( $UILocation ); + my $paramtag = "CustomField-". $CustomFieldObj->Id ."-Value"; # Delete any fields that want to be deleted foreach my $key ( keys %ARGS ) { @@ -267,4 +277,5 @@ $ValuesClass => 'RT::CustomFieldValues' $LinkValueTo => undef $IncludeContentForValue => undef $BasedOn => undef +$UILocation => undef </%ARGS> diff --git a/rt/share/html/Admin/Elements/EditCustomFieldUILocation b/rt/share/html/Admin/Elements/EditCustomFieldUILocation new file mode 100644 index 000000000..9cffafabb --- /dev/null +++ b/rt/share/html/Admin/Elements/EditCustomFieldUILocation @@ -0,0 +1,66 @@ +%# BEGIN BPS TAGGED BLOCK {{{ +%# +%# COPYRIGHT: +%# +%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC +%# <jesse@bestpractical.com> +%# +%# (Except where explicitly superseded by other copyright notices) +%# +%# +%# LICENSE: +%# +%# This work is made available to you under the terms of Version 2 of +%# the GNU General Public License. A copy of that license should have +%# been provided with this software, but in any event can be snarfed +%# from www.gnu.org. +%# +%# This work is distributed in the hope that it will be useful, but +%# WITHOUT ANY WARRANTY; without even the implied warranty of +%# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +%# General Public License for more details. +%# +%# You should have received a copy of the GNU General Public License +%# along with this program; if not, write to the Free Software +%# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA +%# 02110-1301 or visit their web page on the internet at +%# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html. +%# +%# +%# CONTRIBUTION SUBMISSION POLICY: +%# +%# (The following paragraph is not intended to limit the rights granted +%# to you to modify and distribute this software under the terms of +%# the GNU General Public License and is only of importance to you if +%# you choose to contribute your changes and enhancements to the +%# community by submitting them to Best Practical Solutions, LLC.) +%# +%# By intentionally submitting any modifications, corrections or +%# derivatives to this work, or any other work intended for use with +%# Request Tracker, to Best Practical Solutions, LLC, you confirm that +%# you are the copyright holder for those contributions and you grant +%# Best Practical Solutions, LLC a nonexclusive, worldwide, irrevocable, +%# royalty-free, perpetual, license to use, copy, create derivative +%# works based on those contributions, and sublicense and distribute +%# those contributions and any derivatives thereof. +%# +%# END BPS TAGGED BLOCK }}} +<div id="ui-location-class-block"> +<select name="UILocation"> +% foreach my $tag (@tags) { +<option value="<% $tag %>" <% $tag eq $CustomField->UILocation && 'selected="selected"' %>><% $description{$tag} %></option> +% } +</select> +</div> + +<%INIT> +my @sources; +my @tags = ( '', 'TimeWorked' ); +my %description = ( + '' => 'Custom fields', + 'TimeWorked' => 'Time Worked', +); +</%INIT> +<%ARGS> +$CustomField => undef +</%ARGS> diff --git a/rt/share/html/Elements/EditCustomFieldTimeValue b/rt/share/html/Elements/EditCustomFieldTimeValue new file mode 100644 index 000000000..064554594 --- /dev/null +++ b/rt/share/html/Elements/EditCustomFieldTimeValue @@ -0,0 +1,16 @@ +% my $name = $NamePrefix . $CustomField->Id . '-Value'; +% if ($Multiple) { +% $RT::Logger->error("TimeValue Multiple custom field not supported"); +% return; +% } +<& /Elements/EditTimeValue, + Name => $name, + Default => $Default, + InUnits => $ARGS{"$name-TimeUnits"} || 'minutes', +&> +<%ARGS> +$CustomField => undef +$NamePrefix => undef +$Default => undef +$Multiple => undef +</%ARGS> diff --git a/rt/share/html/Elements/ShowCustomFieldTimeValue b/rt/share/html/Elements/ShowCustomFieldTimeValue new file mode 100644 index 000000000..16d26df60 --- /dev/null +++ b/rt/share/html/Elements/ShowCustomFieldTimeValue @@ -0,0 +1,4 @@ +<%$Object->Content|n%> min +<%ARGS> +$Object +</%ARGS> diff --git a/rt/share/html/Ticket/Display.html b/rt/share/html/Ticket/Display.html index bc5294136..6fd8b85e6 100755 --- a/rt/share/html/Ticket/Display.html +++ b/rt/share/html/Ticket/Display.html @@ -155,7 +155,7 @@ if ($ARGS{'id'} eq 'new') { push @Actions, ProcessTicketBasics( ARGSRef => \%ARGS, TicketObj => $TicketObj ); push @Actions, ProcessTicketLinks( ARGSRef => \%ARGS, TicketObj => $TicketObj ); push @Actions, ProcessTicketDates( ARGSRef => \%ARGS, TicketObj => $TicketObj ); - push @Actions, ProcessObjectCustomFieldUpdates(ARGSRef => \%ARGS, TicketObj => $TicketObj ); + push @Actions, ProcessTicketCustomFieldUpdates(ARGSRef => \%ARGS, TicketObj => $TicketObj ); # XXX: we shouldn't block actions here if user has no right to see the ticket, # but we should allow him to see actions he has done diff --git a/rt/share/html/Ticket/Elements/EditTransactionCustomFields b/rt/share/html/Ticket/Elements/EditTransactionCustomFields index e2f42b2c5..630f67817 100644 --- a/rt/share/html/Ticket/Elements/EditTransactionCustomFields +++ b/rt/share/html/Ticket/Elements/EditTransactionCustomFields @@ -49,18 +49,23 @@ % if ($CustomFields->Count) { % while (my $CF = $CustomFields->Next()) { % next unless $CF->CurrentUserHasRight('ModifyCustomField'); +% next unless $CF->UILocation eq $UILocation; <tr> -<td class="label"><% loc($CF->Name) %>:</td> +<td class="label"> +<% loc($CF->Name) %>: +</td> <td> <& /Elements/EditCustomField, CustomField => $CF, NamePrefix => $NamePrefix &> +% if ( $CF->Type ne 'TimeValue' ) { <em><% $CF->FriendlyType %></em> -% if (my $msg = $m->notes('InvalidField-' . $CF->Id)) { +% } +% if (my $msg = $m->notes('InvalidField-' . $CF->Id)) { <br /> <span class="cfinvalidfield"><% $msg %></span> -% } +% } </td> </td></tr> % } @@ -83,5 +88,6 @@ $m->callback( CallbackName => 'MassageTransactionCustomFields', CustomFields => $NamePrefix => "Object-RT::Transaction--CustomField-" $TicketObj => undef $QueueObj => undef +$UILocation => '' </%ARGS> diff --git a/rt/share/html/Ticket/Update.html b/rt/share/html/Ticket/Update.html index 50c6f9327..62db0d1c3 100755 --- a/rt/share/html/Ticket/Update.html +++ b/rt/share/html/Ticket/Update.html @@ -65,8 +65,8 @@ <table width="100%" border="0"> % $m->callback(CallbackName => 'AfterTableOpens', ARGSRef => \%ARGS, Ticket => $TicketObj); -<tr><td class="label"><&|/l&>Status</&>:</td> -<td> +<tr><td valign="baseline" class="label"><&|/l&>Status</&>:</td> +<td valign="baseline"> <& /Elements/SelectStatus, Name=>"Status", DefaultLabel => loc("[_1] (Unchanged)", loc($TicketObj->Status)), Default => $ARGS{'Status'} || ($TicketObj->Status eq $DefaultStatus ? undef : $DefaultStatus)&> <span class="label"><&|/l&>Owner</&>:</span> <& /Elements/SelectOwner, @@ -76,13 +76,23 @@ DefaultLabel => loc("[_1] (Unchanged)", $m->scomp('/Elements/ShowUser', User => $TicketObj->OwnerObj)), Default => $ARGS{'Owner'} &> -<span class="label"><&|/l&>Worked</&>:</span> -<& /Elements/EditTimeValue, +</td> +<td rowspan=4 valign="top"> +<table style="float:right;"> +<tr> +<td class="label"><&|/l&>Worked</&>:</td> +<td><& /Elements/EditTimeValue, Name => 'UpdateTimeWorked', Default => $ARGS{UpdateTimeWorked}||'', InUnits => $ARGS{'UpdateTimeWorked-TimeUnits'}||'minutes', &> </td></tr> +<& /Ticket/Elements/EditTransactionCustomFields, + %ARGS, + TicketObj => $TicketObj, + UILocation => 'TimeWorked', +&> +</table></td></tr> % my $skip; % $m->callback( %ARGS, CallbackName => 'BeforeUpdateType', skip => \$skip ); % if (!$skip) { @@ -131,7 +141,7 @@ % } % $m->callback( %ARGS, CallbackName => 'AfterGnuPG' ); -<tr><td class="label" valign="top"><&|/l&>Message</&>:</td><td> +<tr><td class="label" valign="top"><&|/l&>Message</&>:</td><td colspan=2> % $m->callback( %ARGS, CallbackName => 'BeforeMessageBox' ); % if (exists $ARGS{UpdateContent}) { % # preserve QuoteTransaction so we can use it to set up sane references/in/reply to |