Skip to content

Commit fe96e9d

Browse files
authored
Refactored code with null checks and descriptive names
Refactored code with null checks and descriptive names
1 parent 451495b commit fe96e9d

File tree

1 file changed

+63
-42
lines changed

1 file changed

+63
-42
lines changed
Lines changed: 63 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,74 @@
1-
var UpdateINCworkNotes = Class.create();
2-
UpdateINCworkNotes.prototype = Object.extendsObject(AbstractAjaxProcessor, {
1+
var UpdateCommentsworkNotes = Class.create();
2+
UpdateCommentsworkNotes.prototype = Object.extendsObject(AbstractAjaxProcessor, {
33

44
getIncLastWorknotes: function() {
5-
var id = this.getParameter('sysparm_id');
6-
// var table = 'incident';
7-
var list = new GlideRecord("sys_journal_field");
8-
list.addEncodedQuery("element_id=" + id + "^element=comments^ORelement=work_notes");
9-
10-
list.orderByDesc('sys_created_on');
11-
list.setLimit(1);
12-
list.query();
13-
list.next();
14-
return list.value.toString()
15-
},
5+
var recordId = this.getParameter('sysparm_id');
6+
// Check if the record ID is provided and is not null or undefined
7+
if (!recordId) {
8+
gs.error("UpdateINCworkNotes.getIncLastWorknotes: No record ID (sysparm_id) provided.");
9+
return '';
10+
}
1611

12+
var grJournal = new GlideRecord("sys_journal_field");
13+
grJournal.addEncodedQuery("element_id=" + recordId + "^element=comments^ORelement=work_notes");
14+
grJournal.orderByDesc('sys_created_on');
15+
grJournal.setLimit(1);
16+
grJournal.query();
17+
18+
if (grJournal.next()) {
19+
return grJournal.getValue('value');
20+
}
21+
22+
return '';
23+
},
1724

1825
updateCommentsLatest: function() {
19-
var id = this.getParameter('sysparm_id');
20-
var newcomment = this.getParameter('sysparm_newcomment');
21-
// var table = 'incident';
22-
var list = new GlideRecord("sys_journal_field");
23-
list.addEncodedQuery("element_id=" + id + "^element=comments^ORelement=work_notes");
24-
list.orderByDesc('sys_created_on');
25-
list.setLimit(1);
26-
list.query();
27-
list.next();
28-
list.value = newcomment;
29-
list.update();
30-
31-
var list1 = new GlideRecord("sys_audit");
32-
list1.addEncodedQuery("documentkey=" + id + "^fieldname=comments^ORfieldname=work_notes");
33-
list1.setLimit(1);
34-
list1.orderByDesc('sys_created_on');
35-
list1.query();
36-
if (list1.next()) {
37-
list1.newvalue = newcomment
38-
list1.oldvalue = '';
39-
list1.update();
26+
var recordId = this.getParameter('sysparm_id');
27+
var newComment = this.getParameter('sysparm_newcomment');
28+
// Validate input parameters
29+
if (!recordId || !newComment) {
30+
gs.error("UpdateINCworkNotes.updateCommentsLatest: Missing required parameters (sysparm_id or sysparm_newcomment).");
31+
return "failure: Missing parameters.";
4032
}
4133

42-
var list3 = new GlideRecord("sys_history_set");
43-
list3.addEncodedQuery("id=" + id);
44-
list3.setLimit(1);
45-
list3.query();
46-
if (list3.next()) {
47-
list3.deleteRecord();
34+
// Update the latest journal entry for the incident
35+
var grJournal = new GlideRecord("sys_journal_field");
36+
grJournal.addEncodedQuery("element_id=" + recordId + "^element=comments^ORelement=work_notes");
37+
grJournal.orderByDesc('sys_created_on');
38+
grJournal.setLimit(1);
39+
grJournal.query();
40+
41+
if (grJournal.next()) {
42+
grJournal.setValue('value', newComment);
43+
grJournal.update();
44+
} else {
45+
// Log if no journal field was found to update
46+
gs.warn("UpdateINCworkNotes.updateCommentsLatest: No latest journal entry found for record ID: " + recordId);
47+
}
48+
49+
var grAudit = new GlideRecord("sys_audit");
50+
grAudit.addEncodedQuery("documentkey=" + recordId + "^fieldname=comments^ORfieldname=work_notes");
51+
grAudit.orderByDesc('sys_created_on');
52+
grAudit.setLimit(1);
53+
grAudit.query();
54+
55+
if (grAudit.next()) {
56+
grAudit.setValue('newvalue', newComment);
57+
grAudit.setValue('oldvalue', '');
58+
grAudit.update();
59+
} else {
60+
gs.warn("UpdateINCworkNotes.updateCommentsLatest: No latest audit entry found for record ID: " + recordId);
61+
}
62+
63+
var grHistorySet = new GlideRecord("sys_history_set");
64+
grHistorySet.addQuery("id", recordId);
65+
grHistorySet.setLimit(1);
66+
grHistorySet.query();
67+
68+
if (grHistorySet.next()) {
69+
grHistorySet.deleteRecord();
4870
}
49-
window.location.reload();
5071
},
5172

52-
type: 'UpdateINCworkNotes'
73+
type: 'UpdateCommentsworkNotes'
5374
});

0 commit comments

Comments
 (0)