I would like to give a scenario for permissions which is not happening currently.
Suppose we have certain Sales People who are assigned customers. So if I want that sales person is only to see customer ABC and XYZ then I can add a custom field in the customer which can be linked to the sales person’s user id.
Now this works fine with the masters but when I want the same sales person to see the transaction of these customers then I would have to add these customers ABC and XYZ to sales person’s user id but then this process is very cumbersome if the number of customers go to something like 50 or 100.
So my suggestion is that if we give a user the rights for transaction like Sales Order and then if the Sales person does not have the right to see customer “Webnotes” then why should that user have the right to see the Webnotes’ Sales Orders.
I think this type of scenario is currently available in the reports module but it is not fully implemented in the Transactions front.
@anand I think you are the expert here and let me know if I need to fully explain the problem.
Can you group the customers via Customer Group or Territory so that you can assign the permissions on the groups?
I think even if I assign permissions to customer based on the customer group, I cannot see the system able to give access to Sales orders/DN/SI for those customers only.
If for example I have given rights to view 10 customers to a user then if I want that user to see only SO or DN of those customers then I have to add those 10 customers manually to the user’s properties which is the problem. I hope you are understanding what I mean.
So if I put Territory of Delhi in a user, and lets for a minute assume that there is NO territory field in SO. Then the user would be able to see all Sales orders but not only the SOs of those customers mentioned in the territory.
I hope I am making some sense.
Ping @anand can you please let us know if this kind of behavior is possible in the near future.
Could be implemented but there is a performance cost. Maybe some caching can solve it. Will have to try it out.
Can you raise a github issue about this? It will make it easier to track.