- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-16-2022 02:51 PM
Hello,
The Dictionary Entry Override on assignment_group was done by a consultant.
If Database team login, they can only see and assign incidents to Database Team and IT Service Desk Team.
We would like to add an "Or" condition in the code where if Server Team login, they can only see and assign incidents to Server Team and IT Service Desk Team. Could someone please help?
Thank you
Solved! Go to Solution.
- Labels:
-
Scripting and Coding
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-17-2022 11:22 AM
I recommend starting from scratch if you want create a new Script Include, just by entering the desired name into the appropriate field (Name😞
var incidentGetAssignmentGroup = Class.create();
incidentGetAssignmentGroup.prototype = {
initialize: function() {
},
type: 'incidentGetAssignmentGroup'
};
as you can see the system created for you the scaffolding; now you can add the desired method to it:
var incidentGetAssignmentGroup = Class.create();
incidentGetAssignmentGroup.prototype = {
initialize: function() {
},
getAssignmentGroupRefQual: function() {
switch (true) {
case gs.getUser().isMemberOf('Database Team'):
return 'nameINIT Service Desk Team,Database Team';
case gs.getUser().isMemberOf('Server Team'):
return 'nameINIT Service Desk Team,Server Team';
default:
return '';
}
},
type: 'incidentGetAssignmentGroup'
};
If you compare what you tried, to this "from scratch" Script Include, you will notice that the major difference is between line:
incidentGetAssignmentGroup.prototype = Object.extendsObject(incidentGetAssignmentGroupSNC, {
and line
incidentGetAssignmentGroup.prototype = {
The 1st line instructs the system to create Script Include incidentGetAssignmentGroup
by "extending" the one named incidentGetAssignmentGroupSNC
.
The 2nd line instructs the system to create Script Include incidentGetAssignmentGroup
from scratch.
And here's the problem: the "base" Script Include incidentGetAssignmentGroupSNC
does not exist. Because of this this whole code would fail.
In the original solution where the same line was:
Incident.prototype = Object.extendsObject(IncidentSNC, {
(that means create Script Include Incident
by extending Script Include IncidentSNC
), it worked because "base" Script Include IncidentSNC
does exist (Out Of the Box).
Of course, after you create the Script Include from scratch, as described above, you will need to use it in the reference qualifier override as follows:
javascript: new global.incidentGetAssignmentGroup().getAssignmentGroupRefQual();
Let me know if you need more information.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-16-2022 03:53 PM
You are correct Muhammad. Your code works. However, since the Reference Qualifier field is limited in characters. This means that if we are going to have more conditions add to it, this method will not going to work. Any other suggestions?
Thank you so much
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-16-2022 04:07 PM
Well, then you should go for script include option which will return filter as per the logged in user or any other defined condition.
You will just need to call that script include in the reference qualifier.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-16-2022 04:13 PM
Muhammad,
I'm totally lost. What code should I enter in the script include and how do I call it from the reference qualifier?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-16-2022 05:18 PM
Janos has already defined the script include option to fulfill your requirement.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
08-16-2022 07:02 PM