How do I prevent a user from being able to edit and delete records directly in an object, but not through a master-detail relationship that is related to the same object?
For example,
We have 3 objects, Teachers (contains the teachers details), Contacts (contains the contacts details)and Timesheet (contains the details of the lesson with a master detail relationship with Teachers and Contacts)
I only want the teachers to have the ability to read and create new contacts, but not edit and delete them in the typical sense, meaning I don’t want them to be able to explicitly go to the contact object and click into the fields and be able to edit them that way. However, I do want to be able to modify them via a master detail relationship the timesheet object.
If I remove the edit and delete permissions from Contacts, I am unable to create a new time sheet object because it gives the error:
“Insufficient Privileges You do not have the level of access necessary to perform the operation you requested. Please contact the owner of the record or your administrator if access is necessary. ”
How can I go about allowing the teachers to modify this timesheet object without setting the Standard Object Permissions for Contacts to allow editing and deleting.