Advertisement
Guest User

Untitled

a guest
Jun 27th, 2017
52
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.45 KB | None | 0 0
  1. public static void SetFolderPermissions(SPFolder folder,SPFieldUserValue target)
  2. {
  3.  
  4. if (!folder.Item.HasUniqueRoleAssignments)
  5. {
  6. folder.Item.BreakRoleInheritance(false);
  7. folder.Item.Update();
  8. }
  9.  
  10. //permiso de lectura al usuario
  11. SPRoleDefinition role = folder.ParentWeb.RoleDefinitions.GetByType(SPRoleType.Reader);
  12. SPRoleAssignment roleAssignment;
  13. SPUser oneUser = target.User;
  14. roleAssignment = new SPRoleAssignment(oneUser);
  15. roleAssignment.RoleDefinitionBindings.Add(role);
  16. folder.Item.RoleAssignments.Add(roleAssignment);
  17.  
  18. //permiso de edición al grupo de control
  19. int principalID = Document.getControlGroup(folder.ParentWeb).LookupId;
  20. SPPrincipal principal = folder.ParentWeb.SiteGroups.Cast<SPPrincipal>().SingleOrDefault(g => g.ID == principalID);
  21.  
  22. SPRoleAssignment groupRoleAssigment = new SPRoleAssignment(principal);
  23. SPRoleDefinition groupRoleDefinition = folder.ParentWeb.RoleDefinitions.GetByType(SPRoleType.Editor);
  24. groupRoleAssigment.RoleDefinitionBindings.Add(groupRoleDefinition);
  25. folder.Item.RoleAssignments.Add(groupRoleAssigment);
  26.  
  27. //folder update
  28. folder.Update();
  29.  
  30. //web update
  31. folder.ParentWeb.Update();
  32.  
  33.  
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement