Editable table with user email filter -- How to also show view-only list of all records?

Thanks to any assistance / rationalizing on this!

Scenario: 1000 records, 50 users. Each user has 20 records assigned to them via email. Today I can either filter on that email condition (or I can create a slice with that filter, and have no other views to the records). This works perfectly - I can limit the user to only edit “their” record.

Question: How do I create an “All Records” view that allows a user to see all 1000 records, but not edit any outside of the 20 assigned?

Ideally, we would have chunks of users who are not “assigned” to an entry via email, but should have Read Only rights.

I feel like I’m missing a configuration, any guidance is appreciated.

-B

Define each column’s editable property to be if USERNAME()=[Assigned User]

1 Like

This sounds exactly it… when you say editable property, do you mean the “Formula” in a table’s column view?

In each columns settings:
image
or, at the table level:


(I’m just using the _RowNumber column as an example)

Click the chemistry looking icon to put a formula there to decide if and when it is editable. The formula must evaluate to TRUE (yes) or FALSE (no).

1 Like

Woooow…thank you. I’m embarrassed to admit how many times I scrolled right past that flask icon. I almost went back there thinking “there’s no way there’s an icon to the right” and yup, sure enough.

Thanks again, marking as the solution. This changes everything… I wasn’t missing a piece of the puzzle, it was half the box.

2 Likes

One more question regarding best practices if you don’t mind. Should I be setting this for all editable columns? Or can I set it FOR the whole table?

I’m thinking I can set it for the whole table’s formula in “Are updates allowed?” but not sure how to fix the syntax of the sample to say “If user matches email column, UPDATES ONLY, else read only”

SWITCH(USEREMAIL(),
user1@mydomain.com”, “UPDATES_ONLY”,
user2@mydomain.com”, “ALL_CHANGES”,
“READ_ONLY”)

Thanks!

EDIT: Going to try:

SWITCH(USEREMAIL(),
“=[Email]”, “UPDATES_ONLY”,
“READ_ONLY”)

That sets what each user is allowed to do at the TABLE level. So, for example, if you have a certain subset of data that no one is allowed to touch but YOU, then it would be beneficial to change it, but you can’t access column data from here.

Understood, thanks! I think in summary - if I have a whole table’s worth of editable columns, and I want to make sure the only people who can edit them matches the email listed in that record, I have to set the editable formula you originally posted for each individual column.

No big deal to do them separately, just wasn’t sure if there was a “For this whole table, only allow editing on fields with edit set to ON if the email column matches useremail()” formula field.