[otrs-de] survey-paket / umfrage einschränken auf queue

it-news (Josef Lahmer) it-news at gugler.at
Don Sep 13 10:05:22 GMT 2007


liebe liste,

ziel 1: umfragen nur auf bestimmte queues senden lassen.
ziel 2: nur bestimmte umfragen für bestimmte queues senden.

ziel 1 überlegungen: Event duplizieren und abändern für die queue-umfrage.

aus der sysconfig ist ersichtlich, dass SurveySendRequest für das schicken verantwortlich ist.

Ticket::EventModulePost###99-SurveySendRequest: 
Event: (TicketStateUpdate|StateSet)
Module: Kernel::System::Ticket::Event::SurveySendRequest

was ich machen kann ist das event zu duplizieren und die queue abfrage einzubauen. code siehe unten.

eventuell könnte man ja das komplett über generic-agent zu lösen?
die frage ist jedoch wie ich das "requestsend" in den cmd-bereich einbinden kann?
($Self->{SurveyObject}->RequestSend(TicketID => $Param{TicketID})

zu infos über das anstoßen des generic-agents bzw erweiterungen zum survey-pakets und der event-modul behandlung wäre ich sehr dankbar. eventuell wäre natürlich eine erweiterungslösung zum survey-paket auch ganz interessant.

danke,

lg josy


------------------------------------------
auszug aus ORIGINAL:
/usr/share/otrs/Kernel/System/Ticket/Event/SurveySendRequest.pm

    if ($Param{Event} eq 'TicketStateUpdate') {
        my %Ticket = $Self->{TicketObject}->TicketGet(
            TicketID => $Param{TicketID},
        );
        if ($Ticket{StateType} eq 'closed'){
            $Self->{SurveyObject}->RequestSend(
                TicketID => $Param{TicketID},
            );
        }
    }

MODIFIZIERTER EVENT:
    if ($Param{Event} eq 'TicketStateUpdate') {
        my %Ticket = $Self->{TicketObject}->TicketGet(
            TicketID => $Param{TicketID},
        );
        if ($Ticket{StateType} eq 'closed'){
# alles was mit queue queuename beginnt ?
	        if ($Ticket{Queue} ~= m/^queuename::.*/) {
	            $Self->{SurveyObject}->RequestSend(
	                TicketID => $Param{TicketID},
	            );
		  )
        }
    }