Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

How to set Set Preference in GlideModel

anilkumarsharma
Giga Guru

Hello Team

@Ankur 

I would like to inform you that below mention code is OBB but I'm not able to understand that how i can get the  sysparm_sys_id_list,caller_table from where . 

Please help me .

 

function createEvidenceForIssue() {
var dialog = new GlideModal('sn_grc_advanced_request_evidence');
dialog.setTitle('Request Evidence');
dialog.setPreference('sysparm_sys_id_list', g_list.getChecked());
dialog.setPreference('sysparm_type', "audit");
dialog.setPreference('caller_table', "sn_grc_issue");
dialog.on('closeconfirm', refreshPage);
dialog.render();
}
 
function refreshPage() {
return true;
}

 

1 ACCEPTED SOLUTION

Hi Sir

Thanks for update, parameters are avilable in client section

 

View solution in original post

5 REPLIES 5

Sebastian L
Mega Sage

It is set in the UI Page you call, in your example it is "sn_grc_advanced_request_evidence".

 

Here is an example of how to use it in the ui page (below is code taken from a ui page)

<!-- Here you get the values from the previous ui action, if you have set a setPreference and pass it to a jvar_ by your own naming. -->
	  <g:evaluate var="jvar_mycontract"
    expression="RP.getWindowProperties().get('mycontract')">
</g:evaluate>


<label class="reference-label">${gs.getMessage('Attach to contract')}</label>   <!-- Label for the UI page-->
<g:ui_reference name="ast_service_sysid" id="ast_service_sysid" table="ast_service" value="${jvar_mycontract}" displayvalue="${jvar_mynumber}" show_popup="true" show_lookup="true" query="u_parent_child=Child" />  <!-- The field - here a reference field, referencing the table 'ast_service', and setting the value to the parsed value from the ui action, jvar_mycontract - and setting the displayvalue likewise -->

Best regards,
Sebastian Laursen

Thanks Sir,

Good Moening,

UI pages code is mention below where i tried to find out caller_table and sysparm_sys_id_list but did not get.

Please let me know where both setPreference parameters'r useing.

 

<?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:requires name="scripts/lib/jquery_includes.js" />
    <j:set var="jvar_type" value="${JS:sysparm_type}" />
    <g:evaluate jelly="true">
        var type = jelly.sysparm_type;
        var queryObj = {};
        var query = "state!=3";
        if(type == 'compliance' || type == 'audit')
            query += "^type="+type;
        
        queryObj.evidence = query;
        queryObj.assign_user = "roles=sn_grc.business_user^active=true^EQ";
        queryObj.assign_group = "active=true";
    
        queryObj;
    </g:evaluate>
    <g:evaluate jelly="true">
        var displayType = true;
        var type = jelly.sysparm_type;
        if(type == 'compliance' || type == 'audit')
            displayType = false;
        displayType;
    </g:evaluate>
    <g:evaluate jelly="true">
        var plugin = {};
        plugin.isComplianceActive = GlidePluginManager.isActive('com.sn_compliance');
        plugin.isAuditActive = GlidePluginManager.isActive('com.sn_audit');
        
        plugin;
    </g:evaluate>
    <g:evaluate jelly="true">
        var assignedTo = {};
        assignedTo.sys_id = "";
        assignedTo.name  = "";
        
        var defaultAssignee = jelly.sysparm_assigne;
        if(typeof defaultAssignee != 'undefined'){
            var user = new GlideRecord('sys_user');
            user.get(defaultAssignee);
        
            assignedTo.sys_id = user.sys_id;
            assignedTo.name  = user.name;
        }
    </g:evaluate>
    <div class="modal-body" style="padding-bottom:0px;padding-left: 0px;margin-right: 10px;" role="main">
        <div class="outputmsg outputmsg_error notification notification-error row" id="error_msg_container" style="margin-bottom: 24px; margin-top: -14px; margin-left: 15px; display: none;">
            <div class="col-md-11" style="padding-top:5px">
                <span class="notification-icon icon-cross-circle">
                    <span class="sr-only">${gs.getMessage('Close')}</span>
                </span>
                <span class="outputmsg_text" id="error_msg"></span>
            </div>
             <div class="col-md-1" style="padding:0px">
                <button aria-label="Close Messages" class="btn btn-icon close icon-cross" id="close-messages-btn" onclick="return closeErrorMsg();return false;" style="margin-top: 0px;"></button>
            </div>
        </div>
        <form class="form-horizontal">
            <div class="form-group">
                <label class="control-label col-xs-12 col-md-4" for="to_group" >
                    ${gs.getMessage('Evidence request')} 
                </label>
                <div class="col-xs-12 col-md-8 form-field">                        
                    <select id="to_evidence_request" class="form-control select2" name="to_evidence_request" onchange="showHideFields();">
                        <option value="new_evidence_request">${gs.getMessage('-- Create a new evidence request --')}</option>
                        <option value="add_evidence_request">${gs.getMessage('-- Add to an existing evidence request --')}</option>                    
                    </select>
                </div>
            </div>
            <div class="form-group add_evidence_request is-required">
                <label class="control-label col-xs-12 col-md-4" for="add_evidence_request" id="add_evidence_request_label" style="padding-left: 10px;">
                    <span class="required-marker">${gs.getMessage('Select evidence request')}</span>
                </label>
                <div class="col-xs-12 col-md-8 form-field">                        
                    <g:ui_reference alt="Evidence request" 
                                    name="add_evidence_request" 
                                    id="add_evidence_request" 
                                    table="sn_grc_advanced_evidence_request" 
                                    order_by="number" 
                                    value="" 
                                    query="${HTML,JS:queryObj.evidence}"
                                    onchange="checkGlideFieldMandatory(this)"
                                    displayvalue=""/>
                </div>
            </div>
            <j:if test="${JS:displayType == true}">
                <div class="form-group new_evidence_request is-required">
                    <label for="type" class="control-label col-xs-12 col-md-4 is-required is-filled">
                        <span class="required-marker">
                            ${gs.getMessage('Type')} 
                        </span>
                    </label>                    
                    <div class="col-xs-12 col-md-8 form-field">        
                        <select id="type" class="form-control" name="type" onchange="addRequestReasons();">
                            <j:if test="${JS:plugin.isAuditActive == true}">
                                <option value="audit">${gs.getMessage('Audit')}</option>
                            </j:if>
                            <j:if test="${JS:plugin.isComplianceActive == true}">
                                <option value="compliance">${gs.getMessage('Compliance')}</option>
                            </j:if>
                        </select>
                    </div>
                </div>
            </j:if>
            <div class="form-group new_evidence_request">
                    <label for="request_reason" class="control-label col-xs-12 col-md-4">
                        <span class="">
                            ${gs.getMessage('Request reason')} 
                        </span>
                    </label>                    
                    <div class="col-xs-12 col-md-8 form-field">        
                        <select id="request_reason" class="form-control" name="request_reason">
                            <option value="">${gs.getMessage('None')}</option>
                            <option value="internal_audit">${gs.getMessage('Internal Audit')}</option>
                            <option value="external_audit">${gs.getMessage('External Audit')}</option>
                            <option value="operative_effectiveness">${gs.getMessage('Operative Effectiveness')}</option>
                            <option value="design_effectiveness">${gs.getMessage('Design Effectiveness')}</option>
                            <option value="continuous_control_monitoring">${gs.getMessage('Continuous Control Monitoring')}</option>
                            <option value="remediation_testing">${gs.getMessage('Remediation Testing')}</option>
                            <option value="issues" >${gs.getMessage('Issues')}</option>
                            <j:if test="${JS:jvar_type != 'audit'}">
                                <option value="regulatory_request">${gs.getMessage('Regulatory Request')}</option>
                            </j:if>
                        </select>
                    </div>
                </div>
            <div class="form-group new_evidence_request is-required">
                <label for="short_description" id="short_description_label" class="control-label col-xs-12 col-md-4 is-required">
                    <span class="required-marker">
                        ${gs.getMessage('Short description')} 
                    </span>
                </label>                    
                <div class="col-xs-12 col-md-8 form-field">        
                    <input type="text" name="short_description" id="short_description" class="form-control" required="required" aria-required="true" onchange="checkMandatory(this)"/>
                </div>
            </div>
            <div class="form-group is-required new_evidence_request">
                <label class="col-xs-12 col-md-4 control-label" for="valid_date" id="valid_date_label">
                    <span mandatory="true" class="required-marker"></span>${gs.getMessage('Request due date')}
                </label>
                <div class="col-xs-12 col-md-8 form-field">
                    <g:ui_date_time value="" name="valid_date" id="valid_date" onchange="validateDate(this)"/>
                </div>
                <div class="due_date_error col-xs-12 col-md-8 fieldmsg-container" aria-live="polite" style="float: right;padding-right: 0px;display:none;">
                     <div class="fieldmsg notification notification-error">${gs.getMessage('Due date must be in future')}</div>
                </div>
            </div>
            <div class="form-group">
                <label for="assign_to" class="control-label col-xs-12 col-md-4">
                    <span>${gs.getMessage('Assignment type')} </span>
                </label>                    
                <div class="col-xs-12 col-md-8 form-field">        
                    <select id="assign_to" class="form-control" name="assign_to" onchange="displayUserGroup();">
                        <option value="user">${gs.getMessage('User')}</option>
                        <option value="group">${gs.getMessage('Group')}</option>
                    </select>
                </div>
            </div>
            <div class="form-group is-required assgn-group">
                <label class="control-label col-xs-12 col-md-4" for="assignment_group" id="assignment_group_label">
                    <span class="label-text required-marker">${gs.getMessage('Assignment group')}</span>
                </label>
                <div class="col-xs-12 col-md-8 form-field">        
                    <g:ui_reference alt="Assignment group" 
                                    name="assignment_group" 
                                    id="assignment_group" 
                                    table="sys_user_group" 
                                    order_by="name" 
                                    value="" 
                                    onchange="checkGlideFieldMandatory(this)"
                                    query="${HTML,JS:queryObj.assign_group}"
                                    displayvalue=""/>
                </div>
            </div>
            <div class="form-group is-required assgn-user">
                <label class="control-label col-xs-12 col-md-4" for="assigned_to" id="assigned_to_label">
                    <span class="label-text required-marker">${gs.getMessage('Assigned to')}</span>
                </label>
                <div class="col-xs-12 col-md-8 form-field">        
                    <g:ui_reference alt="Assigned to" 
                                    name="assigned_to" 
                                    id="assigned_to" 
                                    table="sys_user" 
                                    order_by="name"
                                    onchange="checkGlideFieldMandatory(this)"
                                    value="${HTML,JS:assignedTo.sys_id}" 
                                    query="${HTML,JS:queryObj.assign_user}"
                                    displayvalue="${HTML,JS:assignedTo.name}"/>
                </div>
            </div>

            <div class="form-group is-required">                    
                <label for="instructions" class="control-label col-xs-12 col-md-4 is-required" id="instructions_label">
                    <span class="required-marker">
                        ${gs.getMessage('Evidence collection instructions')} 
                    </span>
                </label>                    
                <div class="col-xs-12 col-md-8 form-field">        
                    <textarea rows="5" name="instructions" id="instructions" class="form-control" required="required" aria-required="true" style="width: 100%;resize: vertical; overflow: auto;" onchange="checkMandatory(this)"/>
                </div>
            </div>
        </form>
    </div>
    <footer class="modal-footer flex" style="width:50%;float:right;padding-right: 15px;">
        <button data-dismiss="modal" class="btn btn-default" onclick="return submitCancel()">${gs.getMessage('Cancel')}</button>
        <button class="btn btn-primary" id="request_evidence" type="submit" onclick="return requestEvidence()">${gs.getMessage('Request')}</button>
    </footer>
</j:jelly>

Hi Sir

Thanks for update, parameters are avilable in client section

 

Ankur Bawiskar
Tera Patron
Tera Patron

Hi,

I could see it's not used anywhere "sysparm_sys_id_list"

Regards
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader