get list of users
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-30-2024 09:30 PM
Hi,
I have a table which captures records like below.
number users active
12 user1 true
12 user2 false
12 user3 true
12 user4 false
13 user5 true
13 user6 false
Based on the number, i want to filter out all the users in active false state, so I can pass the individual user in the for loop and get the email id from the user table to do some further. Logic should be like
get active users false for each specific number like for 12 it is user2 and user4 or for 13 its user6
for each user
{
get email from user table (assuming users are present in user table)
do some action on the users
}
Can someone help me achieve this script
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-30-2024 10:34 PM
Hi @tanz ,
Could you please try below code
function processInactiveUsers(number) {
var gr = new GlideRecord('your_table_name'); // replace 'your_table_name' with your actual table name
gr.addQuery('number', number);
gr.query();
while (gr.next()) {
if (!gr.active) {
var userName = gr.users.toString();
var userGr = new GlideRecord('sys_user');
userGr.addQuery('user_name', userName);
userGr.query();
if (userGr.next()) {
var userEmail = userGr.email.toString();
doSomeAction(userEmail);
}
}
}
}
function doSomeAction(email) {
gs.info('Performing action on email: ' + email);
}
var numbers = [12, 13]; /
for (var i = 0; i < numbers.length; i++) {
processInactiveUsers(numbers[i]);
}