GlideAjax and usage of getRowCount()

majumderarka26
Kilo Contributor


Hi,

I am having one Assignment group reference field in Incident page.

I want to display how many members are there in that particular assignment group.

To achieve this, i created a client callable Script Include

var number = Class.create();

number.prototype = Object.extendsObject(AbstractAjaxProcessor, {

      alert: function() {

  var names = this.getParameter('sysparm_user_name');

  var gr = new GlideRecord('sys_user_grmember');gs.log("I am starting"+names);

  gr.addQuery('group',names);

  gr.query();

  gs.log("I am in");

  var x = gr.getRowCount().toString();

  gs.log(x);

  return x;

 

 

                  }

                 

});

And i have used the following client script :

function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || newValue == '') {
          return;
    }

    //Type appropriate comment here, and begin script below
    var group = g_form.getReference('assignment_group');

var group_name = group.name;
//Type appropriate comment here, and begin script below
    var ga = new GlideAjax('number');
ga.addParam('sysparm_name','alert');
ga.addParam('sysparm_user_name',group_name);
ga.getXML(HelloWorldParse);

function HelloWorldParse(response) {
    var answer = response.responseXML.documentElement.getAttribute("answer");
    alert(answer);
}
}

But the problem arises when I am changing the assignment group it is giving a value as 0 in alert.

Please help

5 REPLIES 5

Hi,



Below is update code:



Script Include:


Client Callable : true


Script :


var getGroupMemCount = Class.create();



getGroupMemCount.prototype =   Object.extendsObject(AbstractAjaxProcessor, {


      getCount: function() {


              var name = this.getParameter('sysparam_name');


              var count = new GlideAggregate('sys_user_grmember');


              count.addQuery('group',name);


              count.addAggregate('COUNT');


              count.query();


              if (count.next())


                      return count.getAggregate('COUNT');


      }


});



Client Script:



function onChange(control, oldValue, newValue, isLoading, isTemplate) {
    if (isLoading || newValue == '') {
          return;
    }


    //Type appropriate comment here, and begin script below
    var group = g_form.getValue('assignment_group');



//Type appropriate comment here, and begin script below


    var ga = new GlideAjax('getGroupMemCount');


ga.addParam('sysparm_name','getCount');


ga.addParam('sysparam_name',group);


ga.getXML(HelloWorldParse);




function HelloWorldParse(response) {


    var answer = response.responseXML.documentElement.getAttribute("answer");


    alert(answer);


}


}



Have a look and let me know the outcome.



Regards,


solutioner