- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
02-26-2019 08:29 AM
We're using the CAB Workbench and sending out Meeting Notes after the meeting is complete. We've received a request to update the content of the Meeting Notes to include some additional information. I've checked and am not able to find where the data is written to the Meeting Notes. Can someone point me in the right direction? Thanks!
Susan Williams, Lexmark
Solved! Go to Solution.
- Labels:
-
Change Management
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-09-2020 08:41 AM
So they changed where it is, to now be "CABAgendaItemSNC, and the function is now "addDecisionToMeetingNotes," in that script include.
Here is what mine is, now that I have it working again:
var CABAgendaItem = Class.create();
CABAgendaItem.TASK_FIELDS_FOR_ATTENDEES = ["assigned_to", "cab_delegate"];
CABAgendaItem.prototype = Object.extendsObject(sn_change_cab.CABAgendaItemSNC, {
// Added from here
addDecisionToMeetingNotes: function() {
var decision = this._gr.state +"" === CAB.AGENDA_STATE.NO_DECISION ?
this._gr.getDisplayValue("state") : this._gr.getDisplayValue("decision");
var message = "<p>" +
gs.getMessage("(CAB Automation) - {0} - Start Time: {1} - {2} - Risk: {3} - {4} - {5} - {6} - {7} - {8}", [this._gr.task.getDisplayValue(),this._gr.task.start_date.getDisplayValue(), this._gr.task.assignment_group.getDisplayValue(), this._gr.task.risk.getDisplayValue(), this._gr.task.short_description, decision, this._gs.getUserDisplayName(),new GlideDateTime().getUserFormattedLocalTime(),this._gs.getSession().getTimeZoneName()]);+
"</p>";
var meetingGr = this._gr.cab_meeting.getRefRecord();
meetingGr.meeting_notes = meetingGr.meeting_notes.nil() ? message : meetingGr.getDisplayValue("meeting_notes") + message;
meetingGr.update();
},
// To here
type: 'CABAgendaItem'
});
// Bindings for namespaced code
CABAgendaItem.newAgendaItem = CABAgendaItemSNC.newAgendaItem;
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
03-14-2019 06:27 PM
Tony, thanks to your guidance, I think I've found where we need to make the updates.
I found a business rule "Auto Agenda Decision" which led me to a script include "CABRuntimeStateSNC" that has a updateAgendaDecisions function with the code that writes data to the meeting notes. We'll give this a try. Thanks again!
Susan Williams, Lexmark
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-21-2019 05:35 PM
Did you ever find out how to do this?
I know that the function updateAgendaDecisions in the CABRuntimeStateSNC script include is what builds it.
CABRuntimeState is another script include that extends the prior one, and we can updatethe updateAgendaDecisions function there, I"m just having difficulty finding what fields I want to pull and update.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
11-22-2019 06:26 AM
Shawn, yes.
I found a business rule "Auto Agenda Decision" which led me to a script include "CABRuntimeStateSNC" that has a updateAgendaDecisions function with the code that writes data to the meeting notes. The "SNC" script include is the OOB one that we can't edit, but there is a second script include that we can use to overwrite/extend the "SNC" script include: CABRuntimeState. Those script includes are part of the Change Management - CAB Workbench application.
Our requirement was to add a link to the CHG record, the short description, and the assignment group name. Here's what we updated in CABRuntimeState:
var CABRuntimeState = Class.create();
CABRuntimeState.get = CABRuntimeStateSNC.get;
CABRuntimeState.prototype = Object.extendsObject(CABRuntimeStateSNC, {
initialize: function() {
CABRuntimeStateSNC.prototype.initialize.apply(this, arguments);
},
updateAgendaDecisions: function(agr, prevGr) {
var decision = '';
if(agr.state == CAB.AGENDA_STATE.NO_DECISION) {
decision = agr.state.getDisplayValue();
}else if((agr.decision != prevGr.decision) && (agr.decision == CAB.AGENDA_DECISION.APPROVED || agr.decision == CAB.AGENDA_DECISION.REJECTED)) {
decision = agr.decision.getDisplayValue();
}else
return;
var session = gs.getSession();
var dt = new GlideTime();
var linkToChangeRequest = "<a href='change_request.do?sys_id=" + agr.task + "' target='_blank'>" + agr.task.getDisplayValue() + "</a>";
var str = gs.getMessage("(CAB Automation) - {0} - {1} - {2} - {3} - {4} - {5} - {6}", [linkToChangeRequest, agr.task.short_description, agr.task.assignment_group.getDisplayValue(), decision, gs.getUserDisplayName(), dt.getDisplayValue(), session.getTimeZoneName()]);
var autoText = "<p>" + str + "</p>";
this._gr.agenda_decisions_buffer = this._gr.agenda_decisions_buffer + "" + autoText;
this._gr.update();
},
type: 'CABRuntimeState'
});
Susan Williams, Lexmark
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-07-2020 11:54 AM
Guess what?! They changed this.
I'm testing for an update from NY Patch 4, Hotfix 2, to NY Patch 7...
The script include CABRuntimeState no longer includes the function updateAgendaDecisions at all, although the secondary script include is there.
I have a ticket open with HI, but I can't find where that function has been moved to, and the cab notes go back to their base behavior.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-07-2020 02:04 PM
Shawn, thanks for the heads-up. We'll be upgrading our Dev instance to NY Patch 7 on Monday, April 13. Would be nice to have a workaround ready for this. Please let me know what you hear back from HI. Thanks again!
Susan Williams, Lexmark