importPackage(Packages.de.elo.ix.client); //@include lib_Class.js //@include lib_sol.common.SordUtils.js //@include lib_sol.common.AclUtils.js //@include lib_sol.common.AsyncUtils.js //@include lib_sol.common.Map.js //@include lib_sol.common.ix.DynAdHocFlowUtils.js //@include lib_sol.common.ix.FunctionBase.js var logger = sol.create("sol.Logger", { scope: "sol.common.ix.functions.BackToPreviousUser" }); /** * Send a dynamic ad-hocc workflow back to the previous user * * @author MW, ELO Digital Office GmbH * @version 1.2 * * @eloix * * @requires sol.common.WfUtils * @requires sol.common.WfMap * @requires sol.common.MapTable * @requires sol.common.ix.FunctionBase * @requires sol.common.ix.DynAdHocFlowUtils * */ sol.define("sol.common.ix.functions.BackToPreviousUser", { extend: "sol.common.ix.FunctionBase", requiredConfig: ["wfDiagram"], /** * @cfg {de.elo.ix.client.WFDiagram} wfDiagram (required) * The WFDiagram to which the changes should me applied to */ initialize: function (config) { var me = this; me.params = config; me.$super("sol.common.ix.FunctionBase", "initialize", [config]); }, /** * Send a dynamic ad-hocc workflow back to the previous user * @return {Boolean} */ process: function () { var me = this, config; config = { currentUserKey: me.currentUserKey, previousUserKey: me.previousUserKey }; sol.common.ix.DynAdHocFlowUtils.backToPreviousUser(me.wfDiagram.id, me.wfDiagram.objId, config); return true; } }); /** * @member sol.common.ix.functions.BackToPreviousUser * @static * @inheritdoc sol.common.ix.FunctionBase#onExitNode */ function onExitNode(clInfo, userId, wfDiagram, nodeId) { logger.enter("onExitNode_BackToPreviousUser", { flowId: wfDiagram.id, nodeId: nodeId }); var params, module; params = sol.common.WfUtils.parseAndCheckParams(wfDiagram, nodeId); params.wfDiagram = wfDiagram; module = sol.create("sol.common.ix.functions.BackToPreviousUser", params); module.process(); logger.exit("onExitNode_BackToPreviousUser"); }