Create a My Devices Tab and My Reports Device (assets) widget in My Profile Tab in Employee Center

johnvpr
ServiceNow Employee
ServiceNow Employee

This is how to create a My Devices (my assets) and  My Direct Reports Device widget in the My Profile Tab in the Employee Center.

 

The Same widget will show the devices when a manager clicks on his employee profile (My Direct Repots Devices)

 

Thanks to Andrew S. who showed me how to create it all.

 

 

johnvpr_1-1717781296336.png

 

each manager then can click in the My Team widget open the Direct report Employee and see their devices in their profile (Thanks to Anderw S. for the cool trick of having the widget pick the sys_id from the URL)

johnvpr_0-1717781477876.png

 

 

 

 

Create a widget in the  sp_widget table

 

HTML:

 

 

 

 

<div class="panel panel-default b">
  <div class="panel-heading">
    <h3 class="panel-title">${My Assets}</h3>
  </div>
  <div class="panel-body">
    <table class="table table-striped table-responsive">
      <tr>
        <th >
          ${Model}
        </th>
        <th>
          ${Hostname}
        </th>
      </tr>
      <tr ng-repeat="asset in data.assets">
        <td  >
          {{asset.model}}
		</td>
        <td >
          {{asset.ci}}
		</td>
      </tr>
    </table>    
  </div>
</div>

 

 

 

 

 

Server:

 

 

 

 

(function() {
data.userID = $sp.getParameter("sys_id");
data.assets = [];
var gr = new GlideRecord('alm_asset');
gr.addEncodedQuery('');
gr.addQuery('assigned_to',data.userID);	
gr.query();
data.recordCount=gr.getRowCount();
data.assets = [];
while (gr.next()) {
  var asset = {};
  asset.display = gr.display_name + '';
  asset.assigned_to = gr.assigned_to.getDisplayValue();
  asset.sysid = gr.sys_id + '';	
  asset.model = gr.model_category.name + '';	
  asset.install_status = gr.install_status.getDisplayValue() + ''; 
  asset.cost = gr.cost.getDisplayValue() + '';
  asset.ci = gr.ci.name + '';
  asset.serial_number = gr.serial_number + '';
  asset.assigned = gr.assigned + '';
  //gs.addInfoMessage("DEBUG JP >>>>" +  asset.model);
  data.assets.push(asset);
  }
})();

 

 

 

 

 

Then create a record in the sn_employee_tab_widget_mapping table that maps the newly created widget to the Overview tab:

johnvpr_0-1717777202246.png

 

 

Make sure the employee profile plugin is installed and:

1) Create an Employee Definition here: /sn_employee_definition_list.do

2) Opt-in the employee profile here: /sn_employee_profile_optin_ui_list.do

3) Create a record for each user that you want to show the Employee profile: /sn_employee_profile_list.do as an example "system administrator" and "Abel Tuter"

4) To test add to the Managers field of "Abel Tuter" the value of: System Administrator.

 

0 REPLIES 0