Hauptmenü

ACL Anwendung

Begonnen von NidintuBel, 14.05.2019 15:54:04

⏪ vorheriges - nächstes ⏩

NidintuBel

Hallo,
Ich habe 2 ACL geschrieben die die Anzeige eines dynamischen Feldes auf eine bestimmte Queue beschränken. Die erste ACL schaltet das Feld für alle Queues ab und die zweite ACL schaltet es dann für eine bestimmte Queue wieder ein. Das funktioniert auch wie gewünscht. Es gibt nur ein Problem. Wenn ich auf Neues Ticket gehe ist das Feld immer eingeblendet. Erst wenn ich bei Queue etwas eintrage verschwindet das Feld. Wieso wirkt die ACL nicht gleich von Anfang an? Das ist zwar eigentlich nur ein kosmetisches Problem aber ich verwende eine default ausgewählte Queue und möchte nicht das die Agents dieses Feld sehen wenn sie keine Queue manuell auswählen.




Sebastian

Kannst du uns die Config posten?

NidintuBel

Hallo Sebastian,
klar gern.
- ChangeBy: jakob
  ChangeTime: 2019-05-14 15:31:16
  Comment: Felder für Start und Endzeit für Störungsmeldungen ausschalten
  ConfigChange:
    Possible:
      Form:
        TicketCalendarEndTime:
        - '0'
        TicketCalendarStartTime:
        - '0'
  ConfigMatch:
    Properties:
      Ticket:
        Queue:
        - '[RegExp]^(.*)$'
  CreateBy: jakob
  CreateTime: 2019-05-14 09:36:16
  Description: ''
  ID: 2
  Name: Startzeit ausblenden
  StopAfterMatch: 0
  ValidID: 1
- ChangeBy: jakob
  ChangeTime: 2019-05-14 15:32:36
  Comment: Startzeit und Endzeit wieder einschalten
  ConfigChange:
    Possible:
      Form:
        TicketCalendarEndTime:
        - '1'
        TicketCalendarStartTime:
        - '1'
  ConfigMatch:
    Properties:
      Ticket:
        Queue:
        - '[RegExp]^Störungsmeldungen(.*)$'
  CreateBy: jakob
  CreateTime: 2019-05-14 10:35:21
  Description: ''
  ID: 3
  Name: Startzeit einblenden
  StopAfterMatch: 1
  ValidID: 1

Marvin G. - FZJ

Teste das ganze mal ohne Filterbedingung. Also nur die Wertänderung beim Ausblenden.

NidintuBel

Habe die zweite ACL deaktiviert und wie zu erwarten werden die Felder jetzt angezeigt wenn ich auf neues Ticket klicke und verschwinden wenn ich eine Queue auswähle. Natürlich tauchen sie jetzt aber auch nicht mehr auf wenn ich die Queue Schadensmeldungen auswähle.

Marvin G. - FZJ

Ich glaube du hast mich nicht richtig verstanden.
Wenn ich das richtig sehe, hast du in der ersten ACL beim Ausblenden eine Filterbedingung: Wenn Queue gleich  '[RegExp]^(.*)$', dann blende das Feld aus.Mach dort mal die Filterbedingung weg. So dass nur die Wertänderung vorgenommen wird.

NidintuBel

Hab ich gerade versucht. Jetzt verschwinden die Felder überhaupt nicht mehr.

Marvin G. - FZJ

Ich habe ein dynamisches Feld, welches ich nur unter einer bestimmten Bedingung einblende. Um es auszublenden habe ich folgende ACL erstellt:
---
- ChangeBy: admin.greune
  ChangeTime: 2017-09-06 15:45:45
  Comment: ''
  ConfigChange:
    Possible:
      Form:
        process:
        - '0'
  ConfigMatch: ''
  CreateBy: admin.greune
  CreateTime: 2017-09-06 14:29:52
  Description: ''
  ID: '23'
  Name: 099 process empty list
  StopAfterMatch: 0
  ValidID: '1'

So funktioniert das bei mir Wunderbar.

NidintuBel

Ich habe meine ACL jetzt nochmal neu erstellt und deine Vorlage genutzt. Das Feld wird leider immer noch standardmäßig angezeigt beim Klick auf Neues Ticket. Ich habe jetzt die default queue rausgenommen bei der Ticketerstellung. Jetzt müssen die Agents immer eine Queue manuell auswählen. So kann ich zumindest verhindern das bei Tickets anderer Queues diese Felder ausgefüllt werden. Trotzdem komisch aber vielen Dank nochmal für deine Hilfe.

Marvin G. - FZJ

Es gibt/gab wohl auch einen Bug, dass gewisse ACL's erst greifen, wenn man im Ticket irgendwas macht und damit die Felder neu geladen werden. Ich finde das ganze im Bugtracker aber nicht. Ggf. klappt es bei dir auch deswegen nicht.

Tino Voigt

Hallo,

ich habe zwei Screenshots einer ACL angehangen, welche ein dynamisches Feld in jeder Maske ausblendet und nur wenn eine bestimmte Queue (hier die Queue Postmaster) gewählt wurde wieder einblendet.

Die Filterbedingung für das Ausblenden kann hier leer bleiben, da es in jeder Maske initial ausgeblendet werden soll.

Viele Grüße, Tino Voigt

NidintuBel

Hallo Tino,
sorry wenn ich die Frage nochmal rauskrame aber es funktioniert einfach bei mir nicht egal wie ich es versuche. Ich habe jetzt die Einstellung so gemacht wie bei dir zu sehen aber er blendet das Feld cmdbPrinter jetzt immer aus und blendet es bei der Queue Drucker nicht ein. Ich habe alle möglichen Schreibweisen mit regular Expression u.s.w. versucht. Mich hat etwas deine Reihenfolge in den Screenshots mit zuerst Einblenden dann Ausblenden irritiert. Aber auch in der Reihenfolge geht das bei mir nicht. So schwer kann das doch eigentlich nicht sein. Hier nochmal meine Screenshots.


Marvin G. - FZJ

Versuche das mal mit der QueueID statt dem Queuenamen. Die ID bekommst du raus indem du im Admininterface die Queue aufrufst. In der Adresszeile steht dann die ID.
Und anstatt "Queue" nimmst du dann natürlich "QueueID" als Bedingung.

NidintuBel

Hallo,
hab es jetzt mit der ID gemacht. Das dynamische Feld erscheint jetzt bei bereits erstellten Tickets in der Druckerqueue und wird in allen anderen Queues nicht angezeigt wenn ich auf Bearbeiten gehe. Allerdings erscheint das Feld weiterhin nicht wenn ich ein Ticket neu erstelle. Wenn ich dabei die Queue Drucker auswähle passiert nichts. Das Feld soll aber beim Erstellen eines Tickets erscheinen wenn die Agents die entsprechende Queue auswählen.
VG Jakob

Tino Voigt

Hallo NidintuBel,

so wie du es in deinen Screenshots oben gepostet hast, sollte es funktionieren. (Wenn die gewünschte Queue ,,Drucker" heist.)

Es existiert jedoch in der Version KIX 17.6.1 ein Bug, welcher bereits gemeldet wurde und im nächsten Release behoben sein wird.

Dieser verhindert das Wiedereinblenden dynamischer Felder anhand der Queue.

Viele Grüße, Tino Voigt