- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-01-2022 12:00 AM
how to make answer = true for two conditions at a time?
In the below ACL script I am using answer = true in two different conditions.. instead I want to use it only once as answer = true and achieve the requirement.. is it possible?
if not possible.. please confirm whether below approach is correct or not?
var getId = gs.getuserName();
if (current.assigned_to.user_name == getId || gs.getUser().hasRole('all_access'))
{
answer = true;
}
var gr = new GlideRecord('ticket_task');
usr2.addEncodedQuery('mailto='+gs.getUser().getEmail()+'^ticket.number='+current.number);
usr2.query();
answer=usr2.next();
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-01-2022 12:04 AM
Hi,
do you want AND or OR between those 2 conditions?
If AND then use this
var getId = gs.getuserName();
var gr = new GlideRecord('ticket_task');
usr2.addEncodedQuery('mailto='+gs.getUser().getEmail()+'^ticket.number='+current.number);
usr2.query();
if((current.assigned_to.user_name == getId || gs.getUser().hasRole('all_access')) && usr2.hasNext())
{
answer = true;
}
else{
answer = false;
}
IF OR then use this
var getId = gs.getuserName();
var gr = new GlideRecord('ticket_task');
usr2.addEncodedQuery('mailto='+gs.getUser().getEmail()+'^ticket.number='+current.number);
usr2.query();
if(current.assigned_to.user_name == getId || gs.getUser().hasRole('all_access') || usr2.hasNext())
{
answer = true;
}
else{
answer = false;
}
this line is changed when you compare the above 2 scripts
if(current.assigned_to.user_name == getId || gs.getUser().hasRole('all_access') || usr2.hasNext())
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-01-2022 12:04 AM
Hi,
do you want AND or OR between those 2 conditions?
If AND then use this
var getId = gs.getuserName();
var gr = new GlideRecord('ticket_task');
usr2.addEncodedQuery('mailto='+gs.getUser().getEmail()+'^ticket.number='+current.number);
usr2.query();
if((current.assigned_to.user_name == getId || gs.getUser().hasRole('all_access')) && usr2.hasNext())
{
answer = true;
}
else{
answer = false;
}
IF OR then use this
var getId = gs.getuserName();
var gr = new GlideRecord('ticket_task');
usr2.addEncodedQuery('mailto='+gs.getUser().getEmail()+'^ticket.number='+current.number);
usr2.query();
if(current.assigned_to.user_name == getId || gs.getUser().hasRole('all_access') || usr2.hasNext())
{
answer = true;
}
else{
answer = false;
}
this line is changed when you compare the above 2 scripts
if(current.assigned_to.user_name == getId || gs.getUser().hasRole('all_access') || usr2.hasNext())
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-01-2022 01:41 AM
One query in the above code...
there are some possibilites where record doesn't exist in ticket_Task table but exist in ticket table(current table) in such scenarios above condition will fail right? or will it work?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-01-2022 02:13 AM
Hi,
if the query on ticket_task table fails the last part of condition usr2.hasNext() would be false
Regards
Ankur
Ankur
✨ Certified Technical Architect || ✨ 9x ServiceNow MVP || ✨ ServiceNow Community Leader
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-01-2022 02:37 AM
Is it possible to convert same above ACL to query business rule?