If Box Checked, Record Visible Only to Owner

  • 0
  • 1
  • Question
  • Updated 3 years ago
  • Answered

I want a checkbox field that, if checked, makes the record invisible to all users but record owner (and its related children in another table).

I have a 'BC' (Behavioral Changes) table and each record is a desired behavioral change for other Associates in our company. Child table is 'Reinforcements'.

I want app users to be able to check 'Private?' field to the BCs and children 'Reinforcements' records are visible only to them.

How can I set this up?

Thanks!

Photo of Amber

Amber

  • 588 Points 500 badge 2x thumb

Posted 3 years ago

  • 0
  • 1
Hi Amber,

I would create a formula checkbox field labeled 'Viewable'. 

The formula for that box would be:

if([Private]=false,true,

if(user()=[Record Owner],true,false)

)

Then, in your relationship, create a lookup field on the child table for that field. You will now have a field labeled 'Viewable' on the parent table and a field on the child table labeled something like: 'BC - Viewable'.


The final step is to go into your roles on the permissions tab. Under the view column for the BC table, choose 'Custom Rule'. The rule should be: 'Viewable' is equal to checked. Do the same thing for the child table. 

That role should now only be able to view records on the BC table where 'Private' has not been checked, or if it has been checked, they must be the record owner. The same would be true for the child table. If the parent record was marked 'Private' and the user was not the record owner, any record on the child table related to that BC record would not be visible for users in that role.

Note: if the record owner part of this becomes problematic down the road, such that people need to see private records they did not create, you can either change the owner of the record by clicking 'Change' where the record owner is displayed on a record (in edit mode) or use a different user field all together. 

Let me know if you have any troubles with this. I hope my instructions were helpful.

Thanks,

Eric / CirrusOps