AndreasOesterle
I'm new here

Datenquellen Filter auf CMS_INPUT_COMBOBOX

Jump to solution

Hallo zusammen,

ich habe eine Combobox in FS5.03 definiert, bei denen die Daten aus einer Datenquelle geholt werden sollen. Die Definition lautet:

  <CMS_INPUT_COMBOBOX name="fs_portal_specificgroup" allowEmpty="yes" useLanguages="no">

    <CMS_INCLUDE_OPTIONS type="database">

      <LABELS>

        <LABEL lang="*">#item.name</LABEL>

      </LABELS>

      <QUERY name="ogpprocess_group_filter"/>

      <TABLE>ogp.process_groups</TABLE>

    </CMS_INCLUDE_OPTIONS>

    <LANGINFOS>

      <LANGINFO lang="*" label="Specific process group" description="Please enter a specific Processgroup from the database"/>

      <LANGINFO lang="DE" label="Bestimmte Prozessgruppe" description="Bitte wählen Sie eine spezifische Prozessgruppe aus der Datenbank"/>

    </LANGINFOS>

  </CMS_INPUT_COMBOBOX>

Meine Tabellenvorlage og.process_groups hat zwei Datenquellen. Beide sind mit einem Filter versehen und mit entsprechenden Berechtigungen. So wird gewährleistet, dass Benutzer A nur die Einträge der Firma F sieht und Benutzer B nur die Einträge der Firma G sieht.

Wenn ich meine Combobox wie oben beschrieben definiere, erscheinen aber als Values sowohl die Einträge der Firma F und der Firma G.

Wenn ich eine Liste vom Typ FS_LIST definiere auf dasselbe Schema, dann wird dem Benutzer zur Auswahl des Datensatzes nur die Datenquelle angezeigt auf die er auch Berechtigungen hat. Leider kann ich für mein Anwendungsfall keine FS_LIST verwenden, da nur CMS_INPUT_COMBOX funktioniert um den selektierten Wert als genericAttribute in die navigation.xml zu schreiben.

Ich habe gesehen es gibt auf Comboboxen auch noch die Möglichkeit über <QUERY name="ogpprocess_group_filter"/> einen Filter anzugeben. Fima F und G verwenden denselben Filter, jedoch mit einem anderen Filtervalue. Die Logik wann Filtervalue F und wann value G gesetzt wird, lässt sich zwar aus FirstSpirit berechnen, dies ist aber etwas komplexer.

Hat jemand eine Idee?

0 Kudos
1 Solution

Accepted Solutions
Anonymous
Not applicable

Hallo Andreas,

es ist nicht verwunderlich, dass die Combobox alle Einträge anzeigt. Sie verweist auch explizit auf die Tabelle, nicht auf die Repräsentation der Tabelle mit speziellem Filter (Datenquelle).

Meine erste Idee wäre es zwei Templates mit einer Combobox anzulegen, diese Combobox benötigt dann einen Filter mit fest vorgegebenem Parameter. Diese Vorlagen können nun als Absätze zu Seiten hinzugefügt werden, die für die jeweilige Benutzergruppe sichtbar ist.

Das Ganze ist allerdings "fest verdrahtet", also nicht dynamisch und mit Arbeit verbunden, sollte eine dritte Benutzergruppe C hinzukommen.

Einfacher wäre es den jeweiligen Parameter per

<QUERY name="ogpprocess_group_filter">

  <PARAM name="usergroup">0815</PARAM>

</QUERY>

zu übergeben, was die zusätzlichen Filter ersparen würde.

Viele Grüße,

Nils

View solution in original post

0 Kudos
3 Replies
Anonymous
Not applicable

Hallo Andreas,

es ist nicht verwunderlich, dass die Combobox alle Einträge anzeigt. Sie verweist auch explizit auf die Tabelle, nicht auf die Repräsentation der Tabelle mit speziellem Filter (Datenquelle).

Meine erste Idee wäre es zwei Templates mit einer Combobox anzulegen, diese Combobox benötigt dann einen Filter mit fest vorgegebenem Parameter. Diese Vorlagen können nun als Absätze zu Seiten hinzugefügt werden, die für die jeweilige Benutzergruppe sichtbar ist.

Das Ganze ist allerdings "fest verdrahtet", also nicht dynamisch und mit Arbeit verbunden, sollte eine dritte Benutzergruppe C hinzukommen.

Einfacher wäre es den jeweiligen Parameter per

<QUERY name="ogpprocess_group_filter">

  <PARAM name="usergroup">0815</PARAM>

</QUERY>

zu übergeben, was die zusätzlichen Filter ersparen würde.

Viele Grüße,

Nils

0 Kudos

Besten Dank. So habe ich es jetzt umgesetzt. Ich habe 2 Absatzvorlagen für die Firma F und G erstellt. Die Absatzvorlagen habe ich gleich berechtigt wie die Datenquellen. So kann User A von der Firma F nur seine Absatzvorlage mit seinem Filterwert instantiieren.

Arbeit ist es natürlich. Sobald Firma H kommt muss eine neue Absatzvorlage erstellt werden, was eher suboptimal ist.

0 Kudos
Anonymous
Not applicable

Gern geschehen.

Leider ist mir momentan keine Möglichkeit bekannt das Formular einer Vorlage mit einem bestimmten Wert je nach der Gruppenzugehörigkeit eines Benutzers zu bestücken.

0 Kudos