Dynamisches Feld mittels ACL beschränken

Hilfe zu Znuny Problemen aller Art
Locked
maximilian
Znuny newbie
Posts: 1
Joined: 27 Jun 2013, 20:01
Znuny Version: 3.2.5
Real Name: Maximilian

Dynamisches Feld mittels ACL beschränken

Post by maximilian »

Hallo zusammen,

momentan versuchen wir OTRS an unsere Wünsche anzupassen. Hierzu möchten wir bei den Tickets Dynamische Felder für eine Mehrfachauswahl anzeigen lassen. Abhängig von der Customer-ID des Kunden sollen allerdings nur bestimmte Optionen dieser Mehrfachauswahl zur Verfügung stehen. Also bspw wenn die Customer-ID 1001 lautet, soll nur die Option "A" auswählbar sein. Das Mittel der Wahl hierzu scheinen ja die ACLs zu sein.

Da sich die Einstellungen ändern können, möchten wir das Setzen der Einstellugen mittels WebService Aufruf auf die rpc.pl und die in der Doku beschriebene TicketAcl() Funktion in Kernel::System::Ticket vornehmen. Leider hat der Aufruf dieser Funktion bisher nie zu einer Antwort oder einem Fehler in den Logs geführt. Man konnte leider auch keine Änderung feststellen.

Daher sind wir einen Schritt zurück gegangen und wollten testweise die ACL direkt in die Config.pm festschreiben. Selbst hier führt folgender Code aber zu keinerlei Änderung im Systemverhalten von OTRS:

Code: Select all

$Self->{TicketAcl}->{'Limit-to-specific-Article'} = {
    # match properties
    # note we don't have "Ticket => {" because there's no ticket yet
    Properties => {
    },
    # return possible options
    PossibleNot => {
        Ticket => {
            DynamicField_Test123 => ['1'],
        },
    },
};
Das Dynamische Feld heißt Test123 und hat folgende Schlüssel/Wert Zuordnung:
1 => A
2 => B

Das erwartete Verhalten obigen Codes wäre daher unserer Meinung nach, dass egal bei welchem Ticket nur Option "B" zur Auswahl stehen dürfte. Da dies aber nicht funktioniert und in keinem Log irgendwelche Fehlernachrichten auftauchen, hoffen wir jetzt auf eure Hilfe!
Ist der Code für die Config.pm richtig? Müssen ACLs noch irgendwo in der SysConfig extra aktivieren? Gibt es eine Übersicht über aktive ACLs?

Vielen Dank schon mal für jeden Hinweis!
Maximilian
tto
Znuny wizard
Posts: 315
Joined: 09 Jan 2007, 15:24
Znuny Version: OTRS 5.0.x
Real Name: Torsten
Company: c.a.p.e. IT GmbH
Location: Chemnitz
Contact:

Re: Dynamisches Feld mittels ACL beschränken

Post by tto »

maximilian wrote:[..]
Daher sind wir einen Schritt zurück gegangen und wollten testweise die ACL direkt in die Config.pm festschreiben. Selbst hier führt folgender Code aber zu keinerlei Änderung im Systemverhalten von OTRS:

Code: Select all

$Self->{TicketAcl}->{'Limit-to-specific-Article'} = {
    # match properties
    # note we don't have "Ticket => {" because there's no ticket yet
    Properties => {
    },
    # return possible options
    PossibleNot => {
        Ticket => {
            DynamicField_Test123 => ['1'],
        },
    },
};
Das Dynamische Feld heißt Test123 und hat folgende Schlüssel/Wert Zuordnung:
1 => A
2 => B

Das erwartete Verhalten obigen Codes wäre daher unserer Meinung nach, dass egal bei welchem Ticket nur Option "B" zur Auswahl stehen dürfte. Da dies aber nicht funktioniert und in keinem Log irgendwelche Fehlernachrichten auftauchen, hoffen wir jetzt auf eure Hilfe!
Ist der Code für die Config.pm richtig? Müssen ACLs noch irgendwo in der SysConfig extra aktivieren? Gibt es eine Übersicht über aktive ACLs? [..]
...auf den schnellen Blick sieht das eigentlich korrekt aus. Wurde das evtl. nur mit NutzerID 1 (root@localhost) getestet? Bei diesem Nutzer werden ACLs nicht betrachtet.

vG, T.
--
KIX 17.x (fork of OTRS)
Professional KIX-, or OTRS-integration, development and consulting by c.a.p.e. IT - http://www.cape-it.de
For questions and hints regarding KIX(4OTRS) please go to https://forum.kixdesk.com/
Bei Fragen und Hinweisen zu KIX(4OTRS) bitte an https://forum.kixdesk.com/ wenden.
Locked