I'm working with a project for different group of people to view the records by privilege.
Here are the details:
UserLogin; #Note: using the OD name
|ManagerB/Staff02||Brenda order; Eva follow|
|Staff04/Staff02||Esther request; Eva reply|
|Staff03/Staff01||Oscar do one; Oliver do the other|
|ManagerA||Aaron do all|
|Staff03||Oscar do his own|
|Staff04||Esther do her own|
Full Access; #Only the Admin can access all records
Manager; #The managers can access their own group. ie. all the records with "Viewable User" of "DataFile" belongs to the "Group"
Own; #The user can access their own records when field "UserID" exists in the field "Viewable User"
I put Brenda and Aaron into the privilege set "Manager" and the others into "Own"
I would like to do the followings:
- When the member of "Manager" login, he/she can view all the records of "DataFile" belongs to their own group only;
- When the member of "Own" login, he/she can view only the records of "DataFile" which the "Viewable User" contains his/her UserID;
- Avoid the "<no access>" records being displayed by using faster method to show the records (around 200,000), instead using the perform find(field,"*") which I tried.
Does anyone can help me to solve this problem?
Thanks in advance!