Api error field is not editable?

Hi! just wanted to throw this out there if anyone have seen this error.

We have a custom tool that will create version and publish files in shotgun, and it works for admin and dev admin level group, but for other level (i.e. production manager, user) it’s not working. It error out with this:

self._sg.update(“Version”, self._sg_version[“id”], version_data)
File “/Users/nmintrasak/Library/Caches/Shotgun/bundle_cache/sg/mcu/v819243/bundle_cache/git/tk-framework-studio.git/v4.0.1/python/vendors/py2/osx/lib/python2.7/site-packages/pi_shotgun_api/shotgun.py”, line 1435, in update
record = self._call_rpc(“update”, params)
File “/Users/nmintrasak/Library/Caches/Shotgun/bundle_cache/sg/mcu/v819243/bundle_cache/git/tk-framework-studio.git/v4.0.1/python/vendors/py2/osx/lib/python2.7/site-packages/pi_shotgun_api/shotgun.py”, line 3314, in _call_rpc
self._response_errors(response)
File “/Users/nmintrasak/Library/Caches/Shotgun/bundle_cache/sg/mcu/v819243/bundle_cache/git/tk-framework-studio.git/v4.0.1/python/vendors/py2/osx/lib/python2.7/site-packages/pi_shotgun_api/shotgun.py”, line 3619, in _response_errors
raise Fault(sg_response.get(“message”, “Unknown Error”))
Fault: API update() CRUD ERROR #4: The field is not editable for this user: [Version.user]. Rule: Production Manager – PermissionRule 251: DENY update_field FOR entity_type => , field_name => user, field_value =>
2020-08-20 10:05:55,835 ERROR AGS_XyzTestLoc_Planview_RM_v002 API update() CRUD ERROR #4: The field is not editable for this user: [Version.user]. Rule: Production Manager – PermissionRule 251: DENY update_field FOR entity_type => , field_name => user, field_value =>

Any thoughts?

Thank you!

1 Like

Issue resolved.

We changed the permission for Artist for Production Manager to allow ‘edit’.
Missed the part that Version.user is actually 'Artist" in the permissions - people.

Thanks!

4 Likes

Nice one @nmintrasak;

3 Likes

To resolve this issue:

Login as Administrator, go to salesforce setup and find the child object and the Master-Detail field that matches the field name.
Edit that Master-Detail field, change it to allow Reparenting.
Tell your field officers to sync again.
Note that your salesforce users will have to be careful NOT to accidentally change the parent record without good reason. The way to control this is by creating different page layouts for different user profiles and then making the field read-only. Please see Salesforce documentation for help with this step.

Regards,
Rachel Gomez