Ansichtsauswahl

  • Hallo,
    ich muß eine Ansicht so anpassen das bestimmte Mitarbeiter nur bestimmte Dokumente in dieser Ansicht sehen.


    Ausgangspunkt:


    In den Dokumenten gibt es das Optionsfeld "Bearbeiter" in dem die Abteilung ausgewählt ist.


    Abt_A
    Abt_B
    Abt_C
    Abt_D



    Dann gibt es in der ACL UserRoles


    Role_A
    Role_B
    Role_C
    Role_D


    Nun soll ein User nur Dokumente in der Ansicht sehen die seiner UserRole zugewiesen sind.


    Beispiel:


    User hat Role_A in der ACL und darf nur Dokumente sehen bei denen das Feld Bearbeiter den Wert Abt_A hat.


    Habe schon selber lange rumprobiert mit @ismember("[Role_A]";@userrole) und @contains(Bearbeiter,"Abt_A"). Aber kriegs nicht in einen funktionierenden Syntax.
    Geschweige denn in eine select Abfrage.


    Wäre echt froh wenn mir jemand helfen kann.

  • Im Grunde brauchst du nur eine Ansicht und ein Leserfeld pro Dokument, in das du die jeweilige Rolle schreibst. Schon sieht jede/r nur, was er/sie sehen darf.

    Life is not a journey to the grave with the intention of arriving safely in a pretty and well-preserved body, but rather to skid in broadside, thoroughly used up, totally worn out, and loudly proclaiming "Wow, what a ride!!! :evil:
    Beschleunigung ist, wenn die Tränen der Ergriffenheit waagrecht zum Ohr hin abfliessen - Walter Röhrl

  • Wäre auf jedenfall eine einfache und gute Lösung.


    Doch leider sind in der Maske schon mehrere Leserfelder drin.
    Mit Mehrfachwerten die teilweise auf Felder verweisen die wiederrum berechnet sind.


    Also ganz schön verzwickt.


    Deshalb wäre mir die Lösung mit einer select Formel lieber.


    Die DB ist leider nicht von mir. Und der sie programmiert hat ist nicht greifbar.

  • Eine userbezogene Select Formel funktioniert ausschliesslich bei privaten Ansichten.


    Eine Alternative wäre noch eine eingebettete Ansicht mit ner einzelnen Kategorie, sofern du den User bzw die Rolle auf einen einzelnen Wert reduzieren kannst.


    Also z.B. du kategorisierst das ganze nach Abteilungen und berechnest als Kategorie die Abteilung, dann kann aber jeder User nur die Dokumente einer einzigen Abteilung sehen