falls es jemand brauchen kann:
Ich habe einen quick-hack geschrieben, der die Datumfelder in "Zusätzliche ITSMFelder" zur
Berechnung der SLA heranzieht:
1) Reparatur Startzeit: Startzeitpunkt der Responsetime
2) Wiederherstelltung Startzeit: Startzeitpunkt der Fixtime;
Falls 1) eingegeben, wird es berücksichtigt
OTRS 2.3.4
ITSM 1.2.3
6 Zeilen Code und das wars
Code: Select all
/opt/otrs/Kernel/System # diff -u Ticket.pm.save Ticket.pm
--- Ticket.pm.save 2009-05-08 15:19:58.000000000 +0200
+++ Ticket.pm 2009-05-08 18:56:08.000000000 +0200
@@ -1860,7 +1860,8 @@
else {
my $DestinationTime = $Self->{TimeObject}->DestinationTime(
StartTime => $Self->{TimeObject}->TimeStamp2SystemTime(
- String => $Ticket{Created}
+ String => $Ticket{TicketFreeTime3} ? $Ticket{TicketFreeTime3} : $Ticket{Created}
),
Time => $Escalation{FirstResponseTime} * 60,
Calendar => $Escalation{Calendar},
@@ -2021,7 +2022,8 @@
else {
my $DestinationTime = $Self->{TimeObject}->DestinationTime(
StartTime => $Self->{TimeObject}->TimeStamp2SystemTime(
- String => $Ticket{Created}
+ String => $Ticket{TicketFreeTime4} ? $Ticket{TicketFreeTime4} : $Ticket{TicketFreeTime3} ? $Ticket{TicketFreeTime3} : $Ticket{Created}
),
Time => $Escalation{SolutionTime} * 60,
Calendar => $Escalation{Calendar},
Code: Select all
/opt/otrs/Kernel/Modules # diff -u AgentTicketAddtlITSMField.pm.save AgentTicketAddtlITSMField.pm
--- AgentTicketAddtlITSMField.pm.save 2009-05-08 19:40:32.000000000 +0200
+++ AgentTicketAddtlITSMField.pm 2009-05-08 19:37:53.000000000 +0200
@@ -683,6 +683,13 @@
);
}
}
+ #
+ # rebuild ticketindex
+ #
+ $Self->{TicketObject}->TicketEscalationIndexBuild(
+ TicketID => $Self->{TicketID},
+ UserID => $Self->{UserID},
+ );
# set article free text
for ( 1 .. 3 ) {
if ( defined( $GetParam{"ArticleFreeKey$_"} ) ) {
Wolfgang