We're reclaiming inactive PDIs to keep them available for active builders. Learn what's changing, who's affected, and how to protect your work. Read More

Assigned to field validation based on role

abhaysingh98
Tera Contributor

Hello guys,

 

I have a requirement when a CIM task type is survey feedback and assigned to a any resolver group, then only users in that resolver group with the Survey Feedback role(resolver_group_manager) should show in assigned to field not all the users in that group should popup.

To Achieve this requirement I have created one script Include and used it in reference qualifier to filter the assigned to users based on the role but it is not working.

 

Script Include -

var CustomUserRoleFilter = Class.create();
CustomUserRoleFilter.prototype = {
    initialize: function() {},

    getFilteredUsers: function(taskType) {
        if (taskType == '3'){
            return 'sys_idIN' + gs.getRoledUsers('fmg_resolver_group_manager');
        }
    },

    type: 'CustomUserRoleFilter'
};
 
Reference qualifier - 
javascript: new CustomUserRoleFilter().getFilteredUsers(current.getValue('cim_task_type'));
15 REPLIES 15

abhaysingh98
Tera Contributor

Script Include -

var CustomUserRoleFilter = Class.create();
CustomUserRoleFilter.prototype = {
        initialize: function() {},

        getFilteredUsers: function(taskType, task) {
            If(taskType == "3")
                    var resGroup = task.assignment_group;
                    if (resGroup)
                        var userGR = new GlideRecord('sys_user_grmember');
                    userGR.addQuery('group', resGroup);
                    userGR.query();
                    var userList = [];
                    while (userGR.next()) {
                        var userId = userGR.user.sys_id;
                        var userRoleGR = new GlideRecord('sys_user_has_role');
                        userRoleGR.addQuery('user', userId);
                        userRoleGR.addQuery('role.name', "fmg_resolver_group_manager");
                        userRoleGR.query();
                        if (userRoleGR.next()) {
                            userList.push(userId.toString());
                        }


                    }
                    return "sys_idIN" + userList.join(',');

                },

                type: 'CustomUserRoleFilter'
        };
 
 
Reference Qualifier -
javascript: new CustomUserRoleFilter().getFilteredusers(current.getValue("cim_task_type") ,current.getValue("assignment_group"));