Suche zwei neue Dropdowns geben

Hilfe zu OTRS Problemen aller Art
Post Reply
icepizza
Znuny newbie
Posts: 16
Joined: 25 May 2007, 11:06

Suche zwei neue Dropdowns geben

Post by icepizza »

Hallo

mal wieder eine Frage. Wie kann ich in der Suche (schätze mal im Template) noch zwei dropdowns einbauen, die dann auch in der AgentTicketSearch ausgewertet werden können?

Gruß
Test: OTRS 2.3.3 - Suse 10.1
andrejv
Znuny newbie
Posts: 8
Joined: 23 May 2007, 17:50

Re: Suche zwei neue Dropdowns geben

Post by andrejv »

Hallo..

über "TicketFreeText" funktioniert dat wundaabaa... ;-)
Schau mal im Handbuch unter oben genanntem Stichwort bzw. im Admin-Bereich -> SysConfig -> Suche nach "TicketFree"

Falls du noch Fragen haben solltest, so behalte diese bitte nicht für dich. :-)

Gruß aus Zürich

Andrej
icepizza
Znuny newbie
Posts: 16
Joined: 25 May 2007, 11:06

Re: Suche zwei neue Dropdowns geben

Post by icepizza »

Hallo

Das sind dann doch aber ganz normale Textfelder oder etwa nicht???
Weil ich würde gerne Dropdowns einsetzten die einmal 0-24 Stunden besitzen und ein anderes mit 0-60 minuten

Gruß
Test: OTRS 2.3.3 - Suse 10.1
icepizza
Znuny newbie
Posts: 16
Joined: 25 May 2007, 11:06

Re: Suche zwei neue Dropdowns geben

Post by icepizza »

Hallo

Ich habe nun eine Lösung gefunden. Eigentlich ist es simpel :) . Es müssen nur drei Stellen geändert werden. ;)
Wäre es nicht sinnvoll, wenn man das direkt in otrs einbauen würde???

Für alle die es auch wissen wollen:

Es gibt das Format DateInputFormatLong. Dieses Fromat beinhaltet auch die Zeit.
Will man dies jetzt in die Suche einbauen, so muss man in der Datei /Kernel/Modules/AgentTicketSearch.pm
ersteinmal ab der Zeile 935 das Format von TicketCreateTimeStart und TicketCreateTimeStop auf DateInputFormatLong ändern.
Dann findet man in der Zeile 107 eine foreach Schleife. Dort muss man nun noch hinter TicketCreateTimeStartYear
TicketCreateTimeStartHour und TicketCreateTimeStartMinute hinzufügen und hinter TicketCreateTimeStopYear noch
TicketCreateTimeStopHour und TicketCreateTimeStopMinute hinzufügen.
Ca. in der Zeile 223 findet man eine if Abfrage. In der If Abfrage steht schon eine Zeit, diese muss man jeweils für Start und Stop wie oben bei der foreach auch schon durch $GetParam{TicketCreateTimeStopHour} etc austauschen. Das wars, nun sollte man auch nach Tickets suchen können die in der letzten Stunde neu angekommen sind o.ä

Hier noch mal der Code:

Code: Select all

Zeile 107:

foreach (qw(TicketNumber From To Cc Subject Body CustomerID CustomerUserLogin
            Agent ResultForm TimeSearchType
            TicketFreeTime1
            TicketFreeTime1Start TicketFreeTime1StartDay TicketFreeTime1StartMonth
            TicketFreeTime1StartYear 
            TicketFreeTime1Stop TicketFreeTime1StopDay TicketFreeTime1StopMonth
            TicketFreeTime1StopYear TicketCreateTimeStopHour TicketCreateTimeStopMinute
            TicketFreeTime2
            TicketFreeTime2Start TicketFreeTime2StartDay TicketFreeTime2StartMonth
            TicketFreeTime2StartYear
            TicketFreeTime2Stop TicketFreeTime2StopDay TicketFreeTime2StopMonth
            TicketFreeTime2StopYear
            TicketCreateTimePointFormat TicketCreateTimePoint
            TicketCreateTimePointStart
            TicketCreateTimeStart TicketCreateTimeStartDay TicketCreateTimeStartMonth
            TicketCreateTimeStartYear TicketCreateTimeStartHour TicketCreateTimeStartMinute
            TicketCreateTimeStop TicketCreateTimeStopDay TicketCreateTimeStopMonth
            TicketCreateTimeStopYear TicketCreateTimeStopHour TicketCreateTimeStopMinute
        ))

Code: Select all

Zeile 223:

if ($GetParam{TicketCreateTimeStartDay} && $GetParam{TicketCreateTimeStartMonth} && $GetParam{TicketCreateTimeStartYear}) {
                $GetParam{TicketCreateTimeNewerDate} = $GetParam{TicketCreateTimeStartYear}.
                    '-'.$GetParam{TicketCreateTimeStartMonth}.
                    '-'.$GetParam{TicketCreateTimeStartDay}.
                    #' 00:00:01';
                    ' '.$GetParam{TicketCreateTimeStartHour}.
                    ':'.$GetParam{TicketCreateTimeStartMinute}.
                    ':00';
            }
            if ($GetParam{TicketCreateTimeStopDay} && $GetParam{TicketCreateTimeStopMonth} && $GetParam{TicketCreateTimeStopYear}) {
                $GetParam{TicketCreateTimeOlderDate} = $GetParam{TicketCreateTimeStopYear}.
                    '-'.$GetParam{TicketCreateTimeStopMonth}.
                    '-'.$GetParam{TicketCreateTimeStopDay}.
                    #' 23:59:59';
                    ' '.$GetParam{TicketCreateTimeStopHour}.
                    ':'.$GetParam{TicketCreateTimeStopMinute}.
                    ':00';
            }

Code: Select all

Zeile 935:

$Param{TicketCreateTimeStart} = $Self->{LayoutObject}->BuildDateSelection(
        %Param,
        Prefix => 'TicketCreateTimeStart',
        Format => 'DateInputFormatLong',
        DiffTime => -((60*60*24)*30),
    );
    $Param{TicketCreateTimeStop} = $Self->{LayoutObject}->BuildDateSelection(
        %Param,
        Prefix => 'TicketCreateTimeStop',
        Format => 'DateInputFormatLong',
    );
Gruß

Martin
Test: OTRS 2.3.3 - Suse 10.1
subu
Znuny newbie
Posts: 8
Joined: 30 May 2007, 11:00

Re: Suche zwei neue Dropdowns geben

Post by subu »

Ahem Martin was genau versuchst du da zu machen? :?

Die AgentTicketSearch-page nimmt die TicketFreeText fields automatisch mit rein. Sollte jedenfalls

Es schein so als wolltest du eine Zeit-Suche implementieren, also in 2.1.6 aufwaerts, weiss nicht wie es bei 2.1.5 aussieht, gibt es 3 Zeitsuchen.

No-time
tickets created in the past (day) (month) etc
tickets create between day1 and day2

Vielleicht hilft es ja!

Weiss aber nicht genau was du versuchst!

Gruss Subu
Prod OTRS 2.1.6 - Debian Etch 4.0 - Oracle 10.2g - DBI::DBD::Oracle1.19
Test OTRS 2.1.7 - Debian Etch 4.0 - Oracle 10.2g - DBI::DBD::Oracle1.19
Dev OTRS 2.2.0-Beta3 - Debian Etch 4.0 - Oracle 10.g - DBI::DBD::Oracle1.19
icepizza
Znuny newbie
Posts: 16
Joined: 25 May 2007, 11:06

Re: Suche zwei neue Dropdowns geben

Post by icepizza »

moin

ich will mit der suche nach Tickets suchen die zum beispiel in der letzten Stunde gekommen sind.
Oder aber auch Tickets die z.B am 14.03.2007 zwischen 14:00 und 15:30 neu ins TicketSystem gekommen sind.

Ich hab bisher das nicht in otrs gefunden oder hab ich da jetzt echt was übersehen?

Hoffe das ist etwas klarer geworden.

Gruß

Martin

Edit: dieser Thread bezieht sich auch auf meine vorherige frage :
http://otrs-forum.de/viewtopic.php?f=17&t=1107
Test: OTRS 2.3.3 - Suse 10.1
Post Reply