From f3a97201def678ff5cb382520132f303a16d0d12 Mon Sep 17 00:00:00 2001 From: Mark Wells Date: Wed, 7 Aug 2013 16:39:21 -0700 Subject: [PATCH] fix WillResolve date editing in ticket basics, #23309 --- rt/lib/RT/Interface/Web.pm | 1 + rt/lib/RT/Interface/Web_Vendor.pm | 12 ++++++++++++ rt/share/html/Ticket/Elements/EditBasics | 5 ++++- 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/rt/lib/RT/Interface/Web.pm b/rt/lib/RT/Interface/Web.pm index bdad21350..4a6bfda88 100644 --- a/rt/lib/RT/Interface/Web.pm +++ b/rt/lib/RT/Interface/Web.pm @@ -2983,6 +2983,7 @@ sub ProcessTicketDates { Starts Started Due + WillResolve ); #Run through each field in this list. update the value if apropriate diff --git a/rt/lib/RT/Interface/Web_Vendor.pm b/rt/lib/RT/Interface/Web_Vendor.pm index fb2b80717..a5f5b8827 100644 --- a/rt/lib/RT/Interface/Web_Vendor.pm +++ b/rt/lib/RT/Interface/Web_Vendor.pm @@ -254,8 +254,20 @@ sub ProcessTicketBasics { TimeLeft Type Queue + WillResolve ); + # the UI for editing WillResolve through Ticket Basics should allow + # setting it to null + my $to_date = delete($ARGSRef->{'WillResolve_Date'}); + my $DateObj = RT::Date->new($session{'CurrentUser'}); + if ( $to_date ) { + $DateObj->Set(Format => 'unknown', Value => $to_date); + } else { + $DateObj->Set(Value => 0); + } + $ARGSRef->{'WillResolve'} = $DateObj->ISO; + if ( $ARGSRef->{'Queue'} and ( $ARGSRef->{'Queue'} !~ /^(\d+)$/ ) ) { my $tempqueue = RT::Queue->new($RT::SystemUser); $tempqueue->Load( $ARGSRef->{'Queue'} ); diff --git a/rt/share/html/Ticket/Elements/EditBasics b/rt/share/html/Ticket/Elements/EditBasics index ae70bd802..a86bb6c52 100755 --- a/rt/share/html/Ticket/Elements/EditBasics +++ b/rt/share/html/Ticket/Elements/EditBasics @@ -52,6 +52,7 @@ $InTable => 0 %defaults => () <%INIT> +my $WillResolveObj = $TicketObj->WillResolveObj; unless ( @fields ) { @fields = ( { name => 'Subject', @@ -72,7 +73,9 @@ unless ( @fields ) { comp => '/Elements/SelectDate', args => { menu_prefix => 'WillResolve', - Default => $ARGS{'WillResolve'} || $TicketObj->WillResolveObj->Date, + Default => $ARGS{'WillResolve'} || + ($WillResolveObj->Unix > 0 ? + $WillResolveObj->Date : ''), current => 0, ShowTime => 0, }, -- 2.11.0