How to get current loggedin user manager name and his email id?

manmathpanda
Giga Guru

How to get current loggedin user's manager name and email id?

1 ACCEPTED SOLUTION

Hitoshi Ozawa
Giga Sage
Giga Sage

Hi,

If it's absolutely necessary to create a client script, following will get current user's manager's info.

Client script

function onLoad() {
    var ajax = new GlideAjax('UserUtilClient');
    ajax.addParam('sysparm_name', 'getManagerInfo');
    ajax.getXMLAnswer(function(answer) {
        if (answer.length > 0) {
            var json = JSON.parse(answer);
            g_form.setValue('manager_name', json.name);
            g_form.setValue('manager_email', json.email);
        }
    });
}

Script include

var UserUtilClient = Class.create();
UserUtilClient.prototype = Object.extendsObject(AbstractAjaxProcessor, {
    getManagerInfo: function() {
        var grUser = new GlideRecord('sys_user');
        if (grUser.get(gs.getUserID())) {
            var manager = grUser.manager;
            if (manager) {
                return JSON.stringify({
                    "name": manager.name.toString(),
                    "email": manager.email.toString()
                });
            }
        }
    },
    type: 'UserUtilClient'
});

The result is a same as when using default value. This is a little bit slower because the form is loaded and then the form makes an ajax request to the server to get manager's information. When setting the default value, manager's name and email is filled when before the form is loaded so there's no ajax call after the form is loaded.

find_real_file.png

View solution in original post

10 REPLIES 10

Sai 7
Tera Contributor

Hi @Hitoshi Ozawa Hitoshi, Thanks for your answer, can you tell me how to get the currently logged-in user's manager name and email id using the g_scratchpad display business rule