Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void SetFolderPermissions(SPFolder folder,SPFieldUserValue target)
- {
- if (!folder.Item.HasUniqueRoleAssignments)
- {
- folder.Item.BreakRoleInheritance(false);
- folder.Item.Update();
- }
- //permiso de lectura al usuario
- SPRoleDefinition role = folder.ParentWeb.RoleDefinitions.GetByType(SPRoleType.Reader);
- SPRoleAssignment roleAssignment;
- SPUser oneUser = target.User;
- roleAssignment = new SPRoleAssignment(oneUser);
- roleAssignment.RoleDefinitionBindings.Add(role);
- folder.Item.RoleAssignments.Add(roleAssignment);
- //permiso de edición al grupo de control
- int principalID = Document.getControlGroup(folder.ParentWeb).LookupId;
- SPPrincipal principal = folder.ParentWeb.SiteGroups.Cast<SPPrincipal>().SingleOrDefault(g => g.ID == principalID);
- SPRoleAssignment groupRoleAssigment = new SPRoleAssignment(principal);
- SPRoleDefinition groupRoleDefinition = folder.ParentWeb.RoleDefinitions.GetByType(SPRoleType.Editor);
- groupRoleAssigment.RoleDefinitionBindings.Add(groupRoleDefinition);
- folder.Item.RoleAssignments.Add(groupRoleAssigment);
- //folder update
- folder.Update();
- //web update
- folder.ParentWeb.Update();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement