Find your people. Pick a challenge. Ship something real. The CreatorCon Hackathon is coming to the Community Pavilion for one epic night. Every skill level, every role welcome. Join us on May 5th and learn more here.

Field level ACL - One field Write

ladrian1610
Tera Expert

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 Expert

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
Kilo Patron

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.