Hallo,
ich versuche in einem Catalog mit Links in einem CMS_INPUT_PERMISSION Feld die erlaubten Gruppen per Skript zu setzen. Dabei stoße ich jetzt auf ein paar unerwartete Probleme.
Der Code ist folgender:
Catalog.Card profileCard = catalog.stream().findFirst().get();
FormField linksField = profileCard.getItem().get(language, "st_links");
Catalog links = (Catalog) linksField.get();
Catalog.Card linkCard = links.create(profileFlyoutLink, null);
[...]
FormField permissionField = linkCard.getItem().get(language, "st_permissions");
Permissions permissions = (Permissions) permissionField.get();
Set<String> allowed = new TreeSet<>();
allowed.add("6cd3fbd4-63f5-4f63-839f-5ce1a4caffa9");
permissions.setInherited(false);
permissions.setAllowed("Visible to roles", allowedFirst);
permissionField.set(permissions);
links.add(linkCard);
linksField.set(links);
Der Catalog wird in die Formadata gesetzt, Seite wird gelockt, gespeichert, released.
Wenn ich mir die Permissions aus einem anderen Eintrag hole und setze, statt sie neu zu bauen, wird alles korrekt gesetzt. Wenn ich den obigen Code benutze, ist der Haken für die Rechte gesetzt, aber die Gruppe wird nicht gesetzt.
Was mache ich falsch?