- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-14-2020 09:16 AM
i'm using below widget to see list of my requests. but i can see 'Opened by' and 'requested for' both tickets... Its taking 'creating by' filter , kindly suggest to make this filter condition "requested for" tickets view
i would like to restrict for openedby only .
we couldnot find in Instance option . its custom widget
Server script:
(function() {
var localInput = input; //to safeguard pullution of "input" via BR or other scripts
var alsoRequest = false;
data.filterMsg = gs.getMessage("Search open requests");
if (localInput && localInput.view === 'open')
data.filterMsg = gs.getMessage("Search open requests");
else if (localInput && localInput.view === 'close')
data.filterMsg = gs.getMessage("Search closed requests");
function getField(gr, name) {
var f = {};
var id = gr.getUniqueValue();
gr = new GlideRecord(gr.getRecordClassName());
gr.get(id);
f.display_value = gr.getDisplayValue(name);
f.value = gr.getValue(name);
var ge = gr.getElement(name);
if (ge) {
var ed = ge.getED();
if (ed)
f.type = ed.getInternalType();
f.label = ge.getLabel();
}
return f;
}
function getMyRequestSysIds() {
var ids = {};
var rq_filter = new GlideRecord('request_filter');
rq_filter.addActiveQuery();
if (rq_filter.isValidField('applies_to'))
rq_filter.addQuery('applies_to', 1).addOrCondition('applies_to', 10);
rq_filter.query();
while(rq_filter.next()) {
var tableName = rq_filter.table_name;
if (rq_filter.isValidField('table'))
tableName = rq_filter.table;
var gr = new GlideRecord(tableName);
gr.addQuery(rq_filter.filter);
gr.query();
if (tableName == 'sc_request')
alsoRequest = true;
while(gr.next()) {
var portalSettings = {};
portalSettings.page = rq_filter.portal_page.nil()? '' : rq_filter.portal_page.getDisplayValue() + '';
portalSettings.primary_display = rq_filter.primary_display.nil()? '': rq_filter.primary_display + '';
portalSettings.secondary_displays = rq_filter.secondary_display.nil()? '': rq_filter.secondary_display + '';
ids[gr.sys_id + ''] = portalSettings;
}
}
return ids;
}
// retrieve the request's
var myRequestMap = getMyRequestSysIds();
var taskIDs = Object.keys(myRequestMap);
var gr = new GlideRecordSecure('task');
if (localInput && localInput.view === 'open')
gr.addActiveQuery();
else if (localInput && localInput.view === 'close')
gr.addQuery('active', 0);
else
gr.addActiveQuery();
gr.orderByDesc('sys_updated_on');
if (localInput && localInput.search_text) {
var req = [];
var task = new GlideRecordSecure('task');
task.addQuery('123TEXTQUERY321', localInput.search_text);
if (localInput && localInput.view === 'open')
task.addQuery('active', 1);
else if (localInput && localInput.view === 'close')
task.addQuery('active', 0);
else
task.addQuery('active', 1);
task.addQuery('sys_id', taskIDs);
task.query();
while(task.next())
req.push(task.getUniqueValue());
if (alsoRequest) {
var ritmGR = new GlideRecord('sc_req_item');
if (localInput && localInput.view === 'open')
ritmGR.addQuery('request.active', 1);
else if (localInput && localInput.view === 'close')
ritmGR.addQuery('request.active', 0);
else
ritmGR.addQuery('request.active', 1);
ritmGR.addQuery('123TEXTQUERY321', localInput.search_text);
ritmGR.addQuery('request.sys_id', taskIDs);
ritmGR.query();
while(ritmGR.next())
req.push(ritmGR.getValue('request'));
}
gr.addQuery('sys_id', req);
}
else
gr.addQuery('sys_id', taskIDs);
gr.query();
data.request = {};
data.request.req_list = [];
var recordIdx = 0;
var limit = options.items_per_page? options.items_per_page : 15;
if (localInput && localInput.action == 'fetch_more')
data.lastLimit = localInput.lastLimit + limit;
else
data.lastLimit = limit;
data.hasMore = false;
while (recordIdx != data.lastLimit && gr.next()) {
var portalSettings = myRequestMap[gr.getUniqueValue()];
if (typeof portalSettings == 'undefined')
portalSettings = {};
var record = {};
record.sys_id = gr.getValue('sys_id');
if (gr.getRecordClassName() == 'sc_request') {
var ritm = new GlideRecord("sc_req_item");
ritm.addQuery("request", gr.getUniqueValue());
ritm.query();
if (ritm.getRowCount() == 0)
continue;
if (ritm.getRowCount() > 1)
record.display_field = gs.getMessage("{0} requested items", ritm.getRowCount());
else {
ritm.next();
// record.display_field = ritm.cat_item.getDisplayValue() || ritm.getDisplayValue("short_description");
// record.display_field = ritm.cat_item.getDisplayValue()+" - "+ritm.variables.brief_summary;
// if(ritm.variables.short_description == undefined)
if(ritm.cat_item == "15aa86f2dbf9ef00642a622dca961960" ) //Employee Onboarding
{
record.display_field = ritm.cat_item.getDisplayValue()+" - "+ritm.variables.first_name+" . "+ritm.variables.last_name;
}
else
if(ritm.cat_item == "983b02f2dbf9ef00642a622dca961943" || ritm.cat_item == "801bceb2dbf9ef00642a622dca96194e") // employee position & seperation
{
record.display_field = ritm.cat_item.getDisplayValue()+" - "+ritm.variables.employee_name.getDisplayValue();
}
// else
// if( ritm.cat_item == "7535565cdb28e78076542736059619d8") // Servicenow enhancement
// {
// record.display_field = ritm.cat_item.getDisplayValue()+" - "+ritm.variables.requested_for.getDisplayValue();
// }
else
{
record.display_field = ritm.cat_item.getDisplayValue()+" - "+ritm.variables.brief_summary;
}
}
record.url = { id: portalSettings.page? portalSettings.page: 'sc_request', table: 'sc_request', sys_id: record.sys_id};
} else {
record.display_field = portalSettings.primary_display ? getField(gr, portalSettings.primary_display).display_value : getField(gr, 'number').display_value;
record.url = { id: portalSettings.page? portalSettings.page :'ticket', table: gr.getRecordClassName(), sys_id: record.sys_id};
}
if (portalSettings.secondary_displays) {
record.secondary_displays = [];
portalSettings.secondary_displays.split(",").forEach(function (sDisplay){
record.secondary_displays.push(getField(gr, sDisplay));
});
}
else
record.secondary_displays = getField(gr, 'short_description');
record.updated_on = gr.getValue('sys_updated_on');
record.state = gr.getDisplayValue('state');
if((recordIdx !== 0) && (data.lastLimit - limit === recordIdx))
record.highlight = true;
data.request.req_list.push(record);
recordIdx++;
}
if (gr.next())
data.hasMore = true;
})();
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-14-2020 09:23 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-14-2020 09:20 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-14-2020 09:45 AM

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-14-2020 09:47 AM
this was your first response.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
‎08-14-2020 09:53 AM