Resolved time update

My users need to be able to manually set the Closed time of a ticket.
When the ticket is 'resolved’
the Closed field is set to the current time stamp. This is not what I
need. In my case the work would actually be completed some time before
the ticket is resolved in the RT system.

I have added a Closed field to the Tickets->#####->Dates screen. If
this form is used after the ‘Resolved’ action is taken. My user can set
the correct time of resolution.

I would like better than this. I am thinking that adding a form to the
’Resolved’ page would be best, but I cannot see my way through to that
yet. … (Meaning I don’t have working code to do that yet.)

Do other people have a similar issue? What is the best way to get at
manual date resolution?

Thank so much.

Craig Stevenson
|| stevensc@nsuok.edu | 918-456-5511x5955
|| Northeastern State University
|| 601 N. Grand | Tahlequah, Oklahoma 74464-2399

I am still puzzled over how to set the Closed field when resolving a
ticket. I want to add a form
to the Resolve Ticket window (which I can do, I just cannot get the form
data into the DB).

Should I be looking at scrips to get this done? Or, is there another tack?

Thanks a lot for the help.

Craig Stevenson wrote:

My users need to be able to manually set the Closed time of a ticket.
When the ticket is 'resolved’
the Closed field is set to the current time stamp. This is not what I
need. In my case the work would actually be completed some time
before the ticket is resolved in the RT system.
I have added a Closed field to the Tickets->#####->Dates screen. If
this form is used after the ‘Resolved’ action is taken. My user can
set the correct time of resolution.

I would like better than this. I am thinking that adding a form to
the ‘Resolved’ page would be best, but I cannot see my way through to
that yet. … (Meaning I don’t have working code to do that yet.)

Do other people have a similar issue? What is the best way to get at
manual date resolution?

Thank so much.

Craig Stevenson
|| stevensc@nsuok.edu | 918-456-5511x5955
|| Northeastern State University
|| 601 N. Grand | Tahlequah, Oklahoma 74464-2399

Hello RT-ers!

After labor, I finally solved my problem concerning setting the Closed
timestamp manually when resolving a ticket. I am inlining the diff’s.
My RT instance is 3-4-4. It all came down to the right few lines of
code. I found using the RT::Logger (& Carp) utility invaluable in
getting this done. I had trouble with the perldebugger, it would hang
on line 215 of the autohandler.

Ya’ll have a great weekend!

Craig Stevenson, stevensc@nsuok.edu
Notes on configuring RT so that a ResolvedDate field appears on the Ticket
Resolve page.
06Jan05

The task at hand is to create a field on the ‘Resolved’ page, where the user
can set the date/time of finishing the work. If it is left blank it will
do the usual -set-to-now-, if the field is filled with something parsable
to ParseDate, it will use that value instead for the resolution timestamp.

There are several files that were altered to make this work:

Update.html
diff /usr/local/rt/share/html/Ticket/Update.html
/usr/local/rt/local/html/Ticket/Update.html
64a65,73

<!-- stevensc: sending 'ResolvedDate' in ARGS, to manually set the

date -->

% if ($CanSetResolvedDate) {

<&|/l&>Resolved Date:
<&|/l&> (Enter a date only if you do not want to use the current time stamp.) % }

140a150,153

#stevensc:
my $CanSetResolvedDate = 0;

154a168,169

#stevensc:
$CanSetResolvedDate = 1;

Ticket_Overlay.pm
diff /usr/local/rt/lib/RT/Ticket_Overlay.pm
/usr/local/rt/local/lib/RT/Ticket_Overlay.pm
3214a3215,3225

    #stevensc: we now take a resolved date from the Update page
    # we added an element, 'ResolvedDate', to %ARGS, and passed
    # it in to this function where it will be used in lieu of 'now'
    # if it is set.

    my$date=$args{ARGSRef}->{'ResolvedDate'};
    if($date){
        $now->Set(Format => 'unknown', Value => $date);
    }

Record.pm
diff /usr/local/rt/lib/RT/Record.pm /usr/local/rt/local/lib/RT/Record.pm
275a276,277

#stevensc: following loop is being commmented just to see if currentuser
#install will work, ok breaks elsewhere, Iwill put it back.
921c923,932
< my ( $code, $msg ) = $self->$method($value);

    #stevensc:
    my($code,$msg);
    unless ($ARGSRef->{'ResolvedDate'}) {
      ( $code, $msg ) = $self->$method($value);
    } else {
      ( $code, $msg ) = $self->$method(Status  => $value,
                                         ARGSRef => $ARGSRef);
    }

Craig Stevenson wrote:

I am still puzzled over how to set the Closed field when resolving a
ticket. I want to add a form
to the Resolve Ticket window (which I can do, I just cannot get the
form data into the DB).
Should I be looking at scrips to get this done? Or, is there another
tack?

Thanks a lot for the help.

Craig Stevenson wrote:

My users need to be able to manually set the Closed time of a
ticket. When the ticket is 'resolved’
the Closed field is set to the current time stamp. This is not what
I need. In my case the work would actually be completed some time
before the ticket is resolved in the RT system.
I have added a Closed field to the Tickets->#####->Dates screen. If
this form is used after the ‘Resolved’ action is taken. My user can
set the correct time of resolution.

I would like better than this. I am thinking that adding a form to
the ‘Resolved’ page would be best, but I cannot see my way through to
that yet. … (Meaning I don’t have working code to do that yet.)

Do other people have a similar issue? What is the best way to get at
manual date resolution?

Thank so much.

Craig Stevenson
|| stevensc@nsuok.edu | 918-456-5511x5955
|| Northeastern State University
|| 601 N. Grand | Tahlequah, Oklahoma 74464-2399