Name
global.PlannedTaskDBApiExtentionConsumer
Description
No description available
Script
var PlannedTaskDBApiExtentionConsumer = Class.create();
PlannedTaskDBApiExtentionConsumer.prototype = {
initialize: function(baseTable, workflow) {
this.instance = this.getExtentionPoint(baseTable);
this.workflow = workflow;
},
getExtentionPoint: function(baseTable) {
var dbApiExt = new PTGlobalAPI().getPlannedTaskExtentions("PlannedTaskDBApiExtentions");
for(var i = 0; i < dbApiExt.length; i++){
var shouldExecute = dbApiExt[i].shouldExecute(baseTable);
if(shouldExecute)
return dbApiExt[i];
}
return null;
},
insert: function(table, task, columns, run_calc_brs) {
if (this.instance)
return this.instance.insert(table, task, columns, run_calc_brs, this.workflow);
else
return this._insert(table, task, columns, run_calc_brs);
},
update: function(table, task, columns, run_calc_brs) {
if (this.instance)
return this.instance.update(table, task, columns, run_calc_brs, this.workflow);
else
return this._update(table, task, columns, run_calc_brs);
},
deleteMultipleRecords: function(table,encodedQuery, run_calc_brs) {
if(this.instance)
return this.instance.deleteMultipleRecords(table,encodedQuery, run_calc_brs, this.workflow);
else
return this._deleteMultipleRecords(table,encodedQuery, run_calc_brs);
},
saveRelation: function(table, relation, run_calc_brs) {
if(this.instance)
return this.instance.saveRelation(table, relation, run_calc_brs, this.workflow);
else
return this._saveRelation(table, relation, run_calc_brs);
},
deleteRecord: function(table,id) {
if(this.instance)
return this.instance.deteRecord(table,id);
else
return this._deleteRecord(table,id);
},
_deleteRecord: function(table,id){
var gr = new GlideRecord(table);
gr.get(id);
gr.deleteRecord();
},
_deleteMultipleRecords: function(table,encodedQuery,run_calc_brs) {
if (this.workflow && !run_calc_brs){
var grD = new GlideRecord(table);
grD.addEncodedQuery(encodedQuery);
grD.setValue("run_calc_brs", run_calc_brs);
grD.setWorkflow(false);
grD.updateMultiple();
}
var gr = new GlideRecord(table);
gr.addEncodedQuery(encodedQuery);
if(!this.workflow)
gr.setWorkflow(false);
gr.deleteMultiple();
},
_insert: function(table, task, columns, run_calc_brs) {
var gr = new GlideRecord(table);
gr.get(task.id);
if (!gr.isValidRecord()) {
gr.setValue("parent", task.parent);
new global.PTGlobalAPI().buildGlideRecord(gr, task, columns);
if(!this.workflow)
gr.setWorkflow(false);
else
gr.setValue("run_calc_brs", run_calc_brs);
return this._getResponse(gr.insert(), gr);
} else {
return this._update(table, task, columns, run_calc_brs);
}
},
_update:function(table, task, columns, run_calc_brs) {
var gr = new GlideRecord(table);
gr.get(task.id);
gr.setValue("parent", task.parent);
new global.PTGlobalAPI().buildGlideRecord(gr, task, columns);
if(!this.workflow)
gr.setWorkflow(false);
else
gr.setValue("run_calc_brs", run_calc_brs);
return this._getResponse(gr.update(), gr);
},
_saveRelation: function(table, relation, run_calc_brs) {
var relationGr = new GlideRecord(table);
relationGr.get(relation.id);
new global.PTGlobalAPI().buildPlannedTaskRelationGR(relationGr, relation);
if(!this.workflow)
relationGr.setWorkflow(false);
else
relationGr.setValue("run_calc_brs", run_calc_brs);
return relationGr.insert();
},
_getResponse: function(id, gr) {
return {
sysId: id,
message: gr.getLastErrorMessage()
};
},
type: 'PlannedTaskDBApiExtentionConsumer'
};
Sys ID
e8257b0877331010b83a28489a1061d8