get list of users

tanz
Tera Expert

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

1 REPLY 1

Nisha15
Mega Sage
Mega Sage

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]);
}