Solved

How to allow specific role to edit a field when creating record but not edit that field later?

  • 12 September 2021
  • 2 replies
  • 12 views

Is it possible to allow some users to create a custom module record and change a field while creating the record but not edit the field value later when editing the custom module record? (even if they own it).  

Here is an example:

We have a custom module record “Training” with a field cf_contact.  When a sales owner creates the record, they should be able to set cf_contact.   But if they sales owner then edits the record, they can no longer change cf_contact.

I see under Admin Settings > Roles > Manage Roles > Sales user > Permissions that I can allow sales user to create but not edit the record.  But this applies to all fields in the record.  Can I make it so that the Sales user can edit other fields but not the cf_contact?

It seems from the “Field Permissions” that if I make the field read-only the Sales user can’t  set the field when creating the record.

 

And there does not seem to be other options.

icon

Best answer by Aishwarya Parthasarathi 13 September 2021, 07:00

View original

2 replies

Hello Steve, 

Greetings from the Freshworks Community. 

I understand your concern, however, there is no option as of now to edit a field at the time of creation but not afterwards. If the field permission is set as “Read-only”, it will not let the user edit even while creating the record. 

It would be helpful if you can share more details on why you would be requiring this option to check with the development team for further enhancements based on the feasibility. 

I hope this helps. Do reach out to us at support@freshsales.io in case of further queries, our team will be glad to help you out. 

Hello Steve, 

Greetings from the Freshworks Community. 

I understand your concern, however, there is no option as of now to edit a field at the time of creation but not afterwards. If the field permission is set as “Read-only”, it will not let the user edit even while creating the record. 

It would be helpful if you can share more details on why you would be requiring this option to check with the development team for further enhancements based on the feasibility. 

I hope this helps. Do reach out to us at support@freshsales.io in case of further queries, our team will be glad to help you out. 

 

Thanks for the quick response.  I suspected as much so I have started to explore using a custom app to create and update the records - thus I can expose only the fields I want to have exposed. 

Here is a bit more detail on my need in case its helpful to the engineering team:

  • I created a Training module which is used to track customers who obtain training
  • The sales owner creates a training record and can set the start and end dates as well as the contact.
  • Once done a journey will register user, send emails at start and end dates and take some other actions
  • To avoid invalid states, I need to limit updates sales owner can make to following:
    • Only update start date if current date < start date
    • Only update end date if current date < end date
    • Only allow training status to be changed from “Needs Attention” to “Extended” and only if end date changed to future date
    • Do not update contact or training track ever

I think a custom app will be ideal for this sort of custom logic.  I will maintain the data in the Custom Module but only allow updates to the data from a custom app.  Sales owners will only be able to view Training module records (not edit or create).

Reply