SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

Element von einer Liste in die andere kopieren, Berechtigungen mitnehmen.

bewertet von 0 Usern
Nicht beantwortet Dieser Beitrag hat 0 Geprüfte Antworten | 5 Antworten | 2 Followers

Top-25-Beitragsschreiber
348 Beiträge
Manfred K. erstellt in 20 Jul 2017 10:15

Hallo zusammen,

geht es wenn ich ein Element von einer Liste in die andere kopiere dass da die Berechtigungen mitgehen.

z.B. Element Liste A Berechtigung Gruppe1 schreiben = Element Liste B Berechtigung Gruppe1 schreiben.

Ein Workflow vlt.?

 

Danke im Voraus.

 

Alle Antworten

Top-10-Beitragsschreiber
Männlich
18.365 Beiträge

Nein, da gibt es nichts eingebautes. Ein Workflow kann das auch nicht. Man müßte per Programmcode alle Berechtigungen des neuen Elements entfernen und dann einzeln wieder vom alten Element übernehmen.

Viele Grüße
Andi
af @ evocom de
Blog
Top-25-Beitragsschreiber
348 Beiträge

Danke Andi.

Nun versuche ich mit c# das Element von einer List in die andere zu kopieren.

Das Element wird kopiert aber die Berechtigungen nicht.

 

die Spalten kopiere ich ganz geönlich:

 destItem["Titel"] = sourceItem["Titel"];

 

 

//Permissions mitkopieren

wenn ich dann die Berechtigungen mitkopieren/brechen möchte mit:

                if (!destItem.HasUniqueRoleAssignments)
                {

                        destItem.BreakRoleInheritance(true);
                        foreach (SPRoleAssignment Itemrole in sourceItem.RoleAssignments)
                        {
                            destItem.RoleAssignments.Add(Itemrole);
                        }

                }

Kommt eine Exception: der vorgang ist aufgrund des aktuellen zustands des objekts ungültig

Was meint man hier genau?

Danke schonmal.

Top-25-Beitragsschreiber
Männlich
556 Beiträge

Der Fehler kommt vermutlich daher, weil dein SPRoleAssignment-Objekt in seinem Parent das sourceItem stehen hat. Und das funktioniert dann nicht.

Beste Grüße

OIaf

 

Top-25-Beitragsschreiber
348 Beiträge

ich scheitere aber schon hier:

destItem.BreakRoleInheritance(true);

Top-25-Beitragsschreiber
348 Beiträge

OK... hat sich erledigt.

 

Habe vorm Item.Update(); die Berechtigungen gesetzt.

Ist ja noch keine Item da gewesen.

Danke.

Seite 1 von 1 (6 Elemente) | RSS