Anfangszeit eines Tickets manuell eingeben?

Hilfe zu Znuny Problemen aller Art
Locked
Gag Halfrunt
Znuny newbie
Posts: 7
Joined: 28 Nov 2006, 14:35

Anfangszeit eines Tickets manuell eingeben?

Post by Gag Halfrunt »

Hallo Leute,

gibt es irgendwo in den Untiefen des OTRS versteckt eine Möglichkeit, dass man die Startzeit eines Tickets manuell eingeben oder zumindest nachträglich ändern kann?

Hintergrund: Die Support-Knechte unserer kleinen Firma sitzen außerhalb der Bürozeiten nicht vorm PC und werden dann z.T. auf dem Handy angerufen.
Ich würde gerne auch diese Calls im OTRS erfassen. Die Leute würden solche Anfragen dann nachträglich eingeben, müssten dazu aber die tatsächliche Anfangszeit angeben können -- und eben nicht die Zeit, zu dem das Ticket erstellt wurde.

Sachdienliche Hinweise werden gerne genommen. :)

Gag
OTRS 2.1.3, Windows Server 2003
n4rF
Znuny newbie
Posts: 42
Joined: 20 Oct 2006, 16:05
Location: Offenbach am Main

Post by n4rF »

Was für eine Startzeit meinst du?
Die Zeit an dem das Ticket erstellt wurde oder die Eskalationszeit der Queue?
Für beide gibt es keine Möglichkeit diese manuell einzugeben.
Dazu müsstest du die Template, Module und die Methode TicketCreate in der Ticket.pm anpassen.

Gruß
n4rF
Gag Halfrunt
Znuny newbie
Posts: 7
Joined: 28 Nov 2006, 14:35

Post by Gag Halfrunt »

Ich meine die Erstellzeit (Spalte "create_time" in der Tabelle "ticket"). Bei diesen "Offline"-Telefontickets muss ich sie ja nachträglich eingeben.
An der Erstellzeit kann man jedoch ablesen, wann die Störung gemeldet und bearbeitet wurde. Das ist u.a. auch wichtig für die Abrechnung, wenn unsere Service-Techniker außerhalb der normalen Arbeitszeiten da angesprochen werden.

Wenn das allerdings nur mit Umprogrammierung möglich ist, muss ich mir was dazu ausdenken. Hab da so meine Bauchschmerzen, insbesondere was dann die Update-Fähigkeit betrifft.

Ich werde mal schauen, dass ich für diesen Fall was mit den Feldern "freetime" anfangen kann.

Gag
OTRS 2.1.3, Windows Server 2003
n4rF
Znuny newbie
Posts: 42
Joined: 20 Oct 2006, 16:05
Location: Offenbach am Main

Post by n4rF »

Schau dir mal AgentTicketPending an, da haste ja ein Eingabe für das Datum und die Uhrzeit. Die DiffTime setzt du auf null, damit das aktuelle Datum und Uhrzeit genommen wird und passt TicketCreate so an, dass du die create_time als Parameter übergeben kannst und noch das insert in die DB.

Gruß
n4rF
Gag Halfrunt
Znuny newbie
Posts: 7
Joined: 28 Nov 2006, 14:35

Post by Gag Halfrunt »

Hmpf... Ich stelle gerade fest, dass im System der Wert "create_time" eines Tickets ausschließlich für die Suche verwendet wird. Die Anzeige der Startzeit eines Tickets richtet sich ansonsten überall nach der "incoming_time" des ersten Artikels (Tabelle "article").

Also muss ich diesen Wert umbiegen...
OTRS 2.1.3, Windows Server 2003
n4rF
Znuny newbie
Posts: 42
Joined: 20 Oct 2006, 16:05
Location: Offenbach am Main

Post by n4rF »

Da incoming_time ein Integer ist musst du die Zeit erstmal umwandeln. z.B.:

Code: Select all

$IncomingTime = $Self->{TimeObject}->Date2SystemTime(%GetParam, Second => 0))
Das übergibts du dann ArticleCreate als Parameter.
In ArticleCreate musst du dann das Parameter Abfragen ob es übergeben wurde, da du sonst Probleme bekommst wenn du weitere Artikel anlegst.
Würde's jetz aus'm stehgreif so ändern:

Code: Select all

my $IncomingTime    = $Self->{TimeObject}->SystemTime();
ändern zu

Code: Select all

$IncomingTime    = $Self->{TimeObject}->SystemTime();
if($Param{IncomingTime}) {
   $IncomingTime = $Param{IncomingTime};
}

Gag Halfrunt
Znuny newbie
Posts: 7
Joined: 28 Nov 2006, 14:35

Post by Gag Halfrunt »

Danke schon mal. Momentan sehe ich aber noch den Wald vor lauter Bäumen nicht, da mir der Überblick über das System noch ein wenig fehlt.

Wo wird ArticleCreate eigentlich aufgerufen, damit ich die zusätzlichen Parameter da überhaupt übergeben kann?
Ich wollte für den Anfang zum Test diese Parameter von FreeTime1 verwenden -- aber irgendwo muss ja diese ArticleCreate-Funktion mal von irgendwem aufgerufen werden.
Ich hatte anfangs die Geschichte in TicketCreate eingebaut. Nur dummerweise bringt das ja nichts. Und da ArticleCreate auch noch nach TicketCreate aufgerufen wird, konnte ich da dann auch nichts weiter in der Datenbank hexen... :(

Sorry, mch mag mich vermutlich ziemlich unbeholfen anstellen, aber Web-Programmierung ist absolutes Neuland für mich -- ich programmiere sonst nur klassische Anwendungssoftware.
OTRS 2.1.3, Windows Server 2003
n4rF
Znuny newbie
Posts: 42
Joined: 20 Oct 2006, 16:05
Location: Offenbach am Main

Post by n4rF »

Ich geh mal davon aus, dass das im Kunden-Bereich gemacht werden soll.
Wenn ein Kunde ein Ticket erstellt, dann wird das Module CustomerTicketMessage aufgerufen.
Dort findest findest du

Code: Select all

if (my $ArticleID = $Self->{TicketObject}->ArticleCreate(
Dort fügste einfach das Parameter hinzu.

P.S. Schau einfach auf die URL, Action="xyz" gibt das Modul an
Gag Halfrunt
Znuny newbie
Posts: 7
Joined: 28 Nov 2006, 14:35

Post by Gag Halfrunt »

Ah... Hab im falschen Ordner gesucht. :)

Merci, das hat mir weitergeholfen. Mal schauen, wie das dann aussieht.
OTRS 2.1.3, Windows Server 2003
Locked