Amend user_show_incidents to work for sc_task table

StewartFletcher
Tera Expert

Looking to get the user_show_incidents UI Macro to work on Interactions and SCTASK's.

 

I've copied the user_show_incidents macro and amended for Interactions, and that works like a charm.

 

However, for SCTASK it doesn't filter on the user in requested for, and instead just shows all SCTASKS for all users.

 

Can anybody advise how I could tweak the script in this UI Macro to filter on the requested for, like it does for opened by on Incidents?

 

<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<g:evaluate var="jvar_guid" expression="gs.generateGUID(this);" />
<j:set var="jvar_n" value="show_sctasks_${jvar_guid}:${ref}"/>
<g:reference_decoration id="${jvar_n}" field="${ref}"
  onclick="showRelatedList('${ref}'); "
  title="${gs.getMessage('Show related catalog tasks')}" image="images/icons/tasks.gifx" icon="icon-tree-right"/>
<g:inline template="list2_js_includes.xml"/>
<script>
// show related list
(function() {
    function decorationShow(element, original, changed, loading) {
        var $refButton = $j(gel('${jvar_n}'));
        $refButton.attr('role', 'button');
        }
    var n = '${jvar_n}'.replace(/./g, '');
    var h = new GlideEventHandler('onLoad' + n, decorationShow, '${ref}');
    g_event_handlers.push(h);
})();
function showRelatedList(reference) {
    try {
        var displayValue = g_form.getDisplayBox(reference).value;
        var title = new GwtMessage().getMessage("Showing records related to: {0} ", displayValue);
        var s = reference.split('.');
        var referenceField = s[s.length - 1];
        var query = referenceField + '=' + g_form.getValue(reference);

        var gdw = new GlideModal('show_list');
        gdw.setTitle(title);
        gdw.setSize(750);
        gdw.setPreference('focusTrap', true);
        gdw.setPreference('table', 'sc_task_list');
        gdw.setPreference('sysparm_query', query);
        gdw.setPreference('title', 'A New Title');
        gdw.render();
    } catch (e) {
        jslog('error showing related list');
        jslog(e);
    }
}

</script>
</j:jelly>
1 ACCEPTED SOLUTION

StewartFletcher
Tera Expert

So I found that this just doesn't seem to work on the SCTASK table, as Requested For is a RITM (sc_req_item) table field. So tweaked the INC code to point at that table instead, and it works like a charm. It will show users RITM's, not SCTASK's, but it's what we need.

 

&lt;?xml version="1.0" encoding="utf-8" ?&gt;
&lt;j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null"&gt;
&lt;g:evaluate var="jvar_guid" expression="gs.generateGUID(this);" /&gt;
&lt;j:set var="jvar_n" value="show_tasks_${jvar_guid}:${ref}"/&gt;
&lt;g:reference_decoration id="${jvar_n}" field="${ref}"
onclick="showRelatedList('${ref}'); "
title="${gs.getMessage('Show related catalog tasks')}" image="images/icons/tasks.gifx" icon="icon-tree-right"/&gt;
&lt;g:inline template="list2_js_includes.xml"/&gt;
&lt;script&gt;
// show related list
(function() {
function decorationShow(element, original, changed, loading) {
var $refButton = $j(gel('${jvar_n}'));
$refButton.attr('role', 'button');
}
var n = '${jvar_n}'.replace(/./g, '');
var h = new GlideEventHandler('onLoad' + n, decorationShow, '${ref}');
g_event_handlers.push(h);
})();
function showRelatedList(reference) {
try {
var displayValue = g_form.getDisplayBox(reference).value;
var title = new GwtMessage().getMessage("Showing records related to: {0} ", displayValue);
var query = 'requested_for' + '=' + g_form.getValue('requested_for');

var gdw = new GlideModal('show_list');
gdw.setTitle(title);
gdw.setSize(750);
gdw.setPreference('focusTrap', true);
gdw.setPreference('table', 'sc_req_item_list');
gdw.setPreference('sysparm_query', query);
gdw.setPreference('title', 'A New Title');
gdw.render();
} catch (e) {
jslog('error showing related list');
jslog(e);
}
}

&lt;/script&gt;
&lt;/j:jelly&gt;

View solution in original post

2 REPLIES 2

StewartFletcher
Tera Expert

Anybody got any views on this please?

StewartFletcher
Tera Expert

So I found that this just doesn't seem to work on the SCTASK table, as Requested For is a RITM (sc_req_item) table field. So tweaked the INC code to point at that table instead, and it works like a charm. It will show users RITM's, not SCTASK's, but it's what we need.

 

&lt;?xml version="1.0" encoding="utf-8" ?&gt;
&lt;j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null"&gt;
&lt;g:evaluate var="jvar_guid" expression="gs.generateGUID(this);" /&gt;
&lt;j:set var="jvar_n" value="show_tasks_${jvar_guid}:${ref}"/&gt;
&lt;g:reference_decoration id="${jvar_n}" field="${ref}"
onclick="showRelatedList('${ref}'); "
title="${gs.getMessage('Show related catalog tasks')}" image="images/icons/tasks.gifx" icon="icon-tree-right"/&gt;
&lt;g:inline template="list2_js_includes.xml"/&gt;
&lt;script&gt;
// show related list
(function() {
function decorationShow(element, original, changed, loading) {
var $refButton = $j(gel('${jvar_n}'));
$refButton.attr('role', 'button');
}
var n = '${jvar_n}'.replace(/./g, '');
var h = new GlideEventHandler('onLoad' + n, decorationShow, '${ref}');
g_event_handlers.push(h);
})();
function showRelatedList(reference) {
try {
var displayValue = g_form.getDisplayBox(reference).value;
var title = new GwtMessage().getMessage("Showing records related to: {0} ", displayValue);
var query = 'requested_for' + '=' + g_form.getValue('requested_for');

var gdw = new GlideModal('show_list');
gdw.setTitle(title);
gdw.setSize(750);
gdw.setPreference('focusTrap', true);
gdw.setPreference('table', 'sc_req_item_list');
gdw.setPreference('sysparm_query', query);
gdw.setPreference('title', 'A New Title');
gdw.render();
} catch (e) {
jslog('error showing related list');
jslog(e);
}
}

&lt;/script&gt;
&lt;/j:jelly&gt;