- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-16-2016 12:42 PM
Hello,
I am trying to add the incident number and short description to the survey. I can add the incident number to the email but I would like it to appear directly within the survey take page.
I found one suggestion to pass the parameter of the incident number through the URL and default the value of a question on the survey to javascript:RP.getParameterValue("incidentnum") but I do not see a field for the default value of a question. I could find the field in the legacy survey but not under the new surveys in Fuji.
How do I add the incident number and description into either the survey intro or somewhere on the survey take page?
thank you,
Jackie
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-16-2016 09:17 PM
My apologies Jackie - I just assumed that survey was a system delivered UI page since it sounded like it was. I looked at ours a little closer - survey was a page we created based off of assessment_take2 (so that we would not lose the future updates). The code above was put inside this tag: <div class="assessment">, you can play with it to get it in the right spot on the page.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-02-2017 09:24 PM
Hi Jocelyn
Yes, It worked for me
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-03-2017 07:27 AM
Hi Abhithen,
What did you do differently?
Thanks,
Jocelyn
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-05-2017 07:16 PM
Hi Jocelyn
I had to play around a bit with the assessment_take2 page. Finally ended up modifying the HTML to get the required fields on the page.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-24-2018 02:50 AM
can you share the details?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
05-01-2018 11:06 PM
<?xml version="1.0" encoding="utf-8" ?>
<j:jelly trim="false" xmlns:j="jelly:core" xmlns:g="glide" xmlns:j2="null" xmlns:g2="null">
<j:if test="${GlideMobileExtensions.getDeviceType() != 'doctype'}">
<g:requires name="scripts/lib/jquery_includes.js" />
</j:if>
<g:requires name="scripts/json2.jsx" />
<g:requires name="scripts/catalog.js" includes="true" />
<g:requires name="scripts/js_includes_assessment.js" includes="true" />
<j:set var="jvar_isComingFromSurveyCreator" value="${sysparm_isSurveyCreator}" />
<j:set var="jvar_isReaderView" value="${HTML:sysparm_reader_view}" />
<j:set var="jvar_hidepreview" value="no" />
<g:evaluate jelly="true" var="jvar_assessable_type">
var metricTypeId = '';
if(typeof jelly.sysparm_assessable_type !== 'undefined'){
metricTypeId = SNC.GlideHTMLSanitizer.sanitize(jelly.sysparm_assessable_type);
var metricTypeRegex = new RegExp("^\\w{32}$");
if(!metricTypeRegex.test(metricTypeId)){
metricTypeId = '';
}
}
metricTypeId;
</g:evaluate>
<g2:evaluate var="jvar_attachrole" expression="gs.getProperty('glide.attachment.role')" />
<g:evaluate var="jvar_hideClose">
var hideClose = '${sysparm_hide_close}' == 'true';
hideClose;
</g:evaluate>
<g:evaluate var="jvar_assessment_type">
var metricGR = new GlideRecord("asmt_metric_type");
metricGR.addQuery('sys_id', '${jvar_assessable_type}');
metricGR.query();
var evaluation_type = gs.getMessage('assessment');
if (metricGR.next())
evaluation_type = metricGR.evaluation_method.getChoiceValue().toLowerCase();
evaluation_type;
</g:evaluate>
<g:evaluate var="jvar_is_public_survey">
var isPublicSurvey = "false";
var metricGR = new GlideRecord("asmt_metric_type");
metricGR.addQuery('sys_id', '${jvar_assessable_type}');
metricGR.query();
if (metricGR.next() ${AND} metricGR.allow_public ${AND} '${jvar_assessment_type}' == 'survey')
isPublicSurvey = "true";
isPublicSurvey;
</g:evaluate>
<g:evaluate var="jvar_redirect_to_login">
var isUserLoggedIn = gs.isLoggedIn();
var redirectLogin = "false";
if((('${jvar_is_public_survey}' == 'false') || ('${jvar_assessable_sysid}' == 'not_authorized')) ${AND} !isUserLoggedIn)
redirectLogin = "true";
redirectLogin;
</g:evaluate>
<j:if test="${jvar_redirect_to_login == 'true'}">
<script>document.location.href = "assessment_redirect.do?sysparm_survey_url=${sysparm_this_url}";</script>
</j:if>
<g:evaluate jelly="true" var="jvar_assessable_sysid">
var asmtInstanceId = '';
if(typeof jelly.sysparm_assessable_sysid !== 'undefined'){
asmtInstanceId = SNC.GlideHTMLSanitizer.sanitize(jelly.sysparm_assessable_sysid);
var asmtInstanceRegex = new RegExp("^\\w+$");
if(!asmtInstanceRegex.test(asmtInstanceId)){
asmtInstanceId = 'invalidsysid';
}
}
if (asmtInstanceId == '') {
var instance = new SNC.AssessmentCreation().createOrGetAssessment('${jvar_assessable_type}', '', gs.getUserID());
} else if(asmtInstanceId =='invalidsysid'){
instance = 'invalidsysid';
}else{
var temp = new SNC.AssessmentCreation().checkAssessmentAllowed('${jvar_assessable_type}', asmtInstanceId, gs.getUserID());
if ('${sysparm_isSurveyCreator}' == 'yes' || ('${jvar_isReaderView}' == 'true' ${AND} gs.hasRole('survey_admin')))
var instance = asmtInstanceId;
else if (temp != "" ${AND} temp != "wip")
var instance = temp;
else
var instance = asmtInstanceId;
}
if (instance.substring(0, 6) == 'notyet') {
var when = instance.substring(6);
instance = 'notyet';
}
instance;
</g:evaluate>
<g:requires name="styles/assessment.css" />
<j:if test="${jvar_assessable_sysid == 'invalidsysid'}">
<g:evaluate>
var msg = gs.getMessage('The assessable record is invalid');
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${jvar_assessable_sysid == 'completed'}">
<g:evaluate>
var msg = gs.getMessage('You have completed this {0}', '${jvar_assessment_type}');
gs.addInfoMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${jvar_assessable_sysid == 'canceled'}">
<g:evaluate>
var msg = gs.getMessage('This {0} has been canceled', '${jvar_assessment_type}');
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${jvar_assessable_sysid == 'save'}">
<j:if test="${sysparm_inst_due_date == ''}">
<g:evaluate>
var msg = gs.getMessage('Your responses have been saved');
gs.addInfoMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${sysparm_inst_due_date != ''}">
<g:evaluate>
var msgArr = [];
msgArr.push('${jvar_assessment_type}');
msgArr.push('${sysparm_inst_due_date}');
var msg = gs.getMessage('Your responses have been saved. You can complete this {0} before {1}', msgArr);
gs.addInfoMessage(msg);
</g:evaluate>
</j:if>
</j:if>
<j:if test="${jvar_assessable_sysid == 'cancel'}">
<j:set var="jvar_inst_due_date" value="${sysparm_inst_due_date}" />
<j:set var="jvar_isUserLoggedIn" value="${isUserLoggedIn}" />
<j:if test="${jvar_inst_due_date == '' || !jvar_isUserLoggedIn}">
<g:evaluate>
var msg = gs.getMessage('Your responses have not been saved');
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${jvar_inst_due_date != '' && jvar_isUserLoggedIn}">
<g:evaluate>
var msgArr = [];
msgArr.push('${jvar_assessment_type}');
msgArr.push('${sysparm_inst_due_date}');
var msg = gs.getMessage('Your responses have not been saved. You can complete this {0} before {1}', msgArr);
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
</j:if>
<j:if test="${jvar_assessable_sysid == 'close'}">
<g:evaluate>
var msg = gs.getMessage('Preview has been closed');
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${jvar_assessable_sysid == 'notyet'}">
<g:evaluate>
var msg = gs.getMessage('You have recently completed this Survey, it will be available in the future');
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${(jvar_assessable_sysid == 'not_authorized')}">
<g:evaluate>
var msg = gs.getMessage('You are not authorized to take this {0}', '${jvar_assessment_type}');
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${jvar_assessable_sysid == 'not_available'}">
<g:evaluate>
var msg = gs.getMessage('This {0} is not currently available, check back later', '${jvar_assessment_type}');
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${jvar_assessable_sysid == 'invalidtype'}">
<g:evaluate>
var msg = gs.getMessage('There was an unexpected failure with this assessment, invalid type provided');
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${jvar_assessable_sysid == 'inactive'}">
<g:evaluate>
var msg = gs.getMessage('This {0} is no longer active', '${jvar_assessment_type}');
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${jvar_assessable_sysid == 'draft_state'}">
<g:evaluate>
var msg = gs.getMessage('This {0} has not yet been published', '${jvar_assessment_type}');
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${jvar_assessable_sysid == 'isscheduled'}">
<g:evaluate>
var msg = gs.getMessage('An incorrect assessment or survey was provided - on demand expected');
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${jvar_assessable_sysid == 'notsurvey'}">
<g:evaluate>
var msg = gs.getMessage('An incorrect assessment was provided - survey expected');
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${jvar_assessable_sysid == 'nousers'}">
<g:evaluate>
var msg = gs.getMessage('Unable to generate assessment, no user was provided');
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${jvar_assessable_sysid == 'nosources'}">
<g:evaluate>
var msg = gs.getMessage('Unable to generate assessment, no source was provided');
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
<j:if test="${jvar_assessable_sysid.length() == 32}">
<g:evaluate var="jvar_preview">
var isPreview = false;
var gr = new GlideRecord("asmt_assessment_instance");
gr.get(instance);
if (gr.isValidRecord())
isPreview = gr.getValue("preview");
</g:evaluate>
<g:evaluate var="jvar_task_record_url">
var gr = new GlideRecord("asmt_assessment_instance");
gr.get(instance);
var task_record = "";
var task_table = "";
var task_record_url = "";
if(gr.trigger_table){
var tr = new GlideRecord(gr.trigger_table);
if(tr.get(gr.trigger_id)){
task_record_url = gr.trigger_table + ".do?sys_id=" + gr.trigger_id;
task_table = tr.getClassDisplayValue();
task_record = tr.getDisplayValue();
}
}
task_record_url;
</g:evaluate>
<g2:evaluate var="jvar_can_write">
var gr = new GlideRecord('asmt_assessment_instance');
gr.get(instance);
gr.canWrite();
</g2:evaluate>
</j:if>
<j:if test="${jvar_assessable_sysid.length() != 32}">
<g:evaluate var="jvar_preview">
var isPreview = false;
</g:evaluate>
<g:evaluate var="jvar_task_record_url">
var task_record_url = "";
var task_record = "";
var task_table="";
</g:evaluate>
</j:if>
<j:if test="${isPreview == true}">
<g:evaluate var="jvar_hidepreview">
if ('${sysparm_isSurveyCreator}' == 'yes') {
value = 'no';
} else {
var metricGR = new GlideRecord("asmt_metric_type");
metricGR.addQuery('sys_id', '${jvar_assessable_type}');
metricGR.query();
if (metricGR.next())
metricGR.deleteRecord();
value = "yes";
}
</g:evaluate>
<j:if test="${jvar_isComingFromSurveyCreator != 'yes'}">
<g:evaluate>
var msg = gs.getMessage('This preview instance has not been saved.');
gs.addErrorMessage(msg);
</g:evaluate>
</j:if>
</j:if>
<g:ui_form>
<input type="hidden" id="type_sysID" name="type_sysID" value="${jvar_assessable_type}" />
<input type="hidden" id="instance_sysID" name="instance_sysID" value="${jvar_assessable_sysid}" />
<input type="hidden" id="selection_result" name="selection_result" value="" />
<input type="hidden" id="hiddenQuestions" name="hiddenQuestions" value="" />
<input type="hidden" id="attachmentQuestions" name="attachmentQuestions" value="" />
<input name="sys_target" id="sys_target" type="HIDDEN" value="asmt_assessment_instance" />
<input name="sys_uniqueValue" id="sys_uniqueValue" type="HIDDEN" value="${jvar_assessable_sysid}" />
<j:if test="${jvar_hidepreview == 'no'}">
<div class="assessment">
<table class="wrap">
<tbody>
<g2:evaluate var="jvar_type" expression="var typeGR='';
var instanceGR = new GlideRecord('asmt_assessment_instance');
instanceGR.addQuery('sys_id', '${jvar_assessable_sysid}');
instanceGR.query();
if (instanceGR.next()) {
typeGR = new GlideRecord('asmt_metric_type');
typeGR.addQuery('sys_id', instanceGR.metric_type);
typeGR.query();
} " />
<j2:if test="$[typeof typeGR == 'object']">
<j2:if test="$[typeGR.next()]">
<!--<div style="background-color: #767676;margin-top: 2px;font-weight: bold;padding: 2px 6px 2px 6px;color: #ffffff;"> -->
<!-- <img src="images/context.gifx"></img> -->
<!-- $[typeGR.name] -->
<!-- </div> -->
<!-- end_note may contain HTML formatting -->
<g2:no_escape>$[NS:typeGR.introduction]</g2:no_escape>
<div align="center" style="width:100%; border:1px solder red;">
<div align="left" style="font-weight: bold;padding-bottom:5px; margin-bottom:0px;">Ticket Details: </div>
<div align="left" style="font-weight: bold;padding-bottom:5px; margin-bottom:0px;"> $[instanceGR.trigger_id.getDisplayValue()] </div>
<div align="left" style="font-weight: bold;padding-bottom:5px; margin-bottom:0px;"> Short Description: $[instanceGR.trigger_id.short_description] </div>
<div align="left" style="font-weight: bold;padding-bottom:5px; margin-bottom:0px;"> Assigned To: $[instanceGR.trigger_id.assigned_to.getDisplayValue()] </div>
<!-- <div align="left">
<g2:evaluate var="jvar_record" expression="var recordGR='';
gs.log(instanceGR.trigger_table + ' ' + instanceGR.trigger_id + ' This is coming from the page directly');
var recordGR = new GlideRecord(instanceGR.trigger_table);
recordGR.addQuery('sys_id', instanceGR.trigger_id);
recordGR.query();
" />
<j2:if test="$[typeof recordGR == 'object']">
<j2:if test="recordGR.next()">
<div style="margin-bottom:0px;"><b>Incident number:</b>
$[recordGR.number]
</div>
<div style="margin-bottom:0px;"><b>Description:</b>
$[recordGR.short_description]
</div>
</j2:if>
</j2:if>
</div> -->
</div>
</j2:if>
</j2:if>
<g2:com.snc.assessment_core_take assessment="${jvar_assessable_sysid}" />
</tbody>
</table>
</div>
<div class="assessmentButtonRow">
<j:if test="${jvar_assessable_sysid != 'completed'}">
<j:if test="${isPreview != true}">
<j:if test="${jvar_isReaderView != 'true'}">
<button class="btn btn-primary" type="submit" onClick="return submitAssessment();" id="submit" name="submit">${gs.getMessage('Submit')}
</button>
<!--<button class="btn btn-default" type="submit" onClick="return saveAssessment();" id="save" name="save">${gs.getMessage('Save')}
</button> -->
<button class="btn btn-default" type="submit" onClick="return cancelAssessment();" id="cancel" name="cancel">${gs.getMessage('Cancel')}
</button>
</j:if>
</j:if>
</j:if>
<j:if test="${isPreview == true}">
<j:if test="${hideClose != true}">
<button class="button listactions" type="submit" onClick="return closeAssessment();" id="close" name="close">${gs.getMessage('Close')}
</button>
</j:if>
</j:if>
</div>
</j:if>
</g:ui_form>
<j2:if test="${gs.getProperty('com.snc.assessment.signature_authentication')=='false'}">
<j2:set var='jvar_signature_authentication' value='false' />
</j2:if>
<j2:if test="${gs.getProperty('com.snc.assessment.signature_authentication')=='true'}">
<j2:set var='jvar_signature_authentication' value='true' />
</j2:if>
<g:ui_form>
<div id='overlay'>
<div id="Authentication">
<g:ui_form>
<input type="hidden" name="jvar_signature_authentication" id="jvar_signature_authentication" value="$[jvar_signature_authentication]" />
<input type="hidden" id="approve_edit" name="approve_edit" value="false" />
<input type="hidden" id="approved" name="approved" value="false" />
<input type="hidden" id="sysapproval_id" name="sysapproval_id" value="${sysparm_approval_id}" />
<table id="authenticate_table">
<tr style="vertical-align: top;">
<td colspan="2">
<table id="authentication_header" style="width:100%; font-weight:bold; background-color:#eee;">
<tbody>
<tr>
<td style="vertical-align: middle; width:100%;">
Signature Authentication
</td>
<td style="text-align: right;">
<span>
<img id="popup_close_image" height="12" onclick="cancel()" style="vertical-align: top; cursor: pointer;" width="12" src="images/x.gifx" class="" />
</span>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>${gs.getMessage('User name:')}</td>
<td>
<input type="text" name="userName" id="userName" readonly='true' />
</td>
</tr>
<tr>
<td>${gs.getMessage('Password')}:</td>
<td>
<input type="password" name="user_password" id="user_password" />
</td>
</tr>
<tr id="invalid_login_img" style="display:none">
<td colspan="2">
<table>
<tr>
<td>
<img src="./images/error.gifx" />
</td>
<td width="100%">
<SPAN id="invalid_login_text" style="font-weight:bold;">
${gs.getMessage('Password invalid')}
</SPAN>
</td>
</tr>
</table>
</td>
</tr>
<tr id="dialog_buttons">
<td colspan="2" align="center">
<button type="submit" onClick="checkLogin();return false;" id="ok" name="ok">${gs.getMessage('Ok')}</button>$[SP]
<button type="submit" onClick="cancel();return false;" id="quit" name="quit">${gs.getMessage('Cancel')}</button>
</td>
</tr>
</table>
</g:ui_form>
</div>
<!-- overlay -->
</div>
</g:ui_form>
<!-- emit g_user support -->
<g2:client_script type="user" />
</j:jelly>
I had made the modifications from Line 314 to 318