You need to sign in to do that
Don't have an account?
Nehashri
Share children records with user who have access to Parent record apex sharing (lookup)
Hi all,
Here is my scenario. I need to give access to the users to children records B if they have access to the parent record A. A and B are in lookup relation. and the owner of A is not this user. Its an admin user. Does anyone have any code sample or starting point I can refer to(other than documentation)? I know it will be a trigger but the problem is the child record won't even exist when they have access to the parent record. The child records are created later,So I can give access to child record on creation of child records but I am trying to figure out what happens when the user looses access to parent record, they shouldnt see child records either.
Any help is highly appreciated.
Thank you
Here is my scenario. I need to give access to the users to children records B if they have access to the parent record A. A and B are in lookup relation. and the owner of A is not this user. Its an admin user. Does anyone have any code sample or starting point I can refer to(other than documentation)? I know it will be a trigger but the problem is the child record won't even exist when they have access to the parent record. The child records are created later,So I can give access to child record on creation of child records but I am trying to figure out what happens when the user looses access to parent record, they shouldnt see child records either.
Any help is highly appreciated.
Thank you
You can assign parent owner ship to child record also . when it change it automatically change accessiblility in child record also
a solution it's to create a trigger after insert on the child and copy/past parents objet share to child objet share with a criteria :
list<ParentObjetShare> listParentShare = [select id, UserOrGroupId, ParentId
From ParentObjetShare where XXXXXX];
list<ChildObjetShare> listChildShare = new ChildObjetShare();
For (ParentObjetShare PS: listParentShare){
If (YYYY == ZZZZ) {
ChildShare CS;
CS.ParentId = PS.ParentID;
CS.UserOrGroupId = PS.UserOrGroupId;
CS.RowCause = PS.RowCause;
CS.AccessLevel = PS.AccessLevel ;
listChildShare .add(CS);
}
}
Insert listChildShare;