Hide 'Close Incident' button based on 'State' == Resolved

Pierre5
Kilo Expert

Dear Community,

I was wondering if someone could help with the following…

We need to hide the ‘Close Incident’ button (affect all users) when the ticket is in a ‘State’ of Resolved. It currently serves no purpose at present, and that confuses some people. incident.[incident]

I’m a novice, so any instructions or advice would need to be perfectly clear. Baby steps would be nice. 🙂

find_real_file.png

 

Your help will be much appreciated.

Kind regards,

 

Pierre

1 ACCEPTED SOLUTION

You will have to put that in the condition as well. 

 

(current.incident_state != '1' && current.incident_state != '7' && current.incident_state != '6') && (gs.hasRole("itil") || gs.hasRole("itil_admin") || current.caller_id == gs.getUserID() || gs.hasRole("admin"))

 

Hope you got the resolution with my help.

Can you mark correct answer to close this thread?

 

Regards,

Omkar Mone

View solution in original post

24 REPLIES 24

Hi 

Can you show the latest condition part?

(current.incident_state != '1' && current.incident_state != '7' && current.incident_state != '6') && (gs.hasRole("itil") || gs.hasRole("itil_admin") || current.caller_id == gs.getUserID())

 

Also there's this in the Script..

function resolveIncident(){
//Set the 'Incident state' and 'State' values to 'Resolved', and display mandatory fields
g_form.setValue('incident_state', 6);
g_form.setValue('state', 6);
g_form.setValue('resolved_by', g_user.userID);

gsftSubmit(null, g_form.getFormElement(), 'resolve_incident'); //MUST call the 'Action name' set in this UI Action
}

//Code that runs without 'onclick'
//Ensure call to server-side function with no browser errors
if (typeof window == 'undefined')
serverResolve();

function serverResolve(){
current.incident_state = IncidentState.RESOLVED;
current.state = IncidentState.RESOLVED;
current.update();
current.resolved_by = gs.getUserID();
}

I tried this also, as it was another suggestion, but it exceeds the data length of the field:

 

(current.incident_state != IncidentState.NEW && current.incident_state != IncidentState.CLOSED &&
current.incident_state != IncidentState.RESOLVED && current.state != '6') && (gs.hasRole("itil") || gs.hasRole("itil_admin") || current.caller_id == gs.getUserID())

Too long and cannot update the ui action.

Hi Pierre,

 

Just try to impersonate someone who doesnt have itil and itil_admin role and give it a try.

 

Yes, that did it.

find_real_file.png