Hide a UI Action Button for tickets assigned to a specific group

Cupcake
Mega Guru

I want to remove the UI Action Button "Create Inc Task" from anyone IF (see the conditions below)

        a. The ticket is assigned to a specific assignment group

        b. And you are not a member of that group

find_real_file.png

What is the best way to accomplish this?

I know that you can do a hide/show via a UI Policy but I am not sure what to put in the script.

What is the risk (if any) of doing the UI Policy?

Is there a better way to accomplish this? If so, you could please provide a solution?

Thanks,

Karen

1 ACCEPTED SOLUTION

Yes, since this condition is a bit complex, the only way I can think of is creating a script include and calling the script include in UI Action condition. I am giving you a tried and tested script, let me know if it works:



UI Condition: new showCreateTask().canView(current,gs)




Script Include: Name: showCreateTask




var showCreateTask = Class.create();


showCreateTask.prototype = {


      initialize: function() {


      },


  canView : function(current,gs)


  {


  if(current.assignment_group == 'sys_id of your group' && gs.getUser().isMemberOf(current.assignment_group))


  return true;


  if(current.assignment_group != 'sys_id of your group')


  return true;


  else


  return false;


  },


      type: 'showCreateTask'


};


View solution in original post

10 REPLIES 10

anjalichoudhary
Kilo Guru

Hi Karen,



Can you please clear the conditions of the requirement. If I understood it correctly it is like "Hide the UI Action for particular group suppose ABC only if I am not the member of ABC group but if lets suppose xyz is member of ABC group then button should be visible to xyz".



Please let me know if my understanding is correct.



Regards,


Anjali


Good morning Anjali - So you are partially correct.



The scenario is the button should be visible if the ticket is assigned to group ABC and you are a member of group ABC


If the ticket is assigned to group ABC and you are NOT a member of group ABC then it should not be visible.



Hope that helps.



Thanks, for replying so quickly.



Karen


Sanjeev Kumar1
Kilo Sage

Hi,



In UI Action you need to use condition for that group.



for more detail see following.



http://wiki.servicenow.com/index.php?title=UI_Actions#Controlling_Visibility_with_Conditions  


Abhishek Raj3
Tera Guru

Hi Karen,



In ui action condition itself you can give these condition       !((gs.getUser().isMemberOf("your Group name"))  



It will work.



Thanks,


Abhishek