Name
global.CSHelper
Description
No description available
Script
var CSHelper = Class.create();
CSHelper.prototype = Object.extendsObject(AbstractAjaxProcessor, {
getCaseObj:function(){
return {
"caseNO":"",
"short_description":"",
"caseSysID":"",
"account":"",
"product":"",
"priority":"",
"contact":"",
"state":"",
"opened":"",
"accountColName":"Account",
"productColName":"Product",
"priorityColName":"Priority",
"contactColName":"Contact",
"stateColName":"State",
"openedColName":"Opened"
};
},
getSearchResponse: function(searchQuery){
var request = new SNC.SearchRequest();
var response = request.fromJSON(searchQuery).submit();
var responseJSONString = response.toJSON();
var responseJSONObj = JSON.parse(responseJSONString);
var searchQueryJsonObj = JSON.parse(searchQuery);
var caselist = [];
if(searchQueryJsonObj && searchQueryJsonObj.query && searchQueryJsonObj.query.freetext){
var isSysAdmin = gs.hasRole("admin");
var isCustomer = gs.hasRole("sn_customerservice.customer");
var isCustomerAdmin = gs.hasRole("sn_customerservice.customer_admin");
var isPartner = gs.hasRole("sn_customerservice.partner");
var isPartnerAdmin = gs.hasRole("sn_customerservice.partner_admin");
var utilsfunc = new global.CSManagementUtils();
var caseRec = new GlideRecord("sn_customerservice_case");
caseRec.addQuery("123TEXTQUERY321", searchQueryJsonObj.query.freetext);
/*if(!isCustomerAdmin && !isPartnerAdmin){
caseRec.addQuery("contact",gs.getUserID()).addOrCondition("opened_by",gs.getUserID());
}
if(isPartner || isPartnerAdmin){
var accountArr = utilsfunc.getMeAndPartners();
caseRec.addQuery("account","IN",accountArr.toString());
}else{
caseRec.addQuery("account","IN",utilsfunc.getUserAccount());
}*/
caseRec.query();
gs.info("numberof cases seen "+caseRec.getRowCount());
while (caseRec.next()) {
if(caseRec.canRead()) {
var caseObj = new CSHelper().getCaseObj();
caseObj["caseNO"] = caseRec.getValue("number");
caseObj["short_description"] = caseRec.getValue("short_description");
caseObj["caseSysID"] = caseRec.getValue("sys_id");
caseObj["account"] = caseRec.getDisplayValue("account");
caseObj["priority"] = caseRec.getDisplayValue("priority");
caseObj["product"] = caseRec.getDisplayValue("product");
caseObj["contact"] = caseRec.getDisplayValue("contact");
caseObj["state"] = caseRec.getDisplayValue("state");
caseObj["opened"] = caseRec.getDisplayValue("opened_at");
caseObj["accountColName"] = caseRec.getElement("account").getLabel();
caseObj["productColName"] = caseRec.getElement("product").getLabel();
caseObj["priorityColName"] = caseRec.getElement("priority").getLabel();
caseObj["contactColName"] = caseRec.getElement("contact").getLabel();
caseObj["stateColName"] = caseRec.getElement("state").getLabel();
caseObj["openedColName"] = caseRec.getElement("opened_at").getLabel();
caselist.push(caseObj);
}
}
if(caselist.length>0){
responseJSONObj["caseResult"] = caselist;
}
}
return JSON.stringify(responseJSONObj);
},
getTimeAgo:function(glidedatetime){
if(glidedatetime){
var timeago = new GlideTimeAgo();
return timeago.format(glidedatetime);
}
return "";
},
userHasRole:function(userID, role) {
var gsUser = gs.getUser().getUserByID(userID);
return gsUser.hasRole(role);
},
changePortalPage : function(){
gs.loadResource("com.sn_customerservice_pa", "/portal_page/sys_portal_page_3d3a3d9f6f5331003b3c498f5d3ee42f.xml");
},
setGlideIntegerDate : function(record,intDate){
//record.start_at = new GlideIntegerDate(intDate);
record.setValue("start_at",intDate);
},
runStateFlow: function(record){
var status;
try {
new global.StateFlow().processFlow(record, 'd8069501c33231005f76b2c712d3aead', 'manual');
status = 'true';
} catch (exception) {
gs.error('Exception while closing case' + exception);
status = 'false';
}
return status;
},
type: 'CSHelper'
});
Sys ID
a0a4ea14c372310087dcd02422d3aeef