Skip to main content

ServiceNow - Embedded widget variable on record producer to display major incidents for services selected


 variable on the item:

 

 

 

 Widget:

CSS:

.mi {color: red;
  font-size: 15px;
  font-weight: bold;

HTML:

<div ng-show="data.items">
  <div ng-hide="data.items==''">
  <h5 class = "mi" id='infomsg1'> Are you impacted by any of below Incident?</h5>
  </div>
</div>
  <div ng-repeat="item in data.items"  ng-controller="RadioController">
 
         <input type="radio" name="incidents"   id="{{item.sysId}}"     ng-click="c.display(item.sysId)"/> {{::item.num}} - {{::item.short_description}}

</div>

 

 

Server script:


(function() {
    /* populate the 'data' object */
    /* e.g., data.table = $sp.getValue('table'); */
    if (input) {
        //gs.addErrorMessage('gr.number.toString()');
        var items = [];
        var idx = 0;
        //  var item = {};
        session.onlineImpersonate("system");
        var itemsGR = new GlideRecord("incident");
        itemsGR.addQuery("service_offering", input.message);
        itemsGR.addEncodedQuery('active=true^major_incident_state=accepted');
        itemsGR.query();
        while (itemsGR.next()) {
            var item = {};
            item.short_description = itemsGR.short_description.toString();
            item.num = itemsGR.number.toString();
            //item.business_impact = itemsGR.business_impact;
            item.sysId = itemsGR.sys_id.toString();
            // item.shorty =gr12.short_description.toString();
            items[idx] = item;
            //gs.addErrorMessage('gr.number.toString()'+ items[idx].toString());
            idx++;
        }

        data.items = items;
        session.onlineUnimpersonate();
    }

})();


Client controller:

api.controller = function($scope) {
    /* widget controller */
    var c = this;


    $scope.$watch(function() {
        if ($scope.page.g_form) {
            return $scope.page.g_form.getValue('service_offering');
        }

    }, function(value, oldValue) {

        //validate that value is not the same as oldValue (loading)
        if (value != oldValue) {
            //execute on change of the variable
            c.data.message = value;
            c.server.update();
            //  alert(value);
        }

    });




    c.display = function(a) {
        //alert(a);
        $scope.page.g_form.setDisplay('parent_incident', true);
        $scope.page.g_form.setValue('parent_incident', a.toString());
        $scope.page.g_form.setDisplay('parent_incident', false);
        //g_form.setDisplay('parent_incident',false);
    };

};

Comments

Popular posts from this blog

ServiceNow check for null or nil or empty (or not)

Haven't tested these all recently within global/local scopes, so feel free to have a play! option 1 use an encoded query embedded in the GlideRecord , e.g.  var grProf = new GlideRecord ( 'x_cls_clear_skye_i_profile' ); grProf . addQuery ( 'status=1^ owner=NULL ' ); grProf . query (); even better use the glideRecord  addNotNullQuery or addNullQuery option 2 JSUtil.nil / notNil (this might be the most powerful. See this link ) example: if ( current . operation () == 'insert' && JSUtil . notNil ( current . parent ) && ! current . work_effort . nil ())  option 3 there might be times when you need to get inside the GlideRecord and perform the check there, for example if the code goes down 2 optional routes depending on null / not null can use gs.nil : var grAppr = new GlideRecord ( 'sysapproval_approver' ); var grUser = new GlideRecord ( 'sys_user' ); if ( grUser . get ( 'sys_id' , current . approver )){

Get URL Parameter - server side script (portal or classic UI)

Classic UI : var sURL_editparam = gs . action . getGlideURI (). getMap (). get ( ' sysparm_aparameter ' ); if ( sURL_editparam == 'true' ) { gs . addInfoMessage ( 'parameter passed ); } Portal : var sURL_editparam = $sp . getParameter ( " sysparm_aparameter " ); if ( sURL_editparam == 'true' ) { gs . addInfoMessage ( 'parameter passed ); }

Service Catalog: variable advanced reference qualifiers

Call a script include to apply a reference qualifier on a catalog item variable: - variable reference qualifier dependent on another variable selection, in this case a variable referencing sys_user (requested_for) On the catalog item form. variable name to apply ref qual filter : retail_equipment variable reference qualifier (on cmdb table ): javascript : new  refqual_functions (). lostStolen_getAssignedCIs (); client-callable script include ( refqual_functions)  function : lostStolen_getAssignedCIs : function (){         //--called from variable set client script, for lost/stolen request (service catalog)     gs . log ( current . variables . requested_for , 'retail_lostStolen_getAssignedCIs' );         return ( 'install_statusNOT IN8,7^owned_by=' + current . variables . requested_for );             //owned_by=1269b79937f1060041c5616043990e41^install_statusNOT IN8,7            },