- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-23-2018 03:36 AM
Hi Guys,
I have written a List banner buttons (approve/reject) to show up on related list based on related list record status.
I have written as (current.state==13) for showing up button when current record is approved and (current.state==5) when current records is rejected.
But when related list has combination of both approved and rejected records, the related list should contain both approve and reject buttons.
Please help me how to keep the COND statement for this scenario in list banner button.
Appreciate your help,
Naveen B
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-30-2018 02:43 AM
I do get it to work with passing the sys_id to the script include by using current.getUniqueValue()
Condition in UI Action
new testUtils().testFunction(current.getUniqueValue());
My Script Include
var testUtils = Class.create();
testUtils.prototype = {
initialize: function() {
},
testFunction: function(sysid) {
gs.log('TEST sys_id: ' + sysid);
var agg = new GlideAggregate('incident');
agg.addQuery('parent', sysid);
agg.addAggregate('COUNT');
agg.query();
var answer = 'false';
var count = '';
if (agg.next()) {
count = agg.getAggregate('COUNT');
if (count > 0)
answer = 'true';
else
answer = 'false';
}
gs.log('TEST count: ' + count);
gs.log('TEST answer: ' + answer);
return answer;
},
type: 'testUtils'
};
My button is being displayed/hidden depending on if there are any child incidents connected to an incident (using parent field)
Remember to check the checkbox Client Callable on the Script Include.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-24-2018 07:42 AM
I am failing in keeping the count of the approved/rejected status in the glided table
if that is solved, it will work.
Appreciate your help,
Thank you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-25-2018 12:08 AM
Hi Palmen
I am checking with agg.getAggregate('COUNT') and it gives value 1 when the condition met or records with matched status found.
Now I want to store the count and show the button, because for everything time of new record creation the COUNT value is refreshed from 0-1 again.
scenario: When we hv two approved records, it shows up Approve related button, but when a new record created and rejected then it show only Reject related button and the approved button previously is not visible.. I need both buttons to be visible when we hv combination of both states.
hope I am clear with my requirement,
Much appreciated your help.
thank you.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-26-2018 06:57 AM
Try with this script, it'll store the count value in a count variable.
Should have been in the code from the beginning but used the answer variable instead by mistake
var agg = new GlideAggregate('x_tere_telstra_who_adjustment');
agg.addQuery('sys_id',current.sys_id);
agg.addQuery('state', '5'); // here we use 13 for approve function
agg.addAggregate('COUNT','state');
agg.query();
var answer = 'false';
var count = '';
if (agg.next()) {
count = agg.getAggregate('COUNT');
if (count > 0)
answer = 'true';
else
answer = 'false';
}
gs.info('intonewscrptInc CANCEL'+agg.getAggregate('COUNT'));
return answer;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-30-2018 01:58 AM
Did you get it to work?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
07-30-2018 02:18 AM
Nope. in the above code
agg.addAggregate('COUNT','state');
is not working and I am passing the object from UI action condition block and accessing the glided object coloumns in Script Include through object.sys_id, instead of current.sys_id.
Thank you for the help.