Skip to content

Commit 3ea2487

Browse files
authored
Create Script Include.js
1 parent fbb1849 commit 3ea2487

File tree

1 file changed

+57
-0
lines changed

1 file changed

+57
-0
lines changed
Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
var AddtoOG = Class.create();
2+
AddtoOG.prototype = Object.extendsObject(AbstractAjaxProcessor, {
3+
addToOrderGuide: function() {
4+
var msgArrNotAdded = [];
5+
var msgArrAdded = [];
6+
var msg = '';
7+
var item = this.getParameter('sysparm_itemList').toString().split(',');
8+
var order_guide = this.getParameter('sysparm_og');
9+
var var_set = this.getParameter('sysparm_set');
10+
for (var i = 0; i < item.length; i++) {
11+
var itemName = new GlideRecord('sc_cat_item');
12+
itemName.get(item[i]); // get item name
13+
var itemBckName = itemName.name.toString().replace(/[^a-zA-Z0-9]/g, "_");
14+
// check if item is present in order guide
15+
var checkStatus = new GlideRecord('sc_cat_item_guide_items');
16+
checkStatus.addQuery('guide', order_guide); //software order guide
17+
checkStatus.addQuery('item', item[i]);
18+
checkStatus.query();
19+
if (checkStatus.next()) {
20+
msgArrNotAdded.push(itemName.name);
21+
} else {
22+
// Add variable set to all catalog items selected
23+
var set = new GlideRecord('io_set_item');
24+
var orderVar = new GlideRecord('item_option_new');
25+
set.initialize();
26+
set.variable_set = var_set;
27+
set.sc_cat_item = item[i];
28+
set.order = '200'; // set order as per your requirement
29+
set.insert();
30+
31+
// Add checkbox variable in order guide for each catalog item
32+
orderVar.initialize();
33+
orderVar.setValue('type', 7);
34+
orderVar.setValue('cat_item', order_guide);
35+
orderVar.setValue('question_text', itemName.name);
36+
orderVar.setValue('name', itemBckName);
37+
orderVar.setValue('order', 1200); // set order as per your requirement
38+
orderVar.insert();
39+
}
40+
41+
// Add rule base to order guide
42+
var ruleBase = new GlideRecord('sc_cat_item_guide_items');
43+
ruleBase.initialize();
44+
ruleBase.setValue('item', item[i]);
45+
ruleBase.setValue('guide', order_guide);
46+
ruleBase.setValue('condition', 'IO:' + orderVar.sys_id + '=true^EQ');
47+
ruleBase.insert();
48+
msgArrAdded.push(itemName.name);
49+
}
50+
if (msgArrNotAdded.length > 0) {
51+
msg = "Not added item are " + msgArrNotAdded + ' Added Items are ' + msgArrAdded; // array of items which are not added
52+
} else
53+
msg = 'Added Items are ' + msgArrAdded; // array of added items
54+
return msg;
55+
},
56+
type: 'AddtoOG'
57+
});

0 commit comments

Comments
 (0)