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