- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-24-2024 03:55 AM
Hi Team,
Iam adding Journey owner to one of the groups.
I need to check if user has any journey in draft completed state if yes do nothing
or if journey is in cancelled completed state remove them from group.
User can have mixed states of Journey.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-25-2024 12:30 AM
Hello @preethigovi ,
Please write this fix script-
var groupSysId ='c88e9defc31d92d0d1455ebeb001319d'; // Replace with the sys_id of the group
var groupMembers = new GlideRecord('sys_user_grmember');
// groupMembers.addQuery('group', groupSysId);
groupMembers.addEncodedQuery('group=c88e9defc31d92d0d1455ebeb001319d'); // Query all members of the group
groupMembers.query();
while (groupMembers.next()) {
var userId = groupMembers.user.sys_id.toString();
groupMembers.setWorkflow(false);
gs.info('testing' + userId);
//gs.print('HR USERS' + Hrprofile.sys_id.toString())
var a= new sn_jny.testscriptinclude().test(userId,groupMembers);
if(a==true){
groupMembers.deleteRecord();
}
}
and below script include-
var testscriptinclude = Class.create();
testscriptinclude.prototype = {
initialize: function() {
},
test:function(userId,groupMembers){
var activeIncidentCheck = new GlideRecord('sn_jny_journey');
activeIncidentCheck.addEncodedQuery('manager.user='+ userId +'^state=ready^ORstate=draft');
//activeIncidentCheck.addQuery('manager', Hrprofile.sys_id.toString()); // Check if the user is the caller
activeIncidentCheck.query();
gs.info(activeIncidentCheck.getRowCount());
if (!activeIncidentCheck.next()) {
gs.info('members list');
// groupMembers.deleteRecord();
return true;
}
else{
return false;
}
},
type: 'testscriptinclude'
};
Mark ✅ Correct if this solves your issue and also mark 👍 Helpful if you find my response worthy based on the impact.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-24-2024 10:54 PM
var groupSysId ='c88e9defc31d92d0d1455ebeb001319d'; // Replace with the sys_id of the group
var groupMembers = new GlideRecord('sys_user_grmember');
groupMembers.addQuery('group', groupSysId); // Query all members of the group
groupMembers.query();
while (groupMembers.next()) {
var userId = groupMembers.user.sys_id.toString();
// gs.print('testing' + userId)
var Hrprofile= new GlideRecord('sn_hr_core_profile');
Hrprofile.addQuery('user',userId);
Hrprofile.query();
while(Hrprofile.next()){
//gs.print('HR USERS' + Hrprofile.sys_id.toString())
var activeIncidentCheck = new GlideRecord('sn_jny_journey');
activeIncidentCheck.addEncodedQuery('stateNOT INdraft,ready');
activeIncidentCheck.addQuery('manager', Hrprofile.sys_id.toString()); // Check if the user is the caller
activeIncidentCheck.query();
if (activeIncidentCheck.next()) {
gs.print('members list' + groupMembers.user.toString());
groupMembers.deleteRecord();
}
}
}
Anything wrong
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-25-2024 12:30 AM
Hello @preethigovi ,
Please write this fix script-
var groupSysId ='c88e9defc31d92d0d1455ebeb001319d'; // Replace with the sys_id of the group
var groupMembers = new GlideRecord('sys_user_grmember');
// groupMembers.addQuery('group', groupSysId);
groupMembers.addEncodedQuery('group=c88e9defc31d92d0d1455ebeb001319d'); // Query all members of the group
groupMembers.query();
while (groupMembers.next()) {
var userId = groupMembers.user.sys_id.toString();
groupMembers.setWorkflow(false);
gs.info('testing' + userId);
//gs.print('HR USERS' + Hrprofile.sys_id.toString())
var a= new sn_jny.testscriptinclude().test(userId,groupMembers);
if(a==true){
groupMembers.deleteRecord();
}
}
and below script include-
var testscriptinclude = Class.create();
testscriptinclude.prototype = {
initialize: function() {
},
test:function(userId,groupMembers){
var activeIncidentCheck = new GlideRecord('sn_jny_journey');
activeIncidentCheck.addEncodedQuery('manager.user='+ userId +'^state=ready^ORstate=draft');
//activeIncidentCheck.addQuery('manager', Hrprofile.sys_id.toString()); // Check if the user is the caller
activeIncidentCheck.query();
gs.info(activeIncidentCheck.getRowCount());
if (!activeIncidentCheck.next()) {
gs.info('members list');
// groupMembers.deleteRecord();
return true;
}
else{
return false;
}
},
type: 'testscriptinclude'
};
Mark ✅ Correct if this solves your issue and also mark 👍 Helpful if you find my response worthy based on the impact.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
10-25-2024 12:47 AM
@Harsh_Deep Thank You so much Harsh. It works
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-04-2024 04:03 AM
Hi @Harsh_Deep,
I have a query that instead of passing each grmember can we pass the list of users in array to script include. and get the managers from script include in form of arrays?
Please suggest