Hi community,
I have a question in regarding user permissions and I am trying to find the best way to implement the following requirements.
1. I have a Canvas App for the End-Users
2. Data will be stored in Dataverse (multiple tables with relationships)
3. The following personas are involved
A. End-User (all employees)
B. Requester (actually the End-User but somebody could create a record on behalf of somebody else)
C. BU related HR departments (Each BU has its own HR Department). So there are multiple HR departments
D. Sales Department
E. Reviewer
F. Admin
Requirements:
1. End-Users (all employees) should be able to create/edit a record which they have created
2. The record contains a Lookup field to EntryID. The End-User is able to select any users from EntryID. The selected user should also get read/write permissions on that record (Requester)
3. If the Status-Reason change to "In Progress" the End-User and the user selected in Step 2 (Requester) should only have read-permissions
4. Based on the certain validation checks a specific HR department should get Read-Access
5. Based on the certain validation checks the sales department should get read access
6. The End-User is able to select a Reviewer (actually the same logic as for the requester). The reviewer should get read-access to the record
What would be the recommended way of setting this up?