<%INIT>
if( RT->Config->Get('LuciaAllowModifyResolved') || $session{CurrentUser}->HasRight( Right => 'SuperUser', Object => RT->System ) ){
    # Set date fields
    my @date_fields = qw(
        Resolved
    );

    # Run through each field in this list. update the value if apropriate
    foreach my $field (@date_fields) {
        next unless exists $ARGSRef->{ $field . '_Date' };
        next if $ARGSRef->{ $field . '_Date' } eq '';

        my ( $code, $msg );

        my $DateObj = RT::Date->new( $session{'CurrentUser'} );
        $DateObj->Set(
            Format => 'unknown',
            Value  => $ARGSRef->{ $field . '_Date' }
        );

        my $obj = $field . "Obj";
        my $old_date = $Ticket->$obj();
        if ( $DateObj->Unix != $old_date->Unix() ) {
            my $method = "Set$field";
            my ( $code, $msg ) = $Ticket->$method( $DateObj->ISO );
            push @{$results}, loc( "[_1] changed from [_2] to [_3]", loc( $field ), $old_date->AsString, $DateObj->AsString );
        }
    }
}
</%INIT>

<%ARGS>
$ARGSRef  => {}
$Ticket => undef
$results => undef
</%ARGS>
