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"));