Steps to Reproduce
- Log in as an ESS user.
- Go to the ESS portal.
- Go to the Issue Status link.
- Click any of the Incidents in the list.
- Click Resolve Incident.
The message "Comments are required when resolving an Incident" is displayed.
- Enter text in Additional Comments.
- Right-click and Save.
Note that the State is set to New.
An ACL on the incident.state field is causing the value to not be saved. Only users with the ITIL, ITIL_ADMIN, and TASK_EDITOR roles can update the field. When using the Resolve UI Action, this UI Action is changing and saving the value on the server side, skipping the ACL.
To allow users to save the State field (changed by the UI action) using the contextual menu, but keep the field read-only, it is necessary to create a new write ACL with the following script:var transaction = GlideTransaction.get();answer = (transaction.getRequestParameter("incident.state") == "6" && transaction.getRequestParameter("sys_original.incident.state") != "6") || gs.hasRole('itil') || gs.hasRole('task_editor');
The script enables anyone to write to the field only if the State is changed to Resolved. ITIL and task_editor can change the field from the select box.
Related Problem: PRB686793