- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-16-2024 12:22 PM
Hi ,
I need to Modify out of the box UI action (create_story). Need to copy attachments from demand to story while creating story from demand. Below is the existing code.
function openFormDialog(){
var sysId;
if (typeof rowSysId == 'undefined')
sysId = gel('sys_uniqueValue').value;
else
sysId = rowSysId;
var gModalForm = new GlideModalForm(getMessage('Create Story'), 'rm_story');
gModalForm.setPreference('sysparm_view', 'scrum');
gModalForm.setPreference('sysparm_query', 'short_description=' + g_form.getValue('short_description') +
'^description=' + g_form.getValue('description') +
'^assigned_to=' + g_form.getValue('assigned_to') +
'^cmdb_ci=' + g_form.getValue("cmdb_ci") +
'^classification=Defect' +
'^type=Development' +
'^defect=' + sysId);
gModalForm.render();
gModalForm.setCompletionCallback(function(actionVerb, storySysId){
var ga = new GlideAjax('AgileAjaxProcessor');
ga.addParam('sysparm_name', 'updateStoryDefect');
ga.addParam('sysparm_defect_sys_id', sysId);
ga.addParam('sysparm_story_sys_id', storySysId);
ga.getXML(function() {
if (typeof GlideList2 !== 'undefined' && GlideList2.get("rm_defect.rm_story.defect")) {
GlideList2.get("rm_defect.rm_story.defect").refresh();
}
});
});
}
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-18-2024 09:21 AM
Ops sorry..we have to write that logic in script include..for the same function..also put some logs for debugging purpose ..
So in function copyAtt() put alert for parameters then-> use GlideAjax and in script include put some logs there and let me know where is the exact issue
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-18-2024 04:04 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-18-2024 05:13 AM
Thanks a lot @Mani A . l;et me try and get back to you
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-18-2024 09:03 AM
HI @Mani A
As suggested above i have tried below code but attachments are not attaching to rm_story record from defect
function openFormDialog() {
var sysId;
if (typeof rowSysId == 'undefined')
sysId = gel('sys_uniqueValue').value;
else
sysId = rowSysId;
var gModalForm = new GlideModalForm(getMessage('Create Story'), 'rm_story');
gModalForm.setPreference('sysparm_view', 'scrum');
gModalForm.setPreference('sysparm_query', 'short_description=' + g_form.getValue('short_description') +
'^description=' + g_form.getValue('description') +
'^assigned_to=' + g_form.getValue('assigned_to') +
'^cmdb_ci=' + g_form.getValue("cmdb_ci") +
'^classification=Defect' +
'^type=Development' +
'^defect=' + sysId);
gModalForm.render();
gModalForm.setCompletionCallback(function(actionVerb, storySysId) {
var ga = new GlideAjax('AgileAjaxProcessor');
ga.addParam('sysparm_name', 'updateStoryDefect');
ga.addParam('sysparm_defect_sys_id', sysId);
ga.addParam('sysparm_story_sys_id', storySysId);
ga.getXML(function() {
if (typeof GlideList2 !== 'undefined' && GlideList2.get("rm_defect.rm_story.defect")) {
GlideList2.get("rm_defect.rm_story.defect").refresh();
copyAtt(sysId, storySysId);
}
});
});
}
function copyAtt(sysId, storySysId) {
var grStory = new GlideRecord('rm_story');
if (grStory.get(storySysId))
{
var grAtt = new GlideRecord('sys_attachment');
grAtt.addQuery('table_sys_id', sysId);
grAtt.addQuery('table_name', 'rm_defect');
grAtt.query();
while (grAtt.next()) {
var attachment = new GlideSysAttachment();
var copiedAttachments = attachment.copy('rm_defect', sysId, 'rm_story', grStory.sys_id);
}
}
}
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-18-2024 09:21 AM
Ops sorry..we have to write that logic in script include..for the same function..also put some logs for debugging purpose ..
So in function copyAtt() put alert for parameters then-> use GlideAjax and in script include put some logs there and let me know where is the exact issue
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
09-18-2024 10:17 AM - edited 09-18-2024 10:18 AM
Put alerts in ui action not logs as it's client side logic