Benachrichtigung an ALLE involvierten Agenten

Hilfe zu Znuny Problemen aller Art
Locked
brndhfmnn
Znuny newbie
Posts: 6
Joined: 05 Jan 2011, 09:27
Znuny Version: 2.4

Benachrichtigung an ALLE involvierten Agenten

Post by brndhfmnn »

Agenten wählen in den persönlichen Einstellungen, für welche Queues und Ereignisse sie automatisch per eMail benachrichtigt werden wollen.

Die in userer Firma an einem Test zur Evaluierungvon OTRS Beteiligten bestehen darauf, dass der ursprüngliche Ersteller sowie alle im weiteren Verlauf der Bearbeitung eines Tickets Involvierten über Änderungen benachrichtigt werden.
  • Wie ist das möglich?
    Und falls nein, ist dies als Option für spätere Releases geplant?
root
Administrator
Posts: 4237
Joined: 18 Dec 2007, 12:23
Znuny Version: Znuny and Znuny LTS
Real Name: Roy Kaldung
Company: Znuny
Contact:

Re: Benachrichtigung an ALLE involvierten Agenten

Post by root »

Schau die mal Kernel/System/Ticket/Event/NotificationEvent.pm an.
Am besten eine Kopie anlegen, z.B. Custom/Kernel/System/Ticket/Event/NotificationEvent.pm (warum hier? -> Custom/README)
Die Datei kannst Du modifizieren wie benoetigt, kleine Hilfe: Kernel::System::Ticket::OwnerList(), die Funktion liefert eine Liste aller bisher involvierten Agenten.
So um die Zeile 237 ist der Abschnitt wo die Empfaenger zusammengebaut werden.
Dort kannst Du einen Abschnitt analog zu

Code: Select all

elsif ( $Recipient eq 'AgentResponsible' ) {
einfuegen.
Z.b.

Code: Select all

elsif ( $Recipient eq 'AgentsInvolved' ) {
    push @{ $Param{Notification}->{Data}->{RecipientAgents} }, $Self->{TicketObject}->OwnerList()
}
Als naechstes die Datei Kernel/Modules/AdminNotificationEvent.pm wieder nach Custom/ kopieren und im Bereich um Zeile 302 folgendes Suchen:

Code: Select all

    $Param{RecipientsStrg} = $Self->{LayoutObject}->BuildSelection(
        Data => {
            AgentOwner            => 'Agent (Owner)',
            AgentResponsible      => 'Agent (Responsible)',
            AgentWritePermissions => 'Agent (All with write permissions)',
            Customer              => 'Customer',
        },  
        Name       => 'Recipients',
        Multiple   => 1,
        Size       => 4,
        SelectedID => $Param{Data}->{Recipients},
    );  
Dort den entsprechenden Abschnitt AgentsInvolved

Code: Select all

AgentsInvolved      => 'Agent (All ever involved with the ticket)',
einfuegen, die passende Uebersetzung anlegen (siehe Dokumentation) und fertig ist das ganze.

Ich hoffe das hilft ein wenig.

P.S.: Ich hab's nicht ausprobiert, aber der Weg sollte passen.
Znuny and Znuny LTS running on CentOS / RHEL / Debian / SLES / MySQL / PostgreSQL / Oracle / OpenLDAP / Active Directory / SSO

Use a test system - always.

Do you need professional services? Check out https://www.znuny.com/

Do you want to contribute or want to know where it goes ?
AlexG
Znuny newbie
Posts: 48
Joined: 11 Mar 2011, 08:34
Znuny Version: 3.2.10

Re: Benachrichtigung an ALLE involvierten Agenten

Post by AlexG »

Für das von brndhfmnn gegebene Problem mit OTRS 3.0.6 funktioniert die Lösung von root (so wie sie da steht) nicht.
Das Array in das alle Beteiligten abgespeichert werden sollten, bleibt leer.

Die Funktion "Verantwortlicher" hat uns einen Schritt weiter gebracht, benachrichtigt aber nur den Ersteller des Tickets (bzw. manuell eingetragene Agenten).

Des Weiteren noch ein Ergänzung aus PMs zwischen mir und root:

Der angegebene Code war nicht ganz Vollständig, hier ist der fehlende Part.

Code: Select all

elsif ( $Recipient eq 'AgentsInvolved' ) {
    push @{ $Param{Notification}->{Data}->{RecipientAgents} }, $Self->{TicketObject}->OwnerList( TicketID => $Self->{TicketID} );
Jedoch funktioniert das mit Version 3.0.6 immer noch nicht, aber evtl. kann es anderen eine Hilfe sein.
OTRS 3.2.10
ITSM 3.2.9
KhaledBlah
Znuny newbie
Posts: 34
Joined: 14 Mar 2011, 12:57
Znuny Version: 3

Re: Benachrichtigung an ALLE involvierten Agenten

Post by KhaledBlah »

Danke!
OTRS 3.3.8
Locked