//@include lib_Class.js /** * Utility functions for contract handling. * * @author PZ, ELO Digital Office GmbH * @version 1.0 * * @eloix * * @requires sol.common.Config * @requires sol.common.RepoUtils */ sol.define("sol.contract.ix.ContractUtils", { singleton: true, /** * Starts the workflow defined in the configuration: `contract.requestWorkflows.closeContract.workflowTemplateName` * @param {String} objId The objId on which the workflow should be started * @param {String} wfName The Name of the new workflow * @return {String} The flowId of the new workflow */ startCloseContractWorkflow: function (objId, wfName) { var me = this; me.loadConfig(); return ixConnect.ix().startWorkFlow(me.config.contract.requestWorkflows.closeContract.workflowTemplateName, wfName, objId); }, /** * Starts the workflow defined in the configuration: `contract.requestWorkflows.opencontract.workflowTemplateName` * @param {String} objId The objId on which the workflow should be started * @param {String} wfName The Name of the new workflow * @return {String} The flowId of the new workflow */ startOpenContractWorkflow: function (objId, wfName) { var me = this; me.loadConfig(); return ixConnect.ix().startWorkFlow(me.config.contract.requestWorkflows.openContract.workflowTemplateName, wfName, objId); }, /** * Starts the workflow defined in the configuration: `contract.requestWorkflows.deleteContract.workflowTemplateName` * @param {String} objId The objId on which the workflow should be started * @param {String} wfName The Name of the new workflow * @return {String} The flowId of the new workflow */ startDeleteContractWorkflow: function (objId, wfName) { var me = this; me.loadConfig(); return ixConnect.ix().startWorkFlow(me.config.contract.requestWorkflows.deleteContract.workflowTemplateName, wfName, objId); }, /** * Loads the configuration from the JSON contract: `/Administration/Business Solutions/contract/Configuration/contract.config` * @return {Object} */ loadConfig: function () { var me = this; me.config = sol.create("sol.common.Config", { compose: "/contract/Configuration/contract.config" }).config; return me.config; } });