|
| 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