Name

global.PlanningConsoleAssignedToUsers

Description

No description available

Script

var PlanningConsoleAssignedToUsers = Class.create();
PlanningConsoleAssignedToUsers.prototype = {
  initialize: function(limit) {
  	if ( JSUtil.nil(limit) )
  		this.limit = 30;
  	else
  		this.limit = limit;
  },
  
  pageLimit: function() {
  	return this.limit;
  },
  
  getUsers: function(table, taskId, searchString, page) {
  	if ( JSUtil.nil(page) )
  		page = 1;
  	var task = new GlideRecord(table);
      task.get(taskId);
      var user;
      var users = [];
      
      var refQualifier;
  	var projectTables = new TableUtils('pm_project');
  	var projectTaskTables = new TableUtils('pm_project_task');
  	if ( projectTables.getAllExtensions().contains(table) || projectTaskTables.getAllExtensions().contains(table) )
  		refQualifier = (new ProjectManagementUtils()).assignedToRefQual(task, SNC.PPMConfig.getProjectRole('user',table),true);					
  	else
  		refQualifier = (new ProjectManagementUtils()).assignedToRefQual(task, 'itil');
      user = new GlideRecord('sys_user');
      user.addEncodedQuery(refQualifier);
  	user.chooseWindow((page-1)*this.pageLimit(), page * this.pageLimit());
      if(searchString)
          user.addQuery('name', 'CONTAINS' , searchString);
      user.query();
      while (user.next() ) {
  		users.push(this.getUserProfile(user));
  	}
  	var rowCount = user.getRowCount();
      return {data: users, total: rowCount};
  },
  
  getUserProfile: function(user) {
      var userId = user.getValue('sys_id');
  	var profile = {};
  	profile.id = user.getValue('sys_id');
  	profile.text = user.getValue('name');
  	return profile;
//        if ( gs.nil(userId) ) {
//            return { imgUrl: null, initials: null };
//        }
//        var profile = {};
//        var gr = new GlideRecord('sys_attachment');
//        gr.addQuery('table_sys_id', userId);
//        gr.addQuery('table_name', 'ZZ_YYsys_user');
//        gr.query();
//        if ( gr.next() )
//            profile.imgUrl = gr.sys_id + '.iix';
//        else
//            profile.imgUrl = '';
//        gr = new GlideRecord('sys_user');
//        gr.get(userId);
//        var name = gr.getValue('name');
//        profile.text = name;
//        name = name.replace(/[^\w\s\.]\w+[^\w\s\.]|[^\w\s\.]/, "");
//        name = name.replace(/\s+/, ' ');
//        var parts = name.split(' ');
//        profile.initials = (parts[0].substring(0, 1) + parts[1].substring(0,1)).toUpperCase();
//        profile.id = userId;
//        return profile;
  },

  type: 'PlanningConsoleAssignedToUsers'
};

Sys ID

12542f0537311200455726877e41f1b4

Offical Documentation

Official Docs: