- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-14-2025 08:13 AM
I want to have report knowledge gap button on incident , where a pop up to be displayed with short description populated in that and , when i submit the knowledge gap , feedback task to get created
here is my code , please help
function reportKnowledgeClient() {
var shortDescription = g_form.getValue("short_description");
var modalHTML =
'<div>' +
'<h3>Report Knowledge Gap</h3><br>' +
'<label><b>Topic</b></label><br>' +
'<input id="feedback_topic" class="form-control" type="text" style="width:100%; padding:4px;" value="' + shortDescription + '"/><br><br>' +
'<label><b>Description</b></label><br>' +
'<textarea id="feedback_description" style="width:100%; padding:4px;" rows="5"></textarea><br><br>' +
'<button class="btn btn-primary" id="feedback_submit">Submit</button> ' +
'<button class="btn btn-secondary" id="feedback_cancel">Cancel</button>' +
'</div>';
var modal = new GlideModal("Report Knowledge Gap");
modal.setSize("default");
modal.renderWithContent(modalHTML, function() {
// Handle Submit
document.getElementById("feedback_submit").addEventListener("click", function () {
alert("clicked");
var topic = document.getElementById("feedback_topic").value;
var description = document.getElementById("feedback_description").value;
var ga = new GlideAjax("IncidentUtils2");
ga.addParam("sysparm_name", "getKnowledgeGapMapping");
ga.addParam("sysparm_incident", g_form.getUniqueValue());
ga.addParam("sysparm_topic", topic);
ga.addParam("sysparm_description", description);
ga.getXMLAnswer(function(response) {
// Show the response (the answer returned from server)
alert("Server says: " + response);
modal.destroy(); // close modal
});
});
// Handle Cancel
document.getElementById("feedback_cancel").addEventListener("click", function () {
modal.destroy();
});
});
}
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
a week ago - last edited Wednesday
Hi @Badrinarayan , @Rajeevreddy
Try unchecking List V2 compatible and List V3 Compatible
and Check client check box and onClick to reportKnowledgeClient()
and update the client script to,
function reportKnowledgeClient() {
var sysID = g_form.getUniqueValue();
var parentShortDesc = g_form.getValue('short_description');
var dialog = new GlideModalForm("Report a Knowledge Gap", "kb_feedback_task");
dialog.setPreference('sys_id', '-1');
dialog.setPreference('sysparm_view', 'create');
// Include parent AND short_description in query
dialog.setPreference(
'sysparm_query',
'parent=' + sysID + '^short_description=' + parentShortDesc
);
dialog.setPreference("sysparm_titleless", "true");
dialog.setPreference("sysparm_view_forced", "true");
dialog.setPreference("sysparm_clear_stack", "true");
dialog.setOnloadCallback(function (dlg) {
var frameWin = dlg.getFrameWindow();
if (!frameWin || !frameWin.g_form) return;
var kb_form = frameWin.g_form;
kb_form.setLabelOf('short_description', 'Topic');
kb_form.setValue('short_description', parentShortDesc);
kb_form.setMandatory('short_description', true);
kb_form.setMandatory('description', true);
kb_form.setReadOnly('assignment_group', true);
});
dialog.setCompletionCallback(function (action, newSysId, table, displayValue) {
var link = '<a href="/kb_feedback_task.do?sys_id=' + newSysId + '">' + displayValue + '</a>';
g_form.addInfoMessage("Successfully created Knowledge Feedback Task: " + link);
if (g_form.getControl("knowledge")) {
g_form.setValue("knowledge", true);
g_form.setReadOnly("knowledge", true);
}
var listID = g_form.getTableName() + '.kb_feedback_task.parent';
if (typeof GlideList2 !== "undefined" && GlideList2.get(listID)) {
GlideList2.get(listID).refresh();
}
});
dialog.setSize(600,600);
dialog.render();
}
You will get a pop-up in native UI,
Thanks,
Rohan
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
06-17-2025 02:56 PM
Hi Badri ,
Any update on this we are also exploring the option to implement on incident any help
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
a week ago - last edited Wednesday
Hi @Badrinarayan , @Rajeevreddy
Try unchecking List V2 compatible and List V3 Compatible
and Check client check box and onClick to reportKnowledgeClient()
and update the client script to,
function reportKnowledgeClient() {
var sysID = g_form.getUniqueValue();
var parentShortDesc = g_form.getValue('short_description');
var dialog = new GlideModalForm("Report a Knowledge Gap", "kb_feedback_task");
dialog.setPreference('sys_id', '-1');
dialog.setPreference('sysparm_view', 'create');
// Include parent AND short_description in query
dialog.setPreference(
'sysparm_query',
'parent=' + sysID + '^short_description=' + parentShortDesc
);
dialog.setPreference("sysparm_titleless", "true");
dialog.setPreference("sysparm_view_forced", "true");
dialog.setPreference("sysparm_clear_stack", "true");
dialog.setOnloadCallback(function (dlg) {
var frameWin = dlg.getFrameWindow();
if (!frameWin || !frameWin.g_form) return;
var kb_form = frameWin.g_form;
kb_form.setLabelOf('short_description', 'Topic');
kb_form.setValue('short_description', parentShortDesc);
kb_form.setMandatory('short_description', true);
kb_form.setMandatory('description', true);
kb_form.setReadOnly('assignment_group', true);
});
dialog.setCompletionCallback(function (action, newSysId, table, displayValue) {
var link = '<a href="/kb_feedback_task.do?sys_id=' + newSysId + '">' + displayValue + '</a>';
g_form.addInfoMessage("Successfully created Knowledge Feedback Task: " + link);
if (g_form.getControl("knowledge")) {
g_form.setValue("knowledge", true);
g_form.setReadOnly("knowledge", true);
}
var listID = g_form.getTableName() + '.kb_feedback_task.parent';
if (typeof GlideList2 !== "undefined" && GlideList2.get(listID)) {
GlideList2.get(listID).refresh();
}
});
dialog.setSize(600,600);
dialog.render();
}
You will get a pop-up in native UI,
Thanks,
Rohan