<table width="100%" border="0">
% $m->callback(CallbackName => 'AfterTableOpens', ARGSRef => \%ARGS, Ticket => $TicketObj);
-<tr><td class="label"><&|/l&>Status</&>:</td>
-<td>
-<& /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,
- Name => "Owner",
- TicketObj => $TicketObj,
- QueueObj => $TicketObj->QueueObj,
- DefaultLabel => loc("[_1] (Unchanged)", $m->scomp('/Elements/ShowUser', User => $TicketObj->OwnerObj)),
- Default => $ARGS{'Owner'}
+<tr><td valign="baseline" class="label"><&|/l&>Status</&>:</td>
+<td valign="baseline">
+<script type="text/javascript">
+function changeStatus() {
+ var Status_select = document.getElementById('Status');
+ var x = Status_select.options[Status_select.selectedIndex].value;
+ var text = document.getElementById('WillResolve_Date');
+ var button = document.getElementById('WillResolve_Date_date_button');
+ if (x == 'resolved' || x == 'rejected' || x == 'deleted') {
+ text.disabled = true;
+ button.style.display = 'none';
+ }
+ else {
+ text.disabled = false;
+ button.style.display = 'inline';
+ }
+}
+</script>
+<& /Elements/SelectStatus,
+ Name=>"Status",
+ DefaultLabel => loc("[_1] (Unchanged)", loc($TicketObj->Status)),
+ Default => $ARGS{'Status'}
+ || ($TicketObj->Status eq $DefaultStatus ? undef : $DefaultStatus,
+ onchange => 'changeStatus()'
+)&>
+<span class="label"><&|/l&>Resolve this Ticket on</&>:</span>
+<& /Elements/SelectDate,
+ menu_prefix => 'WillResolve',
+ current => 0,
+ ShowTime => 0,
&>
-<span class="label"><&|/l&>Worked</&>:</span>
-<& /Elements/EditTimeValue,
+% if ( $TicketObj->WillResolve ) {
+<span class="label"> (<% $TicketObj->WillResolveObj->AsString %>)</span>
+% }
+<script type="text/javascript">
+changeStatus();
+</script>
+</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) {
<input type="hidden" class="hidden" name="id" value="<%$TicketObj->Id%>" /><br />
% }
+<tr><td class="label"><&|/l&>Owner</&>:</td>
+<td><& /Elements/SelectOwner,
+ Name => "Owner",
+ TicketObj => $TicketObj,
+ QueueObj => $TicketObj->QueueObj,
+ DefaultLabel => loc("[_1] (Unchanged)", $m->scomp('/Elements/ShowUser', User => $TicketObj->OwnerObj)),
+ Default => $ARGS{'Owner'}
+&></td>
+</tr>
<tr><td class="label"><&|/l&>Update Type</&>:</td>
<td><select name="UpdateType">
% if ($CanComment) {
% }
% $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