Frappe Roles and Permission Restrict crud operation base on column

Hi everyone, I’m wondering if it’s possible to restrict user permissions—such as read, write, view, or delete—based on specific columns in Frappe. For instance, I have an ‘Order’ table that includes roles like Cooker, Packer, and Rider (for order pickup). I’d like to control the visibility so that only users with the corresponding role can see orders assigned to them. For example, Cookers should only view orders where they are assigned, and the same goes for Packers and Riders. Is this achievable with the current roles and permissions system in Frappe? If not, do you have any suggestions for a better approach? As an alternative, I’m considering creating separate tables for each stage. What are your thoughts?


this is what I’m looking for, but after an hour exploring the roles and permission of the frappe, i think i should separate each stage by doctype instead of using one doctype.

In ERPNext, You can use the Field Level Permission Management, so explore it.

I’ve been already check about this field level permission,


I think this should be added to the current roles and permission, aside from the creator of the doc, we should also consider if there is a field that is foreign key to an instance of user. What do you think?

But you can easily set based on role.


Yes by using user permission, but how about we have thousand of employee, so we need to add this one by one?

I’ve also notice that if in one Doc you have to 2 link like this
image
It will validate this 2, where in it should be atlease one.
image

Also using Table multiselect does not support user permission.

I think if we can implement this
image
We can solve that problem, I’ve seen also open issue in github with the issue.

I’m planning to to create pr for that.
Heres my plan, In Custom DocPerm we only need to add a JSON field that will hold all toggle link that is instance of the user.

My only challenge is with the Frappe UI since this isn’t a fixed field, and I’m not very experienced with jQuery. :joy: In the UI, this should be a checkbox, but on the backend, it will be saved in JSON.

Hi bro, Is possible to change the Text Label when selecting in Table multiselect that is link to a child table? what i mean is instead of not readable id, i will use other field for Label.
image

Reference: Document Title