Field level ACL - One field Write

ladrian1610
Tera Contributor

Hello, 

How to make a user be able to write only one specific field on a form? I want that users in say 'Management' group are able to edit solely 'approval_status' field on a form, other fields they shouldn't be able to edit. 

I understand that Field level ACL restricts this field to be created/edited/read/deleted by the role specified in the Conditions. So to achieve my goal I could create ACL for Write all the fields apart from 'approval_status' and in Conditions provide, say Admin. This, of course doesn't seem like a best practice.

1 ACCEPTED SOLUTION

ladrian1610
Tera Contributor

I got the solution. 
ACL setup:
[Write] my_table Condition/Role: 'x_role.approval_manager' 
[Write] my_table.approval_status Condition/Role: 'x_role.approval_manager' 
[Write] my_table.* Condition/Role: Admin

View solution in original post

7 REPLIES 7

J Siva
Tera Sage

Hi @ladrian1610 

You can create field level ACL write ACL on that particular field (table.approval_status) with the role as snc_internal or ITIL and in the script just use the below 

answer= gs.getUser().isMemberOf("GROUP_NAME");

Regards ,

Siva

Thank you friend!

@ladrian1610 Glad it helped 

Hey there again, upon checking your proposition I realised that the outcome is the user that belongs to the group mentioned in the script can write all the fields but not the approval_status.

Solution that works:

ACLOperationTypeCondition/role
table WriteTablemanagement
table.approval_statusWriteField (approval_status)management
table.*WriteAll other fieldsadmin


Thus the group with management role can only write the approval_status.